使用IRONPDF FOR PYTHON

如何在 Python 中查看 PDF 文件

發佈 2023年7月2日
分享:

PDF (可攜式文件格式)

PDF 是一種流行的文件分享格式。它是一種可在多種設備上查看的多功能文件格式,並且可以設定安全權限來保護文件。

在 Python 中,有許多庫可以用來讀取和操作 PDF 文件。其中一個庫是 IronPDF。IronPDF 是一個強大的庫,提供了廣泛的功能來處理 PDF 文件。

在本文中,我們將學習如何使用 IronPDF 庫在 Python 中查看 PDF 文件。

IronPDF - Python Library

IronPDF 是一個強大的 Python 庫,使開發人員能夠以程式化方式處理 PDF 文件。使用 IronPDF,您可以輕鬆生成、操作和提取 PDF 文件中的數據,使其成為處理各種 PDF 相關任務的多功能工具。無論您需要從頭創建 PDF 文件、修改現有 PDF 文件,還是從 PDF 中提取內容,IronPDF 都提供全套功能來簡化您的工作流程。

IronPDF Python 庫的一些特性包括:

  • 使用 HTML 或 URL 從頭創建新的 PDF 文件
  • 編輯現有的 PDF 文件
  • 旋轉 PDF 頁面
  • 從 PDF 文件中提取文本、元數據和圖像
  • 將 PDF 文件轉換為其他格式
  • 用密碼和限制措施加密 PDF 文件
  • 拆分和合併 PDF 文件

注意: IronPDF 生成帶有水印的 PDF 數據文件。要去除水印,您需要許可 IronPDF。若希望使用註冊版本的 IronPDF,請訪問 IronPDF 網站獲取許可密鑰.

先決條件

在使用IronPDF for Python之前,有一些先決條件需要先準備好:

  1. Python安裝:確保您的系統已安裝Python。IronPDF與Python 3.x版本兼容,因此請確保您已安裝兼容的Python版本。

  2. IronPDF庫:安裝IronPDF庫以訪問其功能。您可以使用Python包管理器來安裝。 (pip) 在命令列介面中執行以下命令:
    :InstallCmd pip install ironpdf
  1. Tkinter 庫:Tkinter 是 Python 的標準 GUI 工具包。它用於在提供的代碼片段中創建 PDF 查看器的圖形用戶界面。Tkinter 通常隨 Python 預裝,但如果您遇到任何問題,可以使用軟件包管理器安裝它:
    :InstallCmd pip install tkinter
  1. Pillow 庫:Pillow 庫是 Python 圖像庫的一個分支 (PIL) 並提供額外的影像處理功能。它在程式碼片段中被用來加載和顯示從 PDF 中提取的圖像。請透過套件管理器安裝 Pillow:
    :InstallCmd pip install pillow
  1. 集成開發環境 (集成開發環境)使用 IDE 來處理 Python 專案,可以大大提升您的開發體驗。它提供了代碼自動完成、調試和更精簡的工作流程等功能。用於 Python 開發的一個流行的 IDE 是 PyCharm。您可以從 JetBrains 網站下載並安裝 PyCharm。 (https://www.jetbrains.com/pycharm/)6. 編輯器:如果您偏好使用輕量級的編輯器,您可以選擇任何您喜歡的編輯器,例如 Visual Studio Code、Sublime Text 或 Atom。這些編輯器提供語法高亮和其他對 Python 開發有幫助的功能。您也可以使用 Python 自帶的 IDLE 應用程式來編寫 Python 腳本。

使用 PyCharm 建立 PDF 檢視器專案

安裝 PyCharm IDE 後,請按以下步驟建立一個 PyCharm Python 專案:

  1. 啟動 PyCharm: 從系統的應用程式啟動器或桌面捷徑中開啟 PyCharm。

  2. 建立新專案: 點擊「Create New Project」或打開現有的 Python 專案。

    如何在 Python 中將 PDF 轉換為文本(教程):圖1

  3. 配置專案設定: 為您的專案提供一個名稱並選擇建立專案目錄的位置。選擇您的專案使用的Python解釋器。然後點擊「Create」。

    如何在 Python 中將 PDF 轉換為文本(教程):圖 2

  4. 創建源文件: PyCharm 將創建項目結構,包括一個主 Python 文件和一個附加源文件的目錄。開始編寫代碼,然後點擊運行按鈕或按 Shift+F10 執行腳本。

使用 IronPDF 在 Python 中檢視 PDF 文件的步驟

匯入所需的函式庫

首先,我們需要匯入必要的函式庫。在這個案例中,我們需要 osshutilironpdftkinterPIL 函式庫。osshutil 函式庫用於文件和資料夾操作,ironpdf 是用於處理 PDF 文件的函式庫,tkinter 用於建立圖形使用者介面。 (圖形用戶介面),以及PIL用於圖像處理。

import os, shutil, ironpdf
from tkinter import *
from PIL import Image, ImageTk
PYTHON

將 PDF 文件轉換為圖片

接下來,我們定義一個名為 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
PYTHON

要從 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)

創建 GUI 視窗

現在,我們使用 Tk 創建主 GUI 視窗()構造函數。我們將窗口標題設置為 "Image Viewer" 並設置 on_closing()` 用於處理視窗關閉的協定。

window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

創建一個可滾動的畫布

為了顯示圖像並啟用滾動,我們創建了一個 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"))
PYTHON

為圖像創建框架

接下來,我們在畫布內創建一個Frame小部件來放置圖像。我們使用create_window()將框架置於畫布內。(0,0)coordinatesanchor='nw' 參數確保框架從畫布的左上角開始。

frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
PYTHON

將 PDF 文件轉換為圖片並顯示

我們調用 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)
PYTHON

输入文件

如何在 Python 中將 PDF 轉換為文本(教程):圖 3

執行圖形介面主迴圈

最後,使用 window.mainloop 執行主事件迴圈()這確保了 GUI 視窗保持開啟和回應,直到使用者將其關閉。

window.mainloop()
PYTHON

輸出

如何在 Python 中將 PDF 轉換為文字(教程):圖 4

結論

在本教程中,我們學習了如何使用IronPDF for Python查看PDF文件 IronPDF 庫。我們介紹了打開 PDF 文件並轉換為一系列圖像文件所需的步驟,然後在可滾動畫布中顯示它們,並在應用程序關閉時處理提取圖像的清理工作。

有關 IronPDF for Python 庫的更多詳情,請參閱 文檔下載並安裝 IronPDF for Python 函式庫及取得 a 免費試用 以在商業開發中測試其完整功能。

< 上一頁
如何在 Python 中從 PDF 提取文本
下一個 >
如何在 Python 中將 PDF 轉換為文本(教程)

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 pip 安裝 查看許可證 >