使用python实现压缩PDF文件大小的方法
作者:Eiceblue
压缩 PDF 文件能有效减小文件大小并提高文件传输的效率,同时还能节省计算机存储空间,除了使用一些专业工具对PDF文件进行压缩,我们还可以通过 Python 来执行该操作,本文将分享一个简单有效的使用 Python 压缩 PDF 文件的方法,需要的朋友可以参考下
引言
压缩 PDF 文件能有效减小文件大小并提高文件传输的效率,同时还能节省计算机存储空间。除了使用一些专业工具对PDF文件进行压缩,我们还可以通过 Python 来执行该操作,实现自动化、批量处理PDF文件。
本文将分享一个简单有效的使用 Python 压缩 PDF 文件的方法。需要用到 Spire.PDF for Python库,可以通过pip命令安装该库。
pip install Spire.PDF
使用 Python 实现PDF 文件压缩
Spire.PDF for Python 库可以通过调整图像质量和压缩嵌入字体来减小 PDF 文件的大小。 主要步骤及方法如下:
- 导入库。
- 创建
PdfCompressor
对象,并传入需要压缩的 PDF 文件。 - 获取压缩选项(
OptimizationOptions
),并设置字体和图片的压缩。
压缩字体:
• 启用字体压缩:SetIsCompressFonts(True)
方法
• 或取消字体嵌入:SetIsUnembedFonts(True)
方法
压缩图片:
• 设置图片质量:SetImageQuality(imageQuality: ImageQuality)
方法(支持设置High/ Medium /Low)。
• 调整图片大小:SetResizeImages(True)
方法。
• 启用图片压缩:SetIsCompressImage(True)
方法。 - 调用
CompressToFile()
方法,压缩PDF文件并保存到指定路径下。
Python 代码:
from spire.pdf.common import * from spire.pdf import * # 创建PdfCompressor对象并传入PDF文件 compressor = PdfCompressor("测试报告.pdf") # 获取OptimizationOptions对象 options = compressor.OptimizationOptions # 压缩字体 options.SetIsCompressFonts(True) # 取消字体嵌入 # options.SetIsUnembedFonts(True) # 设置图片质量 options.SetImageQuality(ImageQuality.Medium) # 调整图片大小 options.SetResizeImages(True) # 压缩图片 options.SetIsCompressImage(True) # 压缩PDF文件并保存 compressor.CompressToFile("PDF压缩.pdf")
Spire.PDF for Python 库允许我们根据具体需要灵活调整压缩选项。要实现最大限度地压缩,我们可以将图像质量设置为Low。
其他方法:
pdf文件过大,经常会是一个问题,但是市面上基本上都是收费的工具,wps需要开会员才能使用。因此找了一个python库进行试验:
首先需要安装
pip install aspose-pdf
运行的代码:
import aspose.pdf as ap compressPdfDocument = ap.Document("SnapFusion.pdf") # 需要压缩的pdf文件路径 pdfoptimizeOptions = ap.optimization.OptimizationOptions() pdfoptimizeOptions.image_compression_options.compress_images = True pdfoptimizeOptions.image_compression_options.image_quality = 10 compressPdfDocument.optimize_resources(pdfoptimizeOptions) compressPdfDocument.save("SnapFusion_compress.pdf") # 需要压缩后保存的文件路径
这个代码使用非常简单,主要是压缩文件里面的图片质量,实际上图片质量差一些在阅读器里面是看不出来的区别,效果如下:
文件直接小了10倍,打开看也不影响观感,还是比较有意义的。
到此这篇关于使用python实现压缩PDF文件大小的方法的文章就介绍到这了,更多相关python压缩PDF大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!