【发布时间】:2015-07-19 19:39:17
【问题描述】:
我目前正在使用 Ghostscript 将 500 页 PDF 文件转换为 PostScript。
我使用的是 Windows 7、Ghostscript x64 v 9.16 和 Kodak Digimaster Commercial Printer。
我对 GhostScript 使用以下参数将 PDF 转换为 PS:
C:\Program Files\gs\gs9.16\bin\gswin64c.exe"
-dCompressFonts=true
-dSubsetFonts=true
-dEmbedAllFonts=true
-sFONTPATH=C:\Windows\Fonts\
-dNOPAUSE
-dBATCH
-sDEVICE=ps2write
-sOutputFile="PostScript.ps"
"MyPdf.pdf"
然后我添加%KDK(专有)命令,通过使用基于打印机文档的%KDKSlip 命令来规定哪些页面需要在哪些纸张上打印。
以下示例将以 Letter 双面打印所有页面,但第 1/2 和 5/6 页除外。第 1/2 页将打印在名为“YellowPerf”的纸张上,而 5/6 页将打印在“TriPerf”上:
%!PS-Adobe-3.0
%%BoundingBox: 0 0 612 792
%%HiResBoundingBox: 0 0 612.00 792.00
%%Creator: GPL Ghostscript 916 (ps2write)
%%LanguageLevel: 2
%%CreationDate: D:20150506143059-05'00'
%%Pages: 8
%%DocumentMedia: Letter 612 792 0 white ()
%%+ YellowPerf 612 792 0 yellow ()
%%+ TriPerf 612 792 0 white ()
%KDKRequirements: duplex
%KDKSlip: YellowPerf duplex 1
%%+ TriPerf duplex 5
%%EndComments
%%BeginProlog
然后使用 Windows 命令将其发送到柯达 Digimaster 打印机:
> COPY PostScript.ps PrinterName
这适用于较小的文档,但我遇到较大的页面集问题。
当我尝试使用 500 页 PDF 到 Postscript 文件打印到 Digimaster 时,出现错误:“忙,不要重置 RIP”。
那些不起作用的文件大小:
PostScript 文件大小:52 MB
PDF 文件大小:41 MB
有效的文件大小:
PostScript 文件大小 1MB
PDF 文件大小:.8 MB
为什么这适用于较小的文件,但在较大的文件上却无法使用?
有人有什么建议吗?
【问题讨论】:
-
获取 PostScript 并通过 Ghostscript 运行它,看看会发生什么。如果可行,则 PostScript 几乎肯定是有效的。但是,我们已经看到许多不喜欢 ps2write 输出的 PostScript 打印机(这些实现在每种情况下都存在错误)。您可以尝试使用 -dFirstPage 和 -dLastPage 创建页面的子集,看看是它的特定页面还是纯粹的数量有问题。如果它的特定页面,我们也许可以对它做点什么。例如,有一个 NoT3CCITT 开关来修复特定的打印机错误。
-
嗨,Ken,我确认可以将文件发送回 PDF。我已经查看了它,它似乎与原版相同。这些页面都非常相似,所以如果打印机对某个页面有问题,我会感到震惊,因为我基本上只更改了每个 PDF 中的几个字段。您对使用 COPY 命令将 Postscript 发送到打印机有任何意见吗?我怀疑将如此大的 Postscript 文件发送到打印机时,FTP 命令可能会出现问题。
-
copy 应该可以正常工作,但您应该使用 /b 开关以二进制形式进行复制。由于 PostScript 是有效的,这可能是由于资源不足造成的,ps2write 输出可能会定义很多字体(取决于输入),这可能会耗尽打印机上的 VM。您可以尝试设置 -dSubsetFonts=false。当然你也可以问柯达 :-)
标签: pdf printing ghostscript postscript