Ghostscript - 打印到 pdf 时剪裁页面的右侧

Posted

技术标签:

【中文标题】Ghostscript - 打印到 pdf 时剪裁页面的右侧【英文标题】:Ghostscript - clipping right hand side of page when printing to pdf 【发布时间】:2013-03-18 11:39:48 【问题描述】:

我正在尝试将 excel 2003 工作表转换为 pdf 文件。为此,我尝试了许多可用的 PDF 转换器/打印机(在 32 位 Windows XP 上),包括 cutepdf、bullzip 和 pdfcreator。他们每个人都拿走了我的文件并删除了表格的右侧。见:

https://docs.google.com/file/d/0B-z9BfHBPkLUOGVER21kNE1ROEE/edit?usp=sharing

我有另一个 pdfcreator 可以很好地完整打印页面。见:

https://docs.google.com/file/d/0B-z9BfHBPkLUU2xCRWthWFNTMk0/edit?usp=sharing

有效的版本和其他版本之间的区别(据我所知)是它似乎没有使用 Ghostscript,而其他版本则使用。因此,我的假设是 Ghostscript 是问题所在。该软件似乎使用的是 Ghostscript 9.05 版。 Bullzip 提供了使用替代版本的便利,我也尝试使用 9.07 并获得相同的结果。打印机的页面尺寸设置为 A4。

每当我选择一台错误的打印机时,Excel 的预览页面都会显示剪裁的图像,就好像我正在尝试打印的页面尺寸太小而无法容纳工作表一样。我已尝试以下方法来解决此问题:

    使用适合页面选项; 将页面大小设置为 A3。

在第一种情况下,图像缩小但仍被剪裁,在第二种情况下,图像仅显示在可打印区域的左上角但仍被剪裁。

但是在打开这些 pdf 文件时,图像大小/页面大小与第一个示例完全相同,即在 A4 大小的页面上似乎是 100% 缩放的图像。

谁能帮忙:

    确认这是一个 Ghostscript 问题; 协助确定在转化时使用了哪些页面设置; 提供任何解决方案和/或帮助进一步解决问题。

非常感谢

问候

保罗

【问题讨论】:

【参考方案1】:

根据提供的信息无法确定,但这可能不是 Ghostscript 问题。 Ghostscript 依赖于 Windows 中 PostScript 打印机驱动程序发送给它的 PostScript。这取决于描述“打印机”的 PPD 文件。很可能正在使用的那个定义了一些硬件余量,这就是导致您的问题的原因。

您可以将打印机更改为使用“文件:”端口而不是它当前使用的任何端口,这将提示您输入文件名,将其保存在方便的地方。这是一个 PostScript 文件,如果您将其发布到公开的地方,则可以推断出更多内容。

如果您能找到与打印机相关的 PPD 文件,那也很有用。

嗯,实际上看它“可能”是 GS 的图像,因为总内容没有被剪裁。不过我需要查看 PostScript 文件。

【讨论】:

感谢您的及时回复。生成的 ps 文件位于:docs.google.com/file/d/0B-z9BfHBPkLUSHZUNzFtYUZuVjA/…。我将尝试找到与打印机关联的 ppd 文件并进行报告。你能在 ps 文件中看到任何明显的东西吗?谢谢 拿到文件了,午饭后我看看:-) 太好了——再次感谢。可在此处找到 ppd 文件:docs.google.com/file/d/0B-z9BfHBPkLUX3p5OW8tTU02Rmc/…。谢谢。 P 嗯,第一个答案是它不是 Ghostscript。通过 Adob​​e Acrobat Distiller 运行的相同 PostScript 文件会产生相同的结果。所以 Windows/Excel 根本不会产生裁剪的数据。一个可能的问题是该文件要求输出分辨率为 4000 dpi (!!!) 查看 PPD,默认值似乎是(更合理的)600 dpi,您是否更改了分辨率?在我看来,过高的分辨率破坏了驱动程序中的整数,导致剪辑。我会尝试将分辨率恢复到 600。 Ken - 这解决了问题。 4000dpi 是软件的默认设置。认为这有点奇怪,但认为它是正确的。非常感谢您的帮助。我从来没有想过!【参考方案2】:

@user2177934:第一个链接中的文件确实使用了842 x 595 pt (A4) 的页面布局和页面大小,旋转了 0 度(即:横向,未旋转)。这可以在以下命令的输出中看到:

 pdfinfo -box requisition_pdfxchange.pdf
 ========================================
制作者:PDF-XChange 3.00.0030 (Windows XP)
创建日期:2013 年 3 月 18 日星期一 10:48:45
标签: 没有
形式:无
页数:1
加密:否
页面尺寸:841.889 x 595.289 分 (A4)
页面腐烂:0
媒体框:0.00 0.00 841.89 595.29
裁剪框:0.00 0.00 841.89 595.29
出血盒:0.00 0.00 841.89 595.29
修剪框:0.00 0.00 841.89 595.29
画框:0.00 0.00 841.89 595.29
文件大小:5057 字节
优化:无
PDF版本:1.4

第二个链接中的文件确实使用了595 x 842 pt (A4) 的页面布局和页面大小,旋转了 90 度(即纵向,旋转后看起来像横向)。

 pdfinfo -box requisition_pdfcreator.pdf
 ========================================
标题:requisition_wi_btn_v1.5
学科:
关键词:
作者:保罗
创建者:PDFCreator 版本 1.6.2
制作人:GPL Ghostscript 9.07
创建日期:2013 年 3 月 18 日星期一 10:47:19
修改日期:2013 年 3 月 18 日星期一 10:47:19
标签: 没有
形式:无
页数:1
加密:否
页面尺寸:595 x 842 点 (A4)
页面腐烂:90
媒体框:0.00 0.00 595.00 842.00
裁剪框:0.00 0.00 595.00 842.00
出血盒:0.00 0.00 595.00 842.00
修剪框:0.00 0.00 595.00 842.00
画框:0.00 0.00 595.00 842.00
文件大小:13773 字节
优化:无
PDF版本:1.4

由于您已在 Windows 系统上安装了相应的 PDF 文件转换器作为打印机驱动程序,我强烈的假设是您只是错误地为您的用例调整了驱动程序设置。

只需使用打印作业属性中的横向设置,一切都会好起来的。 :-)

【讨论】:

Kurt - 非常感谢您的回复。似乎是 4000dpi 设置导致了问题。我以为打印驱动程序已设置它没问题。显然不是:-)

以上是关于Ghostscript - 打印到 pdf 时剪裁页面的右侧的主要内容,如果未能解决你的问题,请参考以下文章

使用 GhostScript 打印 PDF

使用 Ghostscript 和 .NET 将 PDF 打印到灰度打印机

使用 ghostscript 9.0 将大型横向 PDF 绘图打印到 a3 LaserJet4(纵向)

GHOSTSCRIPT - PS 到 PDF 转换纸张大小

使用 Ghostscript 打印时页面裁剪和旋转不正确

Ghostscript.net 打印 pdf 页面方向