【发布时间】:2019-08-22 15:42:17
【问题描述】:
我需要通过读取大量 PDF 并将每一页插入到新的多页 PDF 中来构建 PDF 服务器端。问题是 PDF 以 2.0 版格式提供,但我的应用程序只能读取 1.7 版。我想将版本 2 文件转换回版本 1.7 文件,以便我的应用程序可以读取它。
我正在使用 Ghostscript 9.27 版,并尝试了几个命令,但每次我都得到一个空的 PDF。示例:
/usr/local/bin/gs \
-q -dNOPROMPT \
-dBATCH \
-dDEVICEWIDTH=595 \
-dDEVICEHEIGHT=842 \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.7 \
-sFileName=pdf-version-2.pdf \
-sOutputFile=fileout.pdf
没有错误,只是一个空的 PDF。 “文件”命令确实给出了预期的输出“PDF 文档,版本 1.7”,但当文件为空白时,这并不好。非常感谢任何帮助!
【问题讨论】:
-
您将不得不提供一个示例文件。 FWIW PDF 规范的 2.0 版和 1.7 版之间没有太大区别。如果您遇到问题,那么我建议您删除 -q (queit),以防 GS 试图告诉您一些有用的信息,您也可以引用 GS 的反向通道输出。请注意,对于 PDF 输入,设置 -dDEVICEWIDTHPOINTS 和 -dDEVICEHEIGTHPOINTS 而不设置 -dFIXEDMEDCIA 不会做任何事情,因为它将被 PDF 输入文件中的 MediaBox 覆盖。
-
谢谢,Ken,我想举个例子会很方便:demo.visualid.com/_mediafiles/demo/esign/pdf-version-2.pdf
标签: pdf command-line-interface ghostscript