【发布时间】:2018-07-02 11:21:19
【问题描述】:
我在使用 setEncryption 函数的 DomPDF 和 base64_encode 方面遇到问题。
这是我的代码示例。
// Render the HTML as PDF
$dompdf->render();
//Encode title into base64 and add it to PDF Meta
$title_64 = base64_encode( $title );
$dompdf->getCanvas()->get_cpdf()->addInfo( 'Subject' , $title_64 );
//Locking pdf to allow printing only
$dompdf->getCanvas()->get_cpdf()->setEncryption( '' , '' , array( 'print' ) );
// Output the generated PDF to Browser
$dompdf->stream( $post->post_name . ".pdf" , array( "Attachment" => TRUE ) );
下载 PDF 后,几乎所有元数据都丢失了。
一旦我删除了包装$title 元数据的base64_encode 函数,它就回来了。
如果我保留base64_encode 但我删除了
$dompdf->getCanvas()->get_cpdf()->setEncryption( '' , '' , array( 'print' ) );
似乎一切正常,但我可以修改我不想要的 PDF。
作为我的最终结果,我应该只能打印我现在拥有的 PDF + 所有元数据
base64_encoded
有人遇到过类似的问题吗?
【问题讨论】:
-
为什么元数据应该是base-64编码的?这没有任何意义......
-
这是一个客户请求,必须这样做。
-
你能分享一个示例输出“与”“缺失”数据吗?
标签: php wordpress pdf pdf-generation dompdf