使用IRONPDF FOR PYTHON

如何在 Python 中查看 PDF 文件

已更新 2024年9月21日
分享:

本文將探討如何使用IronPDF庫在Python中查看PDF檔案。

IronPDF - Python 函式庫

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

IronPDF for Python 程式庫的一些功能包括:

*創建新的 PDF 檔案從頭開始使用 HTML 或 URL

  • 編輯現有的 PDF 檔案
  • 旋轉 PDF 頁面

    *提取文字、元數據和圖片從 PDF 文件中

  • 將 PDF 文件轉換為其他格式

    *安全 PDF 文件使用密碼和限制

    *拆分合併PDFs

    注意: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 Library: Tkinter 是 Python 的標準 GUI 工具包。 它用於在提供的程式碼片段中建立 PDF 檢視器的圖形使用者介面。 Tkinter 通常隨 Python 預先安裝,但如果您遇到任何問題,可以使用套件管理器來安裝它:
    :InstallCmd pip install tkinter
  1. Pillow 庫:Pillow 庫是 Python 圖像庫的一個分支(PIL)並提供額外的影像處理功能。 它用於程式碼片段中載入並顯示從 PDF 中提取的圖像。 使用套件管理器安裝 Pillow:
    :InstallCmd pip install pillow
  1. 整合開發環境(集成開發環境)使用整合開發環境 (集成開發環境) 來處理 Python 專案可以極大地提升您的開發體驗。 它提供代碼完成、調試和更精簡的工作流程等功能。 一個受歡迎的 Python 開發 IDE 是 PyCharm。 您可以從 JetBrains 網站下載並安裝 PyCharm(https://www.jetbrains.com/pycharm/).

  2. 文字編輯器:或者,如果您偏好使用輕量級的文字編輯器,您可以選擇任何您喜歡的文字編輯器,例如 Visual Studio Code、Sublime Text 或 Atom。 這些編輯器提供語法高亮顯示以及其他對 Python 開發有用的功能。 您也可以使用 Python 自己的 IDE 應用程式來創建 Python 腳本。

在 PyCharm 中建立 PDF 查看器專案

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

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

  2. 創建新專案: 點擊「創建新專案」或打開現有的 Python 專案。

    如何在 Python 中將 PDF 轉換為文字 (教程),圖 1:PyCharm IDE

    PyCharm IDE

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

    如何在 Python 中將 PDF 轉換為文本(教程),圖 2:創建一個新的 Python 專案

    創建一個新的 Python 專案

  4. 創建源文件: PyCharm 會創建專案結構,包括一個主 Python 文件和一個用於額外源文件的目錄。 開始撰寫程式碼並點擊運行按鈕或按下 Shift+F10 來執行腳本。

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

匯入所需的函式庫

首先,匯入必要的函式庫。 在這種情況下,將需要 osshutilironpdftkinterPIL 庫。 osshutil 庫用於文件和文件夾操作,IronPDF 是處理 PDF 文件的庫,tkinter 用於創建圖形用戶界面。(圖形用戶介面),以及PIL用於圖像處理。

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

將 PDF 文件轉換為圖像

接下來,定義一個名為 convert_pdf_to_images 的函數。 此函數以 PDF 文件的路徑作為輸入。 在函式內,IronPDF 庫用於從文件中加載 PDF 文件。然後指定一個資料夾路徑來儲存提取的圖像文件。 IronPDF 的 pdf.RasterizeToImageFiles 方法用於將 PDF 的每個 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 文件中提取文字,請訪問此程式碼範例頁面.

處理視窗關閉

為了在應用程式視窗關閉時清除提取的影像檔案,定義一個 on_closing 函數。 在此函式中,使用 shutil.rmtree()方法刪除整個images`文件夾。 接下來,將此函數設置為在關閉窗口時執行的協議。 以下代碼有助於完成此任務:

def on_closing():
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

創建 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

為圖像創建框架

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

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

將 PDF 檔案轉換為圖像並顯示

下一步是呼叫 convert_pdf_to_images()function 入 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:輸入檔案

輸入檔案

運行 GUI 主迴圈

最後,讓我們使用 window.mainloop 運行主事件迴圈()`. 這確保圖形用戶界面視窗保持開啟並具回應性,直到用戶將其關閉為止。

window.mainloop()
PYTHON

如何在 Python 中将 PDF 转换为文本(教程),图 4:UI 输出

UI 輸出

結論

本教程探討了如何使用Python查看PDF文件。IronPDF圖書館 它涵蓋了打開 PDF 文件並將其轉換為一系列圖像文件的步驟,然後在可滾動的畫布中顯示它們,並在應用程式關閉時處理提取圖像的清理工作。

有關 IronPDF for Python 庫的更多詳細資訊,請參閱文檔.

下載並安裝IronPDF for Python函式庫及取得 a免費試用以在商業開發中測試其完整功能。

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

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

免費 pip 安裝 查看許可證 >