Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python压缩PDF_Python - Fatal编程技术网

使用Python压缩PDF

使用Python压缩PDF,python,Python,所以我在一个文件夹中有无数的PDF,我想递归地(使用os.path.walk)缩小它们。我看到adobe pro有一个“另存为”缩小版。我能用这个吗/你建议我怎么用 注意:是的,我希望它们保留为PDF,因为我发现它是最常用和安装的fileviewer。来自for pdfsizeopt,它是用Python编写的: pdfsizeopt是一个将大型PDF文件转换为小型文件的程序。更具体地说,pdfsizeopt是一个免费的跨平台命令行应用程序(适用于Linux、Mac OS X、Windows和Un

所以我在一个文件夹中有无数的PDF,我想递归地(使用os.path.walk)缩小它们。我看到adobe pro有一个“另存为”缩小版。我能用这个吗/你建议我怎么用

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

来自for pdfsizeopt,它是用Python编写的:

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


您可以很容易地根据您的具体需要调整此选项。

意识到这是一个老问题。我想我会建议一个替代pdfsizeopt的选项,因为我在地图PDF中使用它时遇到了质量损失。提供了一套全面的功能。下面是一个修改自的片段(请参见“示例1”):


到目前为止你写了什么?
pdfsizeopt
是Adobe免费的,并且是用Python编写的:@AdamMihalcin现在我只有递归的东西,os.path.walk(arg1,arg2,arg3)我想知道我应该用什么程序来压缩它。我会看看PDFSIZOPT!对于那些认为这是一个选项的人来说,最后一个提交是2014,它依赖于一个旧的也过时的java库。没有设法使它工作,java LIB仅仅是失败了:断言错误:多价失败(状态)更新了链接,使其进入GitHub。在那里:“2017年7月30日提交”-并且目前看起来相当活跃,我建议描述一下你在那里的经历。棒极了。它工作得非常好(甚至比smallpdf更好,它不是免费的)。这个项目似乎在某些PDF中存在一些问题。(它的输出与尝试优化
XObject
图像有关,这似乎会导致它进入一个无限循环,连续处理同一个项目。我没有重定向输出以提交错误报告,因为对于我尝试压缩的所有PDF来说,成功并不重要。)请注意,它应该是PDFNetPython3 import中的
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()