使用python實(shí)現(xiàn)壓縮PDF文件大小的方法
引言
壓縮 PDF 文件能有效減小文件大小并提高文件傳輸?shù)男?,同時(shí)還能節(jié)省計(jì)算機(jī)存儲(chǔ)空間。除了使用一些專業(yè)工具對(duì)PDF文件進(jìn)行壓縮,我們還可以通過(guò) Python 來(lái)執(zhí)行該操作,實(shí)現(xiàn)自動(dòng)化、批量處理PDF文件。
本文將分享一個(gè)簡(jiǎn)單有效的使用 Python 壓縮 PDF 文件的方法。需要用到 Spire.PDF for Python庫(kù),可以通過(guò)pip命令安裝該庫(kù)。
pip install Spire.PDF
使用 Python 實(shí)現(xiàn)PDF 文件壓縮
Spire.PDF for Python 庫(kù)可以通過(guò)調(diào)整圖像質(zhì)量和壓縮嵌入字體來(lái)減小 PDF 文件的大小。 主要步驟及方法如下:
- 導(dǎo)入庫(kù)。
- 創(chuàng)建
PdfCompressor對(duì)象,并傳入需要壓縮的 PDF 文件。 - 獲取壓縮選項(xiàng)(
OptimizationOptions),并設(shè)置字體和圖片的壓縮。
壓縮字體:
• 啟用字體壓縮:SetIsCompressFonts(True)方法
• 或取消字體嵌入:SetIsUnembedFonts(True)方法
壓縮圖片:
• 設(shè)置圖片質(zhì)量:SetImageQuality(imageQuality: ImageQuality)方法(支持設(shè)置High/ Medium /Low)。
• 調(diào)整圖片大小:SetResizeImages(True)方法。
• 啟用圖片壓縮:SetIsCompressImage(True)方法。 - 調(diào)用
CompressToFile()方法,壓縮PDF文件并保存到指定路徑下。
Python 代碼:
from spire.pdf.common import *
from spire.pdf import *
# 創(chuàng)建PdfCompressor對(duì)象并傳入PDF文件
compressor = PdfCompressor("測(cè)試報(bào)告.pdf")
# 獲取OptimizationOptions對(duì)象
options = compressor.OptimizationOptions
# 壓縮字體
options.SetIsCompressFonts(True)
# 取消字體嵌入
# options.SetIsUnembedFonts(True)
# 設(shè)置圖片質(zhì)量
options.SetImageQuality(ImageQuality.Medium)
# 調(diào)整圖片大小
options.SetResizeImages(True)
# 壓縮圖片
options.SetIsCompressImage(True)
# 壓縮PDF文件并保存
compressor.CompressToFile("PDF壓縮.pdf")
Spire.PDF for Python 庫(kù)允許我們根據(jù)具體需要靈活調(diào)整壓縮選項(xiàng)。要實(shí)現(xiàn)最大限度地壓縮,我們可以將圖像質(zhì)量設(shè)置為L(zhǎng)ow。
其他方法:
pdf文件過(guò)大,經(jīng)常會(huì)是一個(gè)問(wèn)題,但是市面上基本上都是收費(fèi)的工具,wps需要開會(huì)員才能使用。因此找了一個(gè)python庫(kù)進(jìn)行試驗(yàn):
首先需要安裝
pip install aspose-pdf
運(yùn)行的代碼:
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") # 需要壓縮后保存的文件路徑這個(gè)代碼使用非常簡(jiǎn)單,主要是壓縮文件里面的圖片質(zhì)量,實(shí)際上圖片質(zhì)量差一些在閱讀器里面是看不出來(lái)的區(qū)別,效果如下:

文件直接小了10倍,打開看也不影響觀感,還是比較有意義的。
到此這篇關(guān)于使用python實(shí)現(xiàn)壓縮PDF文件大小的方法的文章就介紹到這了,更多相關(guān)python壓縮PDF大小內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)LR1文法的完整實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)LR1文法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
詳解Python計(jì)算機(jī)視覺(jué) 圖像扭曲(仿射扭曲)
這篇文章主要介紹了Python計(jì)算機(jī)視覺(jué) 圖像扭曲(仿射扭曲),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Python中內(nèi)置的日志模塊logging用法詳解
Python的logging模塊提供了記錄程序運(yùn)行情況的日志功能,類似于Apache的log4j,很好很強(qiáng)大,這里我們就來(lái)看一下Python中內(nèi)置的日志模塊logging用法詳解2016-07-07
Python快速進(jìn)修指南之向量數(shù)據(jù)庫(kù)文本搜索
這篇文章主要為大家介紹了Java開發(fā)快速進(jìn)修Python指南之向量數(shù)據(jù)庫(kù)文本搜索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python中協(xié)程coroutine適用場(chǎng)景分析
多線程中可能出現(xiàn)多個(gè)線程爭(zhēng)搶變量,所以變量需要加鎖;協(xié)程中任一時(shí)刻都只有一個(gè)線程,所以變量不需要加鎖,這篇文章主要介紹了Python中協(xié)程(coroutine)詳解,需要的朋友可以參考下2024-04-04
在Python 3中緩存Exception對(duì)象會(huì)造成什么后果?
這篇文章主要介紹了在Python 3中緩存Exception對(duì)象到底會(huì)造成什么后果?下面帶著這個(gè)問(wèn)題一起看看文章的解析,需要的朋友可以參考一下2021-12-12
python修改pip install默認(rèn)安裝路徑的詳細(xì)步驟
pip安裝的第三方庫(kù)默認(rèn)存放在C盤中,為了便于管理和不過(guò)度占用C盤空間所以想修改默認(rèn)的pip路徑,文章通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04

