2

我有一个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选项,但会产生缩放的输出。

4

1 回答 1

1

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

您的输入 PDF 很可能是为非 A4 尺寸制作的。这给您留下了 3 个选择:

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

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

  3. ...或者您完全跳过该-sPAPERSIZE=...参数(它很可能会自动使用与 PDF 相同的大小,并且您的打印机可能无法处理...)


更新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输出的非字母页面大小。

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

于 2012-09-18T08:23:10.797 回答