GhostScript PS 到 PDF 的转换 - 裁剪了一些部分
Posted
技术标签:
【中文标题】GhostScript PS 到 PDF 的转换 - 裁剪了一些部分【英文标题】:GhostScript PS to PDF converting - cropted some parts 【发布时间】:2020-05-26 18:39:07 【问题描述】:我尝试将 Python Tkinter 画布转换为 pdf。为此,我使用了 Ghostscript。这是代码部分,
canvas.postscript(file="tmp.ps",colormode='color')
somecommand = "gswin64c -o output.pdf -sDEVICE=pdfwrite -g57750x62070 - dPDFFitPage tmp.ps"
call(somecommand, shell=True)
输出的 pdf 尺寸较大,但 pdf 显示的画布 GUI 被裁剪,并且位于 pdf 的左下角。
我想在 pdf 上显示完整的画布。
【问题讨论】:
【参考方案1】:您已指定 -dPDFFitPage
,但您的输入文件似乎是 PostScript(根据“.ps”扩展名和您的问题标题判断)。 PDFFitPage
适用于 PDF 输入。即使使用更简单的-dFitPage
中的-dPSFitPage
,也只有在输入 PostScript 程序请求媒体大小时才有效。如果不是,则解释器无法判断其边界框是什么,因此无法缩放以适应媒体。
您还以像素 (-g57750x62070) 为单位指定了媒体尺寸,这在输入和输出为矢量格式时完全不合适。值得一提的是,您指定的固定介质尺寸为(大约)80 英寸 x 86 英寸,使用默认分辨率 720 dpi。
如果您只想将 PostScript 文件转换为 PDF 文件,那么更简单:
gs -sDEVICE=pdfwrite -o out.pdf input.ps
足够了。
【讨论】:
以上是关于GhostScript PS 到 PDF 的转换 - 裁剪了一些部分的主要内容,如果未能解决你的问题,请参考以下文章
Ghostscript:为啥我必须为 PDF/A 转换提供 pdfa_def.ps?
通过 Ghostscript 将 PS 文件转换为 PDF/A,色彩空间问题
Ghostscript错误使用pdfwrite将多页PS转换为多页PDF