在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF 是一種流行的文件分享格式。它是一種可在多種設備上查看的多功能文件格式,並且可以設定安全權限來保護文件。
在 Python 中,有許多庫可以用來讀取和操作 PDF 文件。其中一個庫是 IronPDF。IronPDF 是一個強大的庫,提供了廣泛的功能來處理 PDF 文件。
在本文中,我們將學習如何使用 IronPDF 庫在 Python 中查看 PDF 文件。
IronPDF 是一個強大的 Python 庫,使開發人員能夠以程式化方式處理 PDF 文件。使用 IronPDF,您可以輕鬆生成、操作和提取 PDF 文件中的數據,使其成為處理各種 PDF 相關任務的多功能工具。無論您需要從頭創建 PDF 文件、修改現有 PDF 文件,還是從 PDF 中提取內容,IronPDF 都提供全套功能來簡化您的工作流程。
IronPDF Python 庫的一些特性包括:
注意: IronPDF 生成帶有水印的 PDF 數據文件。要去除水印,您需要許可 IronPDF。若希望使用註冊版本的 IronPDF,請訪問 IronPDF 網站 至 獲取許可密鑰.
在使用IronPDF for Python之前,有一些先決條件需要先準備好:
Python安裝:確保您的系統已安裝Python。IronPDF與Python 3.x版本兼容,因此請確保您已安裝兼容的Python版本。
:InstallCmd pip install ironpdf
:InstallCmd pip install tkinter
:InstallCmd pip install pillow
安裝 PyCharm IDE 後,請按以下步驟建立一個 PyCharm Python 專案:
啟動 PyCharm: 從系統的應用程式啟動器或桌面捷徑中開啟 PyCharm。
建立新專案: 點擊「Create New Project」或打開現有的 Python 專案。
配置專案設定: 為您的專案提供一個名稱並選擇建立專案目錄的位置。選擇您的專案使用的Python解釋器。然後點擊「Create」。
首先,我們需要匯入必要的函式庫。在這個案例中,我們需要 os
、shutil
、ironpdf
、tkinter
和 PIL
函式庫。os
和 shutil
函式庫用於文件和資料夾操作,ironpdf
是用於處理 PDF 文件的函式庫,tkinter
用於建立圖形使用者介面。 (圖形用戶介面),以及PIL用於圖像處理。
import os, shutil, ironpdf
from tkinter import *
from PIL import Image, ImageTk
接下來,我們定義一個名為 convert_pdf_to_images
的函數。這個函數接收 PDF 文件的路徑作為輸入。在函數內部,我們使用 IronPDF 庫從文件中加載 PDF 文件。接著,我們指定一個資料夾路徑來存儲提取的圖像文件。使用 IronPDF 的 pdf.RasterizeToImageFiles
方法將每一頁 PDF 轉換為圖像文件並保存到指定的資料夾。我們還創建了一個列表來存儲圖像路徑。完整的代碼示例如下:
def convert_pdf_to_images(pdf_file):
pdf = ironpdf.PdfDocument.FromFile(pdf_file)
# Extract all pages to a folder as image files
folder_path = "images"
pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
# List to store the image paths
image_paths = []
# Get the list of image files in the folder
for filename in os.listdir(folder_path):
if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
image_paths.append(os.path.join(folder_path, filename))
return image_paths
要從 PDF 文件中提取文字,請訪問此程式碼範例頁面 連結.
為了在應用程式視窗關閉時清理提取的影像檔案,我們定義了一個(n) on_closing
函數。在這個函數裡,我們使用 shutil.rmtree()```markdown 方法來刪除整個
images` 資料夾。我們也將此函數設定為在關閉視窗時執行的協定。以下代碼有助於完成此任務:
```py
def on_closing():
# Delete the images in the 'images' folder
shutil.rmtree("images")
window.destroy()
window.protocol("WM_DELETE_WINDOW", on_closing)
現在,我們使用 Tk
創建主 GUI 視窗()構造函數。我們將窗口標題設置為 "Image Viewer" 並設置 on_closing
()` 用於處理視窗關閉的協定。
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
為了顯示圖像並啟用滾動,我們創建了一個 Canvas 小部件。Canvas 小部件配置為填充可用空間並使用 pack
在兩個方向上擴展(side=左, fill=兩者, expand=True)我們還創建了一個Scrollbar
小部件,並將其配置為控制所有頁面和畫布的垂直滾動。
canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)
scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)
canvas.bind("<Configure>", lambda e:canvas.configure(scrollregion=canvas.bbox("all")))
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(int(-1*(e.delta/120)), "units"))
接下來,我們在畫布內創建一個Frame
小部件來放置圖像。我們使用create_window
()將框架置於畫布內。
(0,0)coordinates
和 anchor='nw'
參數確保框架從畫布的左上角開始。
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
我們調用 convert_pdf_to_images
()函數使用輸入PDF文件的文件路徑名稱。此函數將PDF頁面提取為圖像並返回圖像路徑列表。我們遍歷這些圖像路徑並使用
Image.open加載每個圖像。()從 PIL 庫中的
method方法。我們然後使用
ImageTk.PhotoImage創建一個
PhotoImage對象()
並創建一個Label
小部件來顯示圖片。
images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
image = Image.open(image_path)
photo = ImageTk.PhotoImage(image)
label = Label(frame, image=photo)
label.image = photo # Store a reference to prevent garbage collection
label.pack(pady=10)
最後,使用 window.mainloop
執行主事件迴圈()這確保了 GUI 視窗保持開啟和回應,直到使用者將其關閉。
window.mainloop()
在本教程中,我們學習了如何使用IronPDF for Python查看PDF文件 IronPDF 庫。我們介紹了打開 PDF 文件並轉換為一系列圖像文件所需的步驟,然後在可滾動畫布中顯示它們,並在應用程序關閉時處理提取圖像的清理工作。
有關 IronPDF for Python 庫的更多詳情,請參閱 文檔下載並安裝 IronPDF for Python 函式庫及取得 a 免費試用 以在商業開發中測試其完整功能。