使用IRONPDF FOR PYTHON

如何在 Python 中查看 PDF 文件

本文将探讨如何使用 IronPDF for Python 库在 Python 中查看 PDF 文件。

IronPDF - Python 库

IronPDF 是一个功能强大的 Python 库,可让开发人员以编程方式处理 PDF 文件。 有了 IronPDF,您可以轻松地从 PDF 文档中生成、操作和提取数据,使其成为执行各种 PDF 相关任务的通用工具。 无论您是需要从头开始创建 PDF、修改现有 PDF 还是从 PDF 中提取内容,IronPDF 都能提供一套全面的功能来简化您的工作流程。

IronPDF for Python 库的部分功能包括

先决条件

在使用 Python 版 IronPDF 之前,有几个前提条件:

  1. Python 安装:确保您的系统上已安装 Python。 IronPDF 兼容 Python 3.x 版本,因此请确保您安装了兼容的 Python。

  2. IronPDF Library:安装IronPDF库以访问其功能。 您可以使用 Python 包管理器(pip)通过在命令行界面中执行以下命令来安装它:
    :InstallCmd pip install ironpdf
    :InstallCmd pip install ironpdf
SHELL
  1. Tkinter 库:Tkinter 是 Python 的标准 GUI 工具包。 它用于创建所提供代码片段中 PDF 查看器的图形用户界面。 Tkinter 通常预装在 Python 中,但如果遇到任何问题,可以使用软件包管理器进行安装:
    :InstallCmd pip install tkinter
    :InstallCmd pip install tkinter
SHELL
  1. Pillow 库: Pillow 库是 Python Imaging Library (PIL) 的一个分支,提供了额外的图像处理功能。 它在代码片段中用于加载和显示从 PDF 中提取的图像。 使用软件包管理器安装 Pillow:
    :InstallCmd pip install pillow
    :InstallCmd pip install pillow
SHELL
  1. 集成开发环境 (IDE):使用IDE来管理Python项目可以极大地提升您的开发体验。 它提供了代码补全、调试和更简化的工作流程等功能。 一个受欢迎的Python开发IDE是PyCharm。 您可以从 JetBrains 网站 (https://www.jetbrains.com/pycharm/) 下载和安装 PyCharm。

  2. 文本编辑器:或者,如果您更喜欢使用轻量级文本编辑器,可以选择使用任何您喜欢的文本编辑器,例如 Visual Studio Code、Sublime Text 或 Atom。 这些编辑器为 Python 开发提供语法高亮和其他有用的功能。 您也可以使用 Python 自带的 IDE App 来创建 Python 脚本。

使用 PyCharm 创建 PDF 查看器项目

安装 PyCharm IDE 后,按照以下步骤创建 PyCharm Python 项目:

  1. 启动 PyCharm: 从系统的应用程序启动器或桌面快捷方式中打开 PyCharm。

  2. 创建新项目:点击“创建新项目”或打开现有的Python项目。

    如何在Python中将PDF转换为文本(教程),图1:PyCharm IDE

    PyCharm IDE

  3. 配置项目设置:为您的项目提供一个名称,并选择创建项目目录的位置。 为您的项目选择 Python 解释器。 然后点击 "创建"。

    如何在Python中将PDF转换为文本(教程),图2:创建一个新的Python项目

    创建一个新的Python项目

  4. 创建源文件:PyCharm 将创建项目结构,包括一个主 Python 文件和一个用于其他源文件的目录。 开始编写代码,然后单击运行按钮或按 Shift+F10 执行脚本。

使用 IronPDF 在 Python 中查看 PDF 文件的步骤

导入所需的库

首先,导入必要的库。 在这种情况下,需要使用osshutilironpdftkinterPIL库。 osshutil 库用于文件和文件夹操作,ironpdf 是处理 PDF 文件的库,tkinter 用于创建图形用户界面 (GUI),PIL 用于图像处理。

import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
py
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
py
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)
py
PYTHON

创建图形用户界面窗口

现在,让我们使用 Tk() 构造器创建主 GUI 窗口,将窗口标题设置为“Image Viewer”,并设置 on_closing() 函数作为处理窗口关闭的协议。

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

创建可滚动画布

要显示图像并启用滚动,请创建一个Canvas小部件。 Canvas 小部件被配置为使用 pack(side=LEFT, fill=BOTH, 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"))
py
PYTHON

为图片创建框架

接下来,使用create_window()在画布内创建一个Frame小部件来容纳图像,以便将框架放置在画布内。 (0, 0) 坐标和 anchor='nw' 参数确保框架从画布的左上角开始。

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

将 PDF 文件转换为图像并显示

下一步是使用输入PDF文件的文件路径名称调用convert_pdf_to_images()函数。该函数将PDF页面提取为图像,并返回图像路径列表。 通过遍历图像路径并使用 PIL 库中的 Image.open() 方法加载每个图像,可以使用 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)
py
PYTHON

如何在 Python 中将 PDF 转换为文本 (教程),图 3:输入文件

输入文件

运行 GUI 主循环

最后,让我们使用window.mainloop()运行主要事件循环。 这将确保图形用户界面窗口保持打开和响应状态,直到用户关闭为止。

window.mainloop()
py
PYTHON

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

用户界面输出

结论

本教程探讨了如何使用IronPDF库在Python中查看PDF文档。 它涵盖了打开 PDF 文件并将其转换为一系列图像文件,然后将其显示在可滚动画布中,以及在应用程序关闭时处理已提取图像的清理工作所需的步骤。

有关IronPDF for Python库的更多详细信息,请参阅文档

下载并安装IronPDF for Python库,还可以获取免费试用版来测试其在商业开发中的完整功能。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在 Python 中从 PDF 提取文本
下一步 >
如何在Python中将PDF转换为文本(教程)

准备开始了吗? 版本: 2025.5 刚刚发布

查看许可证 >