GhostScript,如何使用命令行设置自定义页面大小?

Posted

技术标签:

【中文标题】GhostScript,如何使用命令行设置自定义页面大小?【英文标题】:GhostScript, How to set custom page size using command line? 【发布时间】:2014-04-11 13:54:07 【问题描述】:

我知道有一个类似的问题:How to change Ghostscript output file (in printer spooler)

但答案没有帮助

我使用命令:

-q -dBATCH -dNOPAUSE -dNODISPLAY -c "mark /NoCancel true /OutputFile (%printer%Ricoh c2051) /UserSettings > (mswinpr2) finddevice putdeviceprops setdevice" -f "C:\duplex.pdf"

为文档设置自定义名称,但如果尝试使用“-sPAPERSIZE=a4”,输出纸张大小仍为“LETTER”。

那么,当我使用这些设置时,如何更改纸张类型?

----编辑

经过研究,我发现了如何设置纸张类型。

只是在提示符处添加了“/PageSize [595 842]”(a4)

然后该行变为:

-q-dBATCH-dNOPAUSE-dNODISPLAY -c "mark/NoCancel true/OutputFile(%printer%Ricoh c2051)/PageSize[595842]/UserSettings> (mswinpr2) FindDevice setdevice putdeviceprops "-f" C:\duplex.pdf "****

【问题讨论】:

【参考方案1】:

您的基本问题是,除非您设置固定的媒体大小,否则 Ghostscript 会将媒体大小设置为 PDF 文件中请求的大小(它也会为 PostScript 输入执行此操作)。设置 -dFIXEDMEDIA 以固定媒体大小。

此外,mswinpr2 设备不会尝试在打印机上设置介质大小(假设它有多个),而只是使用默认值。

【讨论】:

我设置了 -dFIXEDMEDIA 但仍然无法解决,我在命令中的哪个位置设置了值?可能我没有理解正确的解释 请参阅我的第二点,mswinpr2 设备只是使用您的打印机默认安装的任何介质尺寸,它不会尝试更改它。在使用 mswinpr2 设备时设置 -dFIXEDMEDIA 不会为您带来任何好处。

以上是关于GhostScript,如何使用命令行设置自定义页面大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Ghostscript 输出文件(在打印机后台处理程序中)

如果使用打印对话框,通过GhostScript打印命令行会以不同方式处理打印机设置

使用 ghostscript 删除页面(不提取范围)

通过 ImageMagick 或 GhostScript 命令行旋转 .EPS 文件

使用 ghostscript 将 PDF 转换为 x-3:2002 时,我应该使用哪些设置来保持颜色正确?

如何使用 ghostscript 在多页 pdf 中裁剪第 3 和第 4 页