我的问题可能是错误的树,所以我将尝试对问题进行详尽的描述。
我们有一个 Windows 服务,它接受一个 XML 文件并生成一个 PDF。然后它根据 XML 文件中的数据,使用参数将生成的 PDF 输出到 Ghostscript -sOutputFile="%printer%"
,后跟我们的一台网络打印机的名称。
我们以前使用过-sDEVICE=mswinpr2
,但是这会生成大小约为 70-80MB 的打印命令,当我们在本地网络上时,这并不是特别有用。现在我们有一个用于多个站点的中央打印服务器,考虑到这些荒谬的文件大小,这些 PDF 的打印时间已经成为天文数字。
这些文件是使用以下方法生成的:
" -sDEVICE=mswinpr2 -sPAPERSIZE=a4" _
& " -dBATCH -dNOPAUSE -dSAFER -dNoCancel" _
& " -sOutputFile=""%printer%" & [somePrinter] & """"
我一直在玩弄 Ghostscript 的设置,并认为我已经使用以下 Ghostscript 命令找到了 PNG 的答案:
" -sDEVICE=png16m -r600x600 -sPAPERSIZE=a4" _
& " -dBATCH -dNOPAUSE -dSAFER -dNoCancel -dQUIET" _
& " -sOutputFile=""%printer%" & [somePrinter] & """"
这适用于单页,单页文档仅生成大约 150kb 的数据,但在多页上,仅打印第一页。我通过输出到文件而不是打印机进行了一些测试,结果发现正在创建某种奇怪的多页 PNG,我认为打印机只是变得混乱。
实际问题:
我唯一真正的限制是我需要将 PDF 文件作为输入,然后直接输出到打印机,无需用户交互,而且文件大小很小。
有人可以向我推荐一个可以实现这一目标的 GhostScript 设置(或 GhostScript 的替代品)吗,因为我的想法已经不多了?