最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python高效實(shí)現(xiàn)PDF文件壓縮的三大庫(kù)使用指南

 更新時(shí)間:2025年10月21日 08:42:12   作者:E-iceblue  
在日常工作中,壓縮 PDF 文件是一項(xiàng)非常常見的任務(wù),為了幫助你更輕松地完成這項(xiàng)任務(wù),本文將介紹 三個(gè)最實(shí)用的 Python 庫(kù),讓你能夠批量、快速地壓縮 PDF 文件,快跟隨小編一起學(xué)習(xí)一下吧

在日常工作中,壓縮 PDF 文件是一項(xiàng)非常常見的任務(wù)。無(wú)論是為了節(jié)省存儲(chǔ)空間,還是為了更快地上傳、共享文件,控制 PDF 的體積都至關(guān)重要。
例如,美國(guó)部分電子訴訟系統(tǒng)要求上傳的 PDF 文件必須小于 35 MB,而在醫(yī)療行業(yè)中,電子病歷通常被壓縮至 10 MB - 20 MB,以便更高效地傳輸和存儲(chǔ)。

為了幫助你更輕松地完成這項(xiàng)任務(wù),本文將介紹 三個(gè)最實(shí)用的 Python 庫(kù),讓你能夠批量、快速地壓縮 PDF 文件。

Spire.PDF for Python:高效壓縮 PDF 文件

第一個(gè)要介紹的工具是 Spire.PDF for Python

這是一個(gè)功能強(qiáng)大且高效的 PDF 處理庫(kù),支持在 Python 中執(zhí)行包括創(chuàng)建、編輯、轉(zhuǎn)換、以及壓縮在內(nèi)的各種操作。

由于其 API 簡(jiǎn)潔易懂,無(wú)論是初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,都能輕松使用 Spire.PDF 來(lái)壓縮 PDF 文件。

你可以通過(guò)以下命令從 PyPI 安裝該庫(kù):

pip install Spire.Pdf

壓縮圖片:減小 PDF 文件體積的常用方法

PDF 文件體積過(guò)大的主要原因通常是高分辨率圖片、嵌入字體或批注等元素。
本節(jié)將重點(diǎn)介紹如何通過(guò)壓縮和調(diào)整圖片的方式來(lái)減小 PDF 文件大小。

實(shí)現(xiàn)步驟如下:

  • 創(chuàng)建 PdfCompressor 對(duì)象。
  • 通過(guò) PdfCompressor.OptimizationOptions 屬性獲取壓縮設(shè)置對(duì)象。
  • 使用 SetImageQuality() 方法設(shè)置圖片質(zhì)量。
  • 通過(guò) SetResizeImages() 方法啟用圖片大小調(diào)整。
  • SetIsCompressImage() 設(shè)置為 True,執(zhí)行壓縮操作。
  • 將壓縮后的文件另存為新的 PDF。

下面是示例代碼,通過(guò)將圖片質(zhì)量設(shè)置為中等來(lái)壓縮 PDF 文件:

from spire.pdf import *
from spire.pdf.common import *

# 創(chuàng)建 PdfCompressor 對(duì)象
compressor = PdfCompressor("E:/Administrator/Python1/input/AI繪畫的利與弊-圖片版.pdf")

# 獲取壓縮選項(xiàng)對(duì)象
compression_options = compressor.OptimizationOptions

# 設(shè)置圖片質(zhì)量為中等
compression_options.SetImageQuality(ImageQuality.Medium)
# 啟用圖片大小調(diào)整
compression_options.SetResizeImages(True)
# 啟用圖片壓縮
compression_options.SetIsCompressImage(True)

# 壓縮 PDF 文件并保存結(jié)果
compressor.CompressToFile("E:/Administrator/Python1/output/Spire壓縮_圖片.pdf")

Spire.PDF 壓縮前后效果對(duì)比

優(yōu)化字體:進(jìn)一步減小文件體積

如果在壓縮圖片后,PDF 文件仍然較大,可以通過(guò)優(yōu)化字體進(jìn)一步減小體積。

在創(chuàng)建 PDF 時(shí),使用多種字體往往會(huì)顯著增加文件大小。若需保留高清圖片,可優(yōu)先選擇優(yōu)化字體這一方法。

Spire.PDF 提供了 OptimizationOptions.SetIsCompressFonts()OptimizationOptions.SetIsUnembedFonts() 方法,用于控制字體的壓縮與取消嵌入。

實(shí)現(xiàn)步驟如下:

  • 創(chuàng)建 PdfCompressor 實(shí)例并加載文檔。
  • 訪問(wèn)壓縮選項(xiàng)對(duì)象。
  • 啟用字體壓縮或取消字體嵌入。
  • 執(zhí)行壓縮并保存新的 PDF 文件。

下面是通過(guò)優(yōu)化字體壓縮 PDF 文件的示例代碼:

from spire.pdf import *
from spire.pdf.common import *

# 創(chuàng)建 PdfCompressor 對(duì)象
compressor = PdfCompressor("E:/Administrator/Python1/input/AI繪畫的利與弊-圖片版.pdf")

# 獲取壓縮選項(xiàng)對(duì)象
compression_options = compressor.OptimizationOptions
# 啟用字體壓縮
compression_options.SetIsCompressFonts(True)
# 或取消字體嵌入
# compression_options.SetIsUnembedFonts(True)

# 壓縮 PDF 文件并保存結(jié)果
compressor.CompressToFile("E:/Administrator/Python1/output/Spire壓縮_字體.pdf")

Spire.PDF 壓縮前后展示

