需要在Python(或命令行)中以编程方式转换PDF纸张大小(例如USLetter到A4)

2024-05-13 07:07:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将PDF文档从一个任意的页面大小转换为另一个。在

例如,我可能有一堆PDF文档,格式为美国信纸(8.5英寸x 11英寸),需要转换为A4纸张大小(21厘米x 29.7厘米),或者我可能需要将A3转换为分类帐大小,等等

这看起来应该是一个简单的任务,但我的googlefu让我失望了。在

如果我真的可以重新排列文档的文本,以更好地利用新的大小和纵横比,那将是一件很好的事情,但我并不期望如此。只要放大或缩小以适应新的页面大小就足够了。在

我的程序的其余部分碰巧是用Python编写的,基于Python的解决方案也不错,但是命令行工具也可以,只要我能在Linux/Unix/OSX上运行它。在

有什么建议可以最好的解决这个问题?在


Tags: 文档文本程序利用pdf格式页面事情
2条回答

你可以利用

  • Ghostscript使用-sPAPERSIZE=a4开关,参见第3.3章docsfull solution中的SO,或
  • pdfjam(属于texlive一部分的shell脚本),带有 paper a4paper选项,如describedunix.SE版在

在ubuntu中,我会从命令行使用“convert”。在

我可以用这一行把字母转换成A4:

convert -page A4 a.pdf a2.pdf

有关详细信息,请参见imagemagick网站上的-page参数:

http://www.imagemagick.org/script/command-line-options.php#page

相关问题 更多 >