给生成的 PDF 一个自定义标题

Dee*_*ngh 5 php pdf shell header ghostscript

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

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

Ken*_*enS 7

在我看来,您需要在 PDF 文件的文档 / 信息字典中设置标题。您可以通过发送 DOCINFO pdfmark 来做到这一点。

您可以通过谷歌搜索来获取 pdfmark 参考手册。它在 Adob​​e 网站上,但他们经常移动家具,因此引用今天的 URL 毫无意义。

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

[ /Title (My Title goes here) /DOCINFO pdfmark
Run Code Online (Sandbox Code Playgroud)

那是 PostScript,所以你需要把它作为 PostScript 提供给 Ghostscript,这意味着你需要-c-f开关。所以像:

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

你很幸运我发现了这个,因为你没有用 Ghostscript 标记它。