当用户是管理员时,TCPDF仅导出.pdf

时间:2019-07-24 作者:Radovan Bezak

上下文

我使用TCPDF生成连接到的PDFadmin-post. admin post action处理函数根据查询参数从数据库检索对象,需要template.php 并捕获html输出,然后将其写入TCPDF并使用$pdf->Output(\'file.pdf\', \'D\');.

在一页上我有一个基本的<a href=...> 链接到admin-post.php?action=genPDF&objectIdentifier=xyz.

只有具有自定义功能的登录用户才能访问整个内容,只有administrator 和自定义client 角色

单击链接后出现问题administrator, PDF已下载。当我单击链接时client, 页面刚刚重新加载。

尝试解决

我放了一些error_log() 在PDF生成函数中,它确实为客户端运行。我记录了从模板捕获的html输出。它显示了正确的输出。当我使用Chrome的网络检查器时,我会看到管理帖子。php请求-响应标头建议使用TCPDF输出调用中指定的正确文件名的PDF文件附件。我试着切换;“D”;“对于”;“我”;在输出目标规范中,在浏览器中显示PDF,而不是下载PDF,结果相同-管理员获取PDF,客户端什么也得不到。

这个问题对我来说毫无意义。WP用户角色是否有任何影响这一点的方式?为管理员和客户端运行相同的代码,直到从模板和TCPDF设置响应头生成相同的HTML输出为止。

1 个回复
SO网友:Radovan Bezak

这是由于限制客户端访问wp admin的代码中出现了两个错误。

也不例外admin-post.php , 因此,在请求管理员发布后,客户端被重定向回客户端区域。因此,单击链接后会“重新加载”die() 或exit 陈述因此,管理员post处理程序能够继续运行,TCPDF能够设置一些HTTP响应头信息(内容类型:pdf),但HTTP状态302已经发送,没有下载任何文件。这让我很困惑

相关推荐

创建可搜索的PDF出版物档案

我们是一家非营利组织,每季出版约45页。希望以pdf格式创建仅限成员的过期问题存档。这将用于研究(而不是代替硬拷贝),因此我们希望能够通过word一次搜索所有或尽可能多的问题。我们有一个按类别和作者分类的文章索引,因此我们可以从那里直接链接到一个问题。估计每一个低分辨率的问题都会导致一个20兆的文件。目前约有200期。将其视为一个图书馆。如果您有任何想法、想法和建议,我们将不胜感激。