首页 > 解决方案 > 输出pdf ghostscript中的纸张尺寸不合适

问题描述

我尝试通过ghostscript命令行调整pdf大小,但输出pdf纸张大小不根据输入im使用命令gswin64c.exe -o E:\output.pdf -dBATCH -dNOPAUSE -dDOPDFMARKS -sDEVICE=pdfwrite -dFIXEDMEDIA -dPDFFitPage -dDEVICEWIDTHPOINTS=396 - dDEVICEHEIGHTPOINTS=612 -f E:\comic.pdf

输出 pdf 大小为 396 x 604.653 pts

你能帮我解决这个问题吗?

标签: shellpdfcommandghostscript

解决方案


答案很简单,您尝试在水平和垂直方向上按不同的量缩放 PDF,PDFFitPage 开关不会这样做。

事实上,在 Ghostscript 中根本没有固定选项可以做到这一点,你需要编写一个 PostScript 程序来做到这一点。

如果我们查看您的原始文件,页面的 MediaBox 为:/MediaBox[0.0 0.0 495.12 756.0],所以(如您所说)495.12 x 756 点。您坚持输出为 396x612。

所以 x 比例因子是 396/495.12 = 0.7998,y 比例因子是 612/756 = 0.809。因此,为了同构缩放,我们需要使用 0.7998 的比例因子。756 * 0.7998 = 604.6488。舍入误差可能解释了细微的差异。


推荐阅读