使用Python压缩PDF

Eiy*_*uyf 5 python

因此,我在一个文件夹中有大量的pdf,我想递归地(使用os.path.walk)缩小它们。我发现Adobe Pro可以节省体积。我可以使用此/您如何建议否则这样做。

注意:是的,我希望它们保留为pdf,因为我发现它是最常用和安装的fileviewer。

fif*_*nce 11

来自该项目的pdfsizeopt GitHub 页面,该页面是用 Python 编写的:

pdfsizeopt 是一个用于将大 PDF 文件转换为小文件的程序。更具体地说,pdfsizeopt 是一个免费的跨平台命令行应用程序(适用于 Linux、Mac OS X、Windows 和 Unix)和优化 PDF 文件大小的最佳实践的集合,重点是从 TeX 和 LaTeX 创建的 PDF文件。pdfsizeopt 是用 Python 编写的……”

您可能可以轻松地将其调整为您的特定需求。

  • 对于那些认为这是一个选项的人。最后一次提交是从 2014 年开始的,它依赖于一个旧的且过时的 Java 库。没能成功,Java 库就失败了: AssertionError: Multivalent failed (status) (4认同)

Ken*_*ing 5

意识到这是一个老问题。以为我会建议 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()
Run Code Online (Sandbox Code Playgroud)

  • 看来你必须购买他们的 SDK,而且还要通过销售代表购买。太糟糕了:(他们说试用版是“无限制的”,尽管__真正__的含义并不明显。 (9认同)
  • 请注意,它应该是“from PDFNetPython3 import ...” (2认同)