我有一些用户生成的 PDF 文件。通常,这些文件是用 Word 生成的,但它们可能只是任何一种有效的 PDF 文件。如果他们有更高的版本号,我想将文件转换为 PDF-1.2 版。应删除仅在更高版本(如多媒体)中可用的功能,结果仍应合理且可读。
如果没有 Adobe Acrobat 等交互式工具,如何以编程方式执行此操作?最好使用 Java 和 iText -library,但我也会对其他解决方案感兴趣。
一种方法是从原始 PDF 生成一堆图像,然后将它们打包为 PDF-1.2 文件,但这是更优雅的方法吗?
最佳答案
试试下面的命令行。它使用 Ghostscript 重新提取 PDF。使用 Ghostscript 版本 8.71 或更新版本:9.00。 (上面建议 “使用 setPdfVersion() 在 iText 中设置 PDF 版本” 的错误投票答案将不起作用 - 它只会重新标记 PDF,这只会产生误导.. .)
gswin32c.exe ^
-o output-v1.2.pdf ^
-sDEVICE=pdfwrite ^
-dPDFSETTINGS=/ebook ^
-dCompatibilityLevel=1.2 ^
input-v1.6.pdf
关于java - 如何将任意 PDF 文件降级为 PDF-1.2 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4623839/