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。有问题可前往论坛讨论。
申请试用授权完整测试:https://www.e-iceblue.cn/misc/temporary-license.html
Python 压缩PDF减小文件大小的更多相关文章
- python压缩pdf(指定缩放比例)
python压缩pdf(指定缩放比例) 原理 pdf文件处理使用https://pymupdf.readthedocs.io/en/latest/index.html库可以轻松实现,该库的官方说明文档 ...
- python程序设计PDF高清完整版免费下载|百度云盘
百度云盘:python程序设计PDF高清完整版免费下载 提取码:bvsz Python 程序设计基础难易程度适中.除Python应用开发基础知识之外,还适当介绍了Python标准库以及内置对象的工作原 ...
- Python绘制PDF文件~超简单的小程序
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...
- 压缩Sqlite数据文件大小,解决数据删除后占用空间不变的问题
最近有一网站使用Sqlite数据库作为数据临时性的缓存,对多片区进行划分 Sqlite数据库文件,每天大概新增近1万的数据量,起初效率有明显的提高,但历经一个多月后数据库文件从几K也上升到了近160M ...
- 压缩html 减小存储空间
压缩html 减小存储空间 方法一.php代码,清除换行符,清除制表符,去掉注释标记 /** * 压缩html : 清除换行符,清除制表符,去掉注释标记 * @param $string * @ret ...
- python制作pdf电子书
python制作pdf电子书 准备 制作电子书使用的是python的pdfkit这个库,pdfkit是 wkhtmltopdf 的Python封装包,因此在安装这个之前要安装wkhtmltopdf 安 ...
- Python压缩指定文件及文件夹为zip
Python压缩指定的文件及文件夹为.zip 代码: def zipDir(dirpath,outFullName): """ 压缩指定文件夹 :param dirpat ...
- Python处理PDF和Word文档常用的方法
Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...
- 【Python】使用Python压缩文件/文件夹
[Python压缩文件夹]导入“zipfile”模块 def zip_ya(startdir,file_news): startdir = ".\\123" #要压缩的文件夹路径 ...
- Python压缩文件/文件夹
[Python压缩文件夹]导入“zipfile”模块 def zip_ya(startdir,file_news): startdir = ".\\123" #要压缩的文件夹路径 ...
随机推荐
- Unlink原理和一些手法
Unlink原理和一些手法 简单介绍一下unlink相关的知识 unlink是利用glibc malloc 的内存回收机制造成攻击的,核心就在于当两个free的堆块在物理上相邻时,会将他们合并,并将原 ...
- Ubuntu VNC 远程桌面及常见问题
一.Ubuntu 远程桌面开启 在ubuntu 设置中打开远程桌面 **注意:如果没有共享桌面选项也不要谎,只需要安装 vino 即可 sudo apt update sudo apt install ...
- 后端每日一题 2:DNS 解析过程
本文首发于公众号:腐烂的橘子 本文梗概: DNS 是什么,有什么作用 一条 DNS 记录是什么样的 DNS 域名解析原理 DNS 服务器如何抵御攻击 DNS 是什么,有什么作用 DNS(Domain ...
- 面试官:这就是你理解的Java多线程基础?
引言 现代的操作系统(Windows,Linux,Mac OS)等都可以同时打开多个软件(任务),这些软件在我们的感知上是同时运行的,例如我们可以一边浏览网页,一边听音乐.而CPU执行代码同一时间只能 ...
- GCC编译选项含义解析
GCC 编译 GCC的编译流程分为四个步骤,分别为: 预处理(Pre-Processing) 可以通过gcc -E hello.cc -o hello.i查看中间结果 编译(Compiling) 汇编 ...
- linux下nginx安装和配置
一.软件安装 1.环境说明 操作系统:CentOS 7.4 64位 nginx版本:1.16.1 安装日期:2019/10/01 安装用户:root 2.安装运行库 yum -y install gc ...
- JDK源码阅读-------自学笔记(十二)(java.lang.StringBuffer和StringBuilder比较)
StringBuilder结构
- .net core的学习小结
课程:[.NET 6教程,.Net Core 2022视频教程,杨中科主讲] https://www.bilibili.com/video/BV1pK41137He/?p=159&share_ ...
- golang 接口动态派发性能问题
测试代码 package main type Duck interface { Quack() } type Cat struct { Name string } //go:noinline func ...
- Python并行运算——threading库详解(持续更新)
0. 写在前面:进程和线程 博文参考: Python的并行(持续更新)_python 并行-CSDN博客 <Python并行编程 中文版> 一些相关概念请见上一篇博文. 1. 在Pytho ...