【问题标题】:How do I insert bookmarks into a new PDF file using GhostXPS?如何使用 GhostXPS 将书签插入新的 PDF 文件?
【发布时间】:2016-01-18 14:15:35
【问题描述】:

我想使用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 文件?

【问题讨论】:

    标签: pdf ghostscript xps


    【解决方案1】:

    坦率地说,你不能。

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

    但由于 GhostXPS 不理解 PostScript,所以您不能这样做。

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

    以后可能会有解决方案。

    【讨论】:

    • Ghostscript 可以做 XPS 转 PS 吗?我可能会先检查一下,然后暂时从中创建 PDF。
    • 其实试过 XPS > PS > PDF 却只是得到了垃圾输出。
    • 我在bugs.ghostscript.com/show_bug.cgi?id=696287提交了功能请求
    • 感谢您的帮助!
    • XPS->PS->PDF 应该可以工作,但我实际上是在提议 XPS->PDF->PDF。因为 PDF 解释器使用 PostScript,所以当输入为 PDF 时,您仍然可以处理 pdfmarks。因为 PDF 图形模型比(2 级)PostScript 更丰富,所以您应该得到更好的结果。如果您使用的是旧版本的 Ghostscript,您甚至不会使用 ps2write 来生成 PostScript,这会更糟。
    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多