使用IRONPDF FOR PYTHON

如何在 Python 中查看 PDF 文件

更新 2024年九月21日
分享:

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

导入所需的库

首先,导入必要的库。 在这种情况下,需要使用 os, shutil, ironpdf, tkinterPIL 库。 os "和 "shutil "库用于文件和文件夹操作,"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

创建图形用户界面窗口

现在,让我们使用 `Tk()通过将窗口标题设置为 "Image Viewer",并将 "on_closing "设置为 "on_closing",我们可以创建一个 "Image Viewer "构造函数。()函数作为处理窗口关闭的协议。

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

创建可滚动画布

要显示图像并启用滚动功能,请创建一个 Canvas widget。 Canvas "小部件被配置为填充可用空间,并使用 "pack(side=LEFT, fill=BOTH, expand=True)`. 此外,创建一个 "滚动条 "部件,并对其进行配置,以控制所有页面和画布的垂直滚动。

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 widget 来放置图像。()在画布中放置框架。 The (0, 0)坐标和anchor='nw'` 参数确保帧从画布的左上角开始。

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

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

下一步是调用 convert_pdf_to_images()输入 PDF 文件路径名的 函数。该函数将 PDF 页面提取为图像,并返回图像路径列表。 通过迭代图片路径,并使用 Image.open' 加载每张图片()使用 PIL 库中的ImageTk.PhotoImage方法,创建一个PhotoImage对象。(). 然后创建一个 Label widget 来显示图片。

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:用户界面输出

用户界面输出

结论

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

有关 IronPDF for Python 库的更多详情,请参阅 IronPDF for Python 库。文献资料.

下载和安装IronPDF for Python图书馆,并获得免费试用以测试其在商业开发中的完整功能。

< 前一页
如何在 Python 中从 PDF 提取文本
下一步 >
如何在Python中将PDF转换为文本(教程)

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

免费 pip 安装 查看许可证 >