Ghostscript打印PDF dPDFFitPage不正确的大小

时间:2012-06-26 09:45:36

标签: printing ghostscript

使用GhostScript(V9.05)打印不同尺寸的PDF时出现问题。

有问题的PDF是A3版本,但是当使用以下命令行参数使用ghost脚本打印时,结果将以A4纵向打印并切断一半内容。

Commad行参数:

“ - sDEVICE = mswinpr2 -dPDFFitPage -dPrinted = false -dNoCancel -dBATCH -dNOPAUSE -sOutputFile =”\ spool \ HP LaserJet P2050 Series PCL6(A4)“”C:\ Users \ dmeggs \ AppData \ Local \ Temp \ iPlan_Printing_k4gjaoip.pdf “”

我尝试了很多参数组合,大多数似乎都没有效果。理想情况下,我希望打印机根据PDF属性打印PDF,因为这将用于打印A4,A3,纵向和横向文档。

由于 丹

2 个答案:

答案 0 :(得分:2)

添加新答案,因为它太大而无法发表评论。

如果pswrite和epswrite的输出有效,则打印机是PostScript打印机。

Pdfwrite生成PDF文件,所以大概你不想这样做,因为输入是一个PDF文件:-)有些PostScript打印机实际上也可以打印PDF文件,但这是比较不寻常的。

我建议您使用ps2write(它将产生PostScript语言级别2作为输出)而不是使用psweite(或epswrite),并将生成的文件发送到打印机。

在理想的世界中,您的打印机将根据PostScript程序中的媒体请求进行媒体选择),但并非所有打印机都会对此进行管理。部分原因是打印机并不总是知道哪个介质在哪个托盘中,如果有多个介质可用。

但是,您可以编写相当简单的PostScript代码,您可以将其添加到文件中,以便您确定所请求的页面大小。假设您知道如何控制打印机中的托盘/介质选择,您可以让PostScritp程序为您执行此操作。

不幸的是,我无法详细介绍如何执行此操作,因为它在很大程度上取决于特定的打印机。

答案 1 :(得分:1)

我认为打印机是A4打印机?为了让GS正确缩放页面,您需要告诉它页面大小是多少。它无法从打印机名称中分辨出来。尝试设置-sPAPERSIZE = a4 -dFIXEDMEDIA

将媒体设置为A4,告诉GS无法更改,-dPDFFITPAGE开关将通过缩放将PDF媒体请求适合声明的媒体。

如果这不起作用,那么我需要查看您的PDF文件。