嗨,我正在写一个java应用程序,需要在保存为pdf的电气图纸上使用ghostscript。某些绘图会导致ghostscript打印出一条错误消息:
**** Error: Invalid 0.0 horizontal text scaling given for Tz我假设用于构建图形并将其另存为pdf的原始应用程序没有正确遵循规范,并创建了一些错误的pdf:s。我使用的命令是:
gswin64c -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile="output.pdf" "test.pdf"我在java应用程序中运行的命令有更多的选项,可以通过各种方式更改pdf。
我试过使用PDFBox简单地重新保存文件,希望它能在运行ghostscript之前自动修复任何问题。
我还尝试使用ghostscript通过GS设备ps2write将pdf保存为ps文件:
gswin64c -sDEVICE=ps2write -dNOPAUSE -sOutputFile="output.ps" "test.pdf"然后在ps文件上运行ghostscript命令以创建pdf:
gswin64c -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile="output.pdf" "output.ps"这将创建一个在运行ghostscript时不会输出错误的pdf。所以我可能会运行两次ghostscript来解决这个问题。但我想在这里谈谈其他人的想法,以及他们是否有更好的解决方案。
由于这个错误是关于文本缩放的,我认为这可能是由于字体的问题,所以我尝试在运行ghostscript时使用字体映射文件来替换字体,看看它是否可以更好地与其他字体一起使用。不过,这并没有什么帮助。
首先,我想要一些关于错误消息的信息,以及它为什么会抱怨。我也想要一些关于如何解决一个问题的建议,你不知道pdf:s的格式有多好,以及在运行ghostscript之前,你可以做些什么来尝试和修复pdf的任何问题。
谢谢!
发布于 2021-08-05 07:33:52
在使用ghostscript之前,我最终使用了PDFBox来保存pdf。PDFBox能够修复ghostscript在pdf中出现的任何问题。
https://stackoverflow.com/questions/68193053
复制相似问题