给生成的PDF自定义标题

时间:2018-07-04 13:56:24

标签: php shell pdf header ghostscript

我已经使用命令合并了两个PDF

$cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName ";
这对我有用。但是问题是新生成的PDF的标题未按照我在header('Content-Disposition: inline; filename="Test.pdf"');中设置的标题进行设置 我希望标题为Test.pdf,但标题仍为合并PDF中最后一个PDF的标题。

1 个答案:

答案 0 :(得分:2)

对我来说,声音就像您需要在PDF文件的“文档/信息”字典中设置“标题”一样。您可以通过发送DOCINFO pdfmark来做到这一点。

您可以通过谷歌搜索找到pdfmark参考手册。它在Adobe网站上,但是他们经常移动家具,所以引用今天的URL毫无意义。

您可以找到在Acrobat 9参考书的第28页上描述的DOCINFO pdfmark(我不知道是否有更新的书),您将需要以下内容:

[ /Title (My Title goes here) /DOCINFO pdfmark

这是PostScript,因此您需要将其作为PostScript提供给Ghostscript,这意味着您需要-c-f开关。像这样:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName -c "[ /Title (My Title goes here) /DOCINFO pdfmark" -f

您很幸运,我发现了这一点,因为您没有使用Ghostscript对其进行标记。