如何使用 GhostXPS 将书签插入到新的 PDF 文件中?

How do I insert bookmarks into a new PDF file using GhostXPS?

我想使用 GhostXPS 将 XPS 转换为 PDF。使用命令行:

"S:\GhostXPS\gxpswin32-9.18.exe" @"S:\Temp\PS\XPS\TestXPSWrite.txt" 

选项在 TestXPSWrite.txt 文件中的位置:

-sDEVICE=pdfwrite -sOutputFile="S:\Temp\PS\XPS\TestMerged.pdf" 
-dNOPAUSE -dBatch 
"S:\Temp\PS\XPS\Test1.xps" 
"S:\Temp\PS\XPS\Test2.xps" 
"S:\Temp\PS\XPS\Test3.xps" 
"S:\Temp\PS\XPS\Bookmarks.txt"

Bookmarks.txt 文件的内容:

[/Title (Summary) /Page 1 /OUT pdfmark
[/Title (TOC) /Page 2 /OUT pdfmark
[/Title (Chapter 1) /Page 3 /OUT pdfmark

除了 Bookmarks.txt 文件以外,一切正常,因为它不是 XPS 文件而失败。如果这些是使用常规 GhostScript exe 的 PostScript 文件,那么书签效果非常好。但不是 XPS。

如何使用 GhostXPS 将书签插入到新的 PDF 文件中?

坦率地说,你不能。

如您所知,目前添加此类内容的唯一方法是使用 pdfmark PostScript 运算符(这就是您的 bookmarks.txt 文件中的内容,它实际上是一个 PostScript 程序)。

但由于 GhostXPS 不理解 PostScript,因此您不能这样做。

您可以对文件进行双重处理,将新创建的 PDF 文件通过 Ghostscript 和 pdfwrite 设备传回,以获得第二个新的 PDF 文件,并在该阶段添加书签。但是双重处理可能会导致内容发生奇怪的事情。

以后可能会有解决方案。