如何使用 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 文件,并在该阶段添加书签。但是双重处理可能会导致内容发生奇怪的事情。
以后可能会有解决方案。
我想使用 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 文件,并在该阶段添加书签。但是双重处理可能会导致内容发生奇怪的事情。
以后可能会有解决方案。