Aspose.PDF:通過(guò)優(yōu)化字體實(shí)現(xiàn) PDF 壓縮

第二個(gè)要介紹的庫(kù)是 Aspose.PDF。

它是一款無(wú)需依賴 MS Office 或 Adobe Acrobat 的 PDF 處理庫(kù),支持讀取、編輯、生成、轉(zhuǎn)換以及壓縮 PDF 文檔。

安裝方式如下:

pip install aspose-pdf

在測(cè)試中發(fā)現(xiàn),雖然 Aspose 提供了直接的圖片壓縮和優(yōu)化接口,但結(jié)果有時(shí)并不理想,甚至?xí)刮募兇蟆?br />因此,更有效的方式是通過(guò) 移除嵌入字體(Unembed Fonts) 來(lái)實(shí)現(xiàn) PDF 文件壓縮。

實(shí)現(xiàn)步驟如下:

  • 導(dǎo)入所需模塊。
  • 打開要壓縮的 PDF 文檔。
  • 創(chuàng)建 OptimizationOptions 對(duì)象并啟用 unembed_fonts 選項(xiàng)。
  • 執(zhí)行優(yōu)化并保存壓縮后的文件。
  • 對(duì)比壓縮前后的文件大小。

下面是移除字體嵌入以壓縮 PDF 的示例代碼:

import aspose.pdf as ap
import os

# 打開 PDF 文件
document = ap.Document("E:/Administrator/Python1/input/AI繪畫的利與弊-圖片版.pdf")

# 設(shè)置字體取消嵌入選項(xiàng)
optimizeOptions = ap.optimization.OptimizationOptions()
optimizeOptions.unembed_fonts = True

# 執(zhí)行優(yōu)化操作
document.optimize_resources(optimizeOptions)

# 保存優(yōu)化后的文件
document.save("E:/Administrator/Python1/output/Aspose壓縮.pdf")

# 比較壓縮前后文件大小
file_stats_1 = os.stat("E:/Administrator/Python1/input/AI繪畫的利與弊-圖片版.pdf")
file_stats_2 = os.stat("E:/Administrator/Python1/output/Aspose壓縮.pdf")
print(
    "文件原始大小: {}. 壓縮后文件的大小: {}".format(
        file_stats_1.st_size, file_stats_2.st_size
    )
)

Aspose.PDF 壓縮前后效果展示

PyPDF2:快速壓縮 PDF 文件

第三個(gè)要介紹的庫(kù)是 PyPDF2。

它是一個(gè)輕量級(jí)的開源庫(kù),提供 PDF 的讀取、合并、拆分與基本壓縮功能。

安裝方式如下:

pip install PyPDF2

如果你沒(méi)有系統(tǒng)管理員權(quán)限,也可以為當(dāng)前用戶單獨(dú)安裝:

pip install --user PyPDF2

實(shí)現(xiàn)步驟如下:

  • 導(dǎo)入所需模塊。
  • 創(chuàng)建 PdfReader 對(duì)象并讀取 PDF 文件。
  • 創(chuàng)建 PdfWriter 對(duì)象。
  • 遍歷 PDF 中的每一頁(yè)。
  • 調(diào)用 page.compress_content_streams() 方法壓縮頁(yè)面內(nèi)容。
  • 將壓縮后的頁(yè)面寫入新文件。

示例代碼如下:

from PyPDF2 import PdfReader, PdfWriter

# 讀取原始 PDF 文件
reader = PdfReader("E:/Administrator/Python1/input/AI繪畫的利與弊-圖片版.pdf")

# 創(chuàng)建寫入對(duì)象
writer = PdfWriter()

# 遍歷每一頁(yè)進(jìn)行壓縮
for page in reader.pages:
    # 壓縮頁(yè)面內(nèi)容(此過(guò)程可能較耗 CPU)
    page.compress_content_streams()
    writer.add_page(page)

# 保存壓縮后的文件
output_file = "E:/Administrator/Python1/output/PyPDF2壓縮.pdf"
with open(output_file, "wb") as f:
    writer.write(f)

PyPDF2 壓縮前后效果展示

總結(jié)

本文介紹了三款常用的 Python PDF 壓縮庫(kù):

  • Spire.PDF:支持圖片和字體雙重壓縮,效果顯著,適合批量處理。
  • Aspose.PDF:可高度自定義壓縮策略,適合企業(yè)級(jí)文檔優(yōu)化。
  • PyPDF2:輕量級(jí)開源方案,適合進(jìn)行基礎(chǔ)壓縮操作。

通過(guò)靈活使用這些庫(kù),你可以輕松實(shí)現(xiàn) PDF 文件體積的顯著縮減,讓文件在保持清晰度的同時(shí)更易于存儲(chǔ)與分享。

到此這篇關(guān)于Python高效實(shí)現(xiàn)PDF文件壓縮的三大庫(kù)使用指南的文章就介紹到這了,更多相關(guān)Python PDF文件壓縮內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

兴国县| 平安县| 邻水| 界首市| 吉首市| 桂阳县| 临澧县| 开封县| 黎城县| 广宗县| 宁强县| 宁陵县| 垣曲县| 濮阳市| 前郭尔| 开原市| 昌宁县| 崇仁县| 贵南县| 阿拉善盟| 阿拉善盟| 稻城县| 格尔木市| 临西县| 朝阳市| 阜阳市| 永新县| 平江县| 肥东县| 启东市| 邵阳市| 浠水县| 铜陵市| 广平县| 拉萨市| 商洛市| 翁源县| 尤溪县| 阿尔山市| 黄山市| 沾益县|