gswin PDF到PCL转换后裁剪PCL

时间:2012-09-18 07:56:53

标签: pdf ghostscript printer-control-language

我有 PDF ,我想将其转换为 PCL

我使用以下命令将PDF转换为PCL: (gs 8.70)

    gswin32c.exe -q -dNOPAUSE -dBATCH \
       -sDEVICE=ljetplus -dDuplex=false -dTumble=false \
       -sPAPERSIZE=a4 -sOutputFile="d:\doc1.pcl" \
       -f"d:\doc1.pdf" -c -quit

当我查看或打印输出 PCL 时,会裁剪它。我希望输出从纸张的边缘开始(至少在观察者中)。

是否可以在不将纸张内容移离纸张边缘的情况下获取整个输出?

我尝试使用-dPDFFitpage选项,但会产生缩放输出。

1 个答案:

答案 0 :(得分:1)

您正在使用-sPAPERSIZE=a4。这会导致PCL渲染A4大小的媒体。

很可能,您的输入PDF是针对非A4尺寸制作的。这将为您提供3个选项:

  1. ...您也要使用PCL的确切页面大小(您的打印机可能无法处理),

  2. ...或者您必须添加-dPDFFitPage(正如您尝试过,但不喜欢),

  3. ...或者您完全跳过-sPAPERSIZE=...参数(很可能会自动使用与PDF相同的尺寸,以及您的打印机可能无法处理的...)


  4. 更新1:

    如果ljetplus不是您所请求的PCL格式变体的硬性要求,您可以尝试这样做:

    gs  -sDEVICE=pxlmono   -o pxlmono.pcl   a4-fo.pdf
    gs  -sDEVICE=pxlcolor  -o pxlcolor.pcl  a4-fo.pdf
    

    更新2:

    我现在可以确认即使是最新版本的Ghostscript(v9.06)也无法处理ljetplus输出的非Letter页面大小。

    我认为这是一个错误...但很可能它不会被修复,即使在GS bug tracker报告也是如此。但是,可以预期的最小值是它将被记录为ljetplus输出的已知限制......