首页 > 解决方案 > 什么导致错误****错误:运行ghostscript时为Tz提供的0.0水平文本缩放无效,我该如何解决?

问题描述

嗨,我正在编写一个 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 时使用 fontmap 文件替换字体,看看它是否能更好地与其他字体一起使用。但这并没有帮助。

首先,我想要一些关于错误消息的信息以及它为什么抱怨。我还想要一些关于如何解决您不知道 pdf:s 格式如何的问题的建议,以及在运行 ghostscript 之前您可以做些什么来尝试解决 pdf 的任何问题。

谢谢!

标签: javapdfghostscript

解决方案


在使用 ghostscript 之前,我最终使用 PDFBox 保存了 pdf。PDFBox 能够解决 ghostscript 对 pdf 的任何问题。


推荐阅读