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

Python輕松實(shí)現(xiàn)將圖片轉(zhuǎn)換為PDF并合并

 更新時(shí)間:2026年04月02日 08:14:00   作者:LSTM97  
在日常辦公或文檔處理中,我們經(jīng)常需要將多張圖片合并成一個(gè) PDF 文件,本文將介紹如何使用 Python 和 Spire.PDF for Python 庫(kù),輕松實(shí)現(xiàn)圖片到 PDF 的轉(zhuǎn)換與合并功能,感興趣的可以了解下

在日常辦公或文檔處理中,我們經(jīng)常需要將多張圖片合并成一個(gè) PDF 文件。無(wú)論是掃描件整理、電子書(shū)制作,還是資料歸檔,將圖片轉(zhuǎn)換為 PDF 都是一項(xiàng)非常實(shí)用的需求。本文將介紹如何使用 Python 和 Spire.PDF for Python 庫(kù),輕松實(shí)現(xiàn)圖片到 PDF 的轉(zhuǎn)換與合并功能。

為什么選擇 Spire.PDF for Python?

Spire.PDF for Python 是一個(gè)功能強(qiáng)大的 PDF 操作庫(kù),它不僅支持創(chuàng)建、讀取和編輯 PDF 文檔,還提供了豐富的圖像處理功能。相比于其他庫(kù),Spire.PDF 的 API 設(shè)計(jì)簡(jiǎn)潔直觀,能夠輕松完成圖片到 PDF 的轉(zhuǎn)換,并允許我們精確控制頁(yè)面尺寸和圖片布局。

完整代碼實(shí)現(xiàn)

以下代碼展示了如何將指定文件夾中的所有 JPG/JPEG 圖片合并為一個(gè) PDF 文件:

from spire.pdf import *
import os

# 包含圖片的文件夾路徑
image_folder = r"C:\Users\Administrator\Desktop\Images"

# 輸出 PDF 文件路徑
output_file = "output/CombinedImages.pdf"

# 確保輸出目錄存在
os.makedirs(os.path.dirname(output_file), exist_ok=True)

# 創(chuàng)建 PDF 文檔對(duì)象
doc = PdfDocument()

# 移除頁(yè)面邊距,讓圖片鋪滿整頁(yè)
doc.PageSettings.SetMargins(0.0)

# 獲取所有 JPG/JPEG 文件并排序
image_files = sorted([
    f for f in os.listdir(image_folder)
    if f.lower().endswith((".jpg", ".jpeg"))
])

# 將每張圖片添加到 PDF 中
for image_name in image_files:
    image_path = os.path.join(image_folder, image_name)

    # 加載圖片
    image = PdfImage.FromFile(image_path)

    # 獲取圖片尺寸
    width = image.PhysicalDimension.Width
    height = image.PhysicalDimension.Height

    # 創(chuàng)建與圖片尺寸相同的頁(yè)面
    page = doc.Pages.Add(SizeF(width, height))

    # 在頁(yè)面上繪制圖片
    page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# 保存合并后的 PDF 文件
doc.SaveToFile(output_file)
doc.Dispose()

代碼解析

  1. 導(dǎo)入庫(kù)和設(shè)置路徑 :首先導(dǎo)入 Spire.PDF 和 os 模塊,定義圖片文件夾路徑和輸出文件路徑。
  2. 創(chuàng)建 PDF 文檔 :通過(guò) PdfDocument() 創(chuàng)建空白 PDF 文檔,并使用 SetMargins(0) 移除頁(yè)面邊距,確保圖片能夠完整鋪滿頁(yè)面。
  3. 讀取圖片文件 :使用 os.listdir() 獲取文件夾中所有圖片文件,通過(guò) endswith() 篩選 JPG 和 JPEG 格式,并用 sorted() 進(jìn)行排序,保證圖片按文件名順序合并。
  4. 逐張?zhí)砑訄D片 :對(duì)于每張圖片,使用 PdfImage.FromFile() 加載,獲取其原始尺寸,然后創(chuàng)建相同尺寸的 PDF 頁(yè)面,最后通過(guò) DrawImage() 將圖片繪制到頁(yè)面中。
  5. 保存和釋放資源 :使用 SaveToFile() 保存 PDF 文件,并調(diào)用 Dispose() 釋放文檔資源。

運(yùn)行效果

執(zhí)行上述代碼后,程序會(huì)自動(dòng)在 output 文件夾下生成 CombinedImages.pdf 文件。該 PDF 中的每一頁(yè)對(duì)應(yīng)一張?jiān)紙D片,頁(yè)面大小與圖片尺寸完全一致,保證了圖片的最佳顯示效果。

擴(kuò)展應(yīng)用

基于上述代碼,我們可以輕松擴(kuò)展更多功能:

  • 支持更多圖片格式 :在篩選條件中添加 .png、.bmp 等格式
  • 自定義頁(yè)面大小 :可以統(tǒng)一設(shè)置固定頁(yè)面尺寸,而非跟隨圖片尺寸
  • 添加圖片壓縮 :通過(guò)調(diào)整圖片質(zhì)量來(lái)控制 PDF 文件大小
  • 批量處理 :對(duì)多個(gè)文件夾分別生成對(duì)應(yīng)的 PDF 文件

總結(jié)

使用 Spire.PDF for Python 實(shí)現(xiàn)圖片轉(zhuǎn) PDF 功能,代碼簡(jiǎn)潔、易于理解,且無(wú)需安裝額外依賴。無(wú)論是個(gè)人用戶還是企業(yè)級(jí)應(yīng)用,都可以快速集成這一功能。希望本文能幫助你在文檔處理工作中提升效率,讓圖片管理和分享變得更加便捷。

到此這篇關(guān)于Python輕松實(shí)現(xiàn)將圖片轉(zhuǎn)換為PDF并合并的文章就介紹到這了,更多相關(guān)Python圖片轉(zhuǎn)PDF并合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

崇左市| 连云港市| 丹东市| 夏邑县| 青河县| 肇庆市| 泰来县| 常德市| 莎车县| 江津市| 嘉禾县| 峨边| 九龙坡区| 博湖县| 麻阳| 龙门县| 保康县| 鹤庆县| 台东县| 饶平县| 伊金霍洛旗| 永清县| 宣武区| 永胜县| 鄂温| 镇远县| 肇庆市| 全椒县| 肇州县| 峨边| 从化市| 剑川县| 五大连池市| 黄山市| 乐都县| 垦利县| 财经| 甘泉县| 浦北县| 通山县| 瑞安市|