我有很多PDF文档在一个文件夹里,我想要使用os.path.walk递归地将它们压缩。我发现Adobe Pro有“另存为减小文件大小”的功能。我能否使用它/您有什么其他建议?
注:是的,我希望它们保持为PDF格式,因为我认为这是最常用和安装的文件查看器。
我有很多PDF文档在一个文件夹里,我想要使用os.path.walk递归地将它们压缩。我发现Adobe Pro有“另存为减小文件大小”的功能。我能否使用它/您有什么其他建议?
注:是的,我希望它们保持为PDF格式,因为我认为这是最常用和安装的文件查看器。
来自用Python编写的pdfsizeopt项目的GitHub页面:
pdfsizeopt是一个将大型PDF文件转换为小型文件的程序。更具体地说,pdfsizeopt是一款免费的跨平台命令行应用程序(适用于Linux、Mac OS X、Windows和Unix),以及一系列最佳实践方法,用于优化PDF文件的大小,重点关注从TeX和LaTeX文档创建的PDFs。 pdfsizeopt是用Python编写的..."
您可以很容易地根据自己的需要进行调整。
意译:意识到这是一个老问题。我会建议一种替代pdfsizeopt的方案,因为我在使用它处理地图PDF时经历过质量损失。 PDFTron 提供了全面的功能集合。以下代码片段修改自他们网页上的示例1 :
import site
site.addsitedir(r"...pathToPDFTron\PDFNetWrappersWin32\PDFNetC\Lib")
from PDFNetPython import PDFDoc, Optimizer, SDFDoc
doc = PDFDoc(inPDF_Path)
doc.InitSecurityHandler()
Optimizer.Optimize(doc)
doc.Save(outPDF_Path, SDFDoc.e_linearized)
doc.Close()
from PDFNetPython3 import ...
。 - anishtain4pdfsizeopt
正在缩小我的PDF的最后一页。
然而,一个现在已被删除的答案提供的解决方案非常有用:Python编写的工具pdfc
,托管在Github上,并定期更新,对我来说运行良好。
您可以从存储库中下载Python文件pdf_compressor.py
:https://github.com/theeko74/pdfc/blob/master/pdf_compressor.py
假设您已经安装了Ghostscript,然后可以运行以下命令:
python pdf_compressor.py <PDF-input-file> --backup
pdfsizeopt
是一款不需要Adobe产品的Python编写的软件,网址为:http://code.google.com/p/pdfsizeopt/。 - Blender