shell - 输出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
你能帮我解决这个问题吗?
解决方案
答案很简单,您尝试在水平和垂直方向上按不同的量缩放 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。舍入误差可能解释了细微的差异。
推荐阅读
- c# - 在 C# 中使用 (INSERT SELECT FROM WHERE) 查询的正确方法是什么?
- javascript - 我可以在递归函数中进行哪些更改以使其正常工作?
- swift - 无法将项目添加到数组
- http - ASP.NET 核心:HTTP HEAD 请求和 Content-Length 标头
- ios - 使用 NSMutableURLRequest / URLRequest 请求 http
- php - Symfony 4 中的自定义异常控制器
- python - Pandas:如何通过没有完全匹配的相关列组合数据框,以及可能的内部重复?
- webassembly - WebAssembly 错误“协议不可用”
- c - GCC 错误、错误代码或 gcc 是好的编译器
- kubernetes - Kubernetes pod 无法访问服务公开的其他 pod