将 "print to file" PRN 文件转换为 PS

Convert "print to file" PRN file to PS

我几乎花了一天时间试图了解如何将 "print to file" PRN 文件转换为 PS 或 PDF 文件。 PRN 文件是 PCL 格式,在查看 google 时我发现 GhostPCL 应该使用命令行

进行转换工作
gpcl6win64.exe -dNOPAUSE -sDEVICE=ps2write -sOutputFile="c:\output.ps" "c:\input.prn" 

不幸的是,我得到的是来自 PRN 文件的二进制数据被移动到 ps/pdf 文件而没有渲染任何有用的东西,只有垃圾符号。

知道如何将 PRN PCL 文件转换为 PS 或 PDF 吗?

我使用的是适用于 Win64 的最新版 GhostPCL 9.23。 我也attaching test files.

您指定的命令行将从 PCL 输入创建一个 PostScript 程序。我不明白你的意思:

binary data from PRN file is moved to ps/pdf file without rendering anything

该进程不会呈现任何内容,它会生成一个 PostScript 文件。请注意,您可以使用 pdfwrite 设备创建 PDF 文件。

如果您分享了输入和输出文件的示例,也许可以说更多。查看反向通道输出的完整记录也会很有帮助。如果不出意外,它将包含正在使用的 GhostPCL 版本,这将有助于了解。

[提供文件后编辑]

我不知道是什么让您相信您的文件是 PCL 文件,但事实并非如此。

'PRN' 文件根本不是 PCL 文件。它是一个 XPS 文件。

不出所料,当您通过 PCL 解释器 运行 时,它不知道如何处理它。 PCL 口译员将他们不理解的任何内容视为 'text' 并尝试将其打印出来。这就是为什么您的 PDF 内容以 'PK' 开头的原因。 XPS 文件是 zip 存档,PK 是 zip 存档的签名。

如果您改用 GhostXPS,它将正确读取文件。或者,由于这大概是在 Windows 10 上,如果您想要的话,您可以直接将其保存为 PDF 文件。