使用python实现压缩PDF文件大小的方法

 更新时间:2024年06月19日 11:19:25   作者: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 文件的大小。 主要步骤及方法如下:

  1. 导入库。
  2. 创建 PdfCompressor 对象,并传入需要压缩的 PDF 文件。
  3. 获取压缩选项(OptimizationOptions),并设置字体和图片的压缩。
    压缩字体:
    • 启用字体压缩:SetIsCompressFonts(True) 方法
    • 或取消字体嵌入:SetIsUnembedFonts(True) 方法
    压缩图片:
    • 设置图片质量:SetImageQuality(imageQuality: ImageQuality) 方法(支持设置High/ Medium /Low)。
    • 调整图片大小:SetResizeImages(True) 方法。
    • 启用图片压缩:SetIsCompressImage(True) 方法。
  4. 调用 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大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3中rsa加密算法详情

    python3中rsa加密算法详情

    这篇文章主要介绍了python3中rsa加密算法详情,rsa加密,是一种加密算法,目前而言,加密算法,是对数据、密码等进行加密,下文更多相关介绍,需要的小伙伴可以参考一下
    2022-05-05
  • PyTorch Autograd的核心原理和功能深入探究

    PyTorch Autograd的核心原理和功能深入探究

    本文深入探讨了PyTorch中Autograd的核心原理和功能,从基本概念、Tensor与Autograd的交互,到计算图的构建和管理,再到反向传播和梯度计算的细节,最后涵盖了Autograd的高级特性
    2024-01-01
  • Pycharm 设置默认解释器路径和编码格式的操作

    Pycharm 设置默认解释器路径和编码格式的操作

    这篇文章主要介绍了Pycharm 设置默认解释器路径和编码格式的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • python3.6的字符串处理f-string的使用技巧分享

    python3.6的字符串处理f-string的使用技巧分享

    在这篇文章中讲解了F字符串的基础使用,对于F字符串有着很多的使用技巧,在这篇文章中你会见识到更多的F字符串的使用技巧,下面小编将介绍python3.6 的字符串处理f-string的使用技巧,需要的朋友可以参考下
    2024-02-02
  • django中的数据库迁移的实现

    django中的数据库迁移的实现

    这篇文章主要介绍了django中的数据库迁移的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • TensorFLow用Saver保存和恢复变量

    TensorFLow用Saver保存和恢复变量

    这篇文章主要为大家详细介绍了TensorFLow用Saver保存和恢复变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python实现Opencv cv2.Canny()边缘检测

    Python实现Opencv cv2.Canny()边缘检测

    这篇博客将介绍Canny边缘检测的概念,并利用cv2.Canny()实现边缘检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • python 利用for循环 保存多个图像或者文件的实例

    python 利用for循环 保存多个图像或者文件的实例

    今天小编就为大家分享一篇python 利用for循环 保存多个图像或者文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python调用百度根据经纬度查询地址的示例代码

    Python调用百度根据经纬度查询地址的示例代码

    今天小编就为大家分享一篇Python调用百度根据经纬度查询地址的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现批量备份交换机配置+自动巡检

    Python实现批量备份交换机配置+自动巡检

    这篇文章主要为大家详细介绍了Python实现批量备份交换机配置+自动巡检的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11

最新评论