5

我正在使用 Ghostscript 通过命令行参数打印 PDF。但它在打印机假脱机程序中将打印文档的名称显示为 Ghostscript 输出。我想将其更改为自定义名称(作为字母的名称)。

4

4 回答 4

3

请参阅http://www.ghostscript.com/doc/9.06/Devices.htm#Win中的文档

特别是第 10.2 节中有一个示例,其中解释了可以在第 10.3 节中指定的参数。只需更改文档名称即可:

mark /UserSettings <</DocumentName (MyDocName)>> (mswinpr2) finddevice putdeviceprops setdevice

这可以像示例中那样放入文件中,也可以放在选项后面的命令行上的字符串中。-c如果您使用 -c 而不是将上述 PostScript 放入安装文件中,请将其作为之前的最后一个选项-f和输入文件名放入。

注意:您不应该-sDEVICE=mswinpr2命令行上指定- setdevice会处理这个问题。我在笔记本电脑上使用命令行对此进行了测试:

gswin32c \
  -dNOPAUSE -dBATCH \
  -c "mark /UserSettings <</DocumentName (MyDocName)>> (mswinpr2) finddevice putdeviceprops setdevice" \
  -f examples/colorcir.ps
于 2012-09-10T16:19:01.197 回答
3

如果sPAPERSIZE忽略该开关,也许可以通过使用适当的开关来强制页面大小。

如何使用 Ghostscript手册 在 选择纸张大小部分中说:

Otherwise you can set the page size using the pair of switches

    -dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h 

Where w be the desired paper width and h be the desired paper height in points (units of 1/72 of an inch).

附录:Ghostscript 已知的纸张尺寸部分 ,A4 尺寸定义为 w=595 和 h=842。

enter image description here

于 2020-04-07T10:47:56.463 回答
2

为此,您必须使用以下链接setup.ps中的文件:6.2 支持的选项(设备属性)

于 2012-11-08T04:30:08.517 回答
1

这为该问题提供了部分解决方案,这对于您的需求可能是可以接受的。

控制输出大小的选项是(markdown 插入空格,但应该没有):

  1. -dDEVICEWIDTHPOINTS=w, -dDEVICEHEIGHTPOINTS=h (w,h=595,842 / 612,792 分别用于 A4 / letter), Ref .

  2. -sPAPERSIZE=size参考

  3. -gnumber1xnumber2 (number1,number2=5953,8419 / 6120,7920 分别用于 A4 / letter), Ref .

  4. -dDEVICEWIDTH=number1, -dDEVICEHEIGHT=number2 (number1,number2=5953,8419 / 6120,7920 分别用于 A4 / letter), Ref .

I have tested the four of them, printing a pdf file to pdf, trying to convert (letter -> A4) and (A4 -> letter). The command line I used is

gswin32c -dPDF -dBATCH -dNOPAUSE -dFIXEDMEDIA <size setting flags> -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf

A4 -> letter always worked well.
letter -> A4 only worked for the width, so output.pdf was always 210mm x 279.4mm.

Using, e.g., -dDEVICEWIDTHPOINTS alone for letter -> A4 produced the same result.

Adding flag -dPDFFitPage was also useful for partially adapting size (in cases I want to do that).

My conclusion is that there is some bug in Ghostscript specifically related to letter -> A4 conversion. Whether this could be handled via gs_setpd.ps (e.g., this; this would still be a bug), or a crafty combination of (-dUseBleedBox, -dUseTrimBox, -dUseArtBox, -dUseCropBox) I don't know.

于 2020-04-10T11:16:01.873 回答