在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
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 网站 至 获取许可证密钥.
在使用 Python 中的 IronPDF 之前,我们需要准备一些先决条件:
Python安装:确保您的系统已安装 Python。IronPDF 兼容 Python 3.x 版本,因此请确保安装了兼容的 Python。
:InstallCmd pip install ironpdf
:InstallCmd pip install tkinter
:InstallCmd pip install pillow
集成开发环境 (IDE):使用集成开发环境来处理 Python 项目,可以大大提高您的开发体验。它能提供代码补全、调试和更简化的工作流程等功能。PyCharm 是一种流行的 Python 开发集成开发环境。您可以从 JetBrains 网站下载并安装 PyCharm。 (https://www.jetbrains.com/pycharm/).
安装 PyCharm IDE 后,按照以下步骤创建 PyCharm python 项目:
启动 PyCharm: 从系统的应用程序启动器或桌面快捷方式打开 PyCharm。
创建新项目: 点击 "创建新项目 "或打开现有的 Python 项目。
配置项目设置: 提供项目名称,并选择创建项目目录的位置。为项目选择 Python 解释器。然后点击 "创建"。
首先,我们需要导入必要的库。在本例中,我们需要 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 的每个 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()方法删除整个
images` 文件夹。我们还将此函数设置为关闭窗口时执行的协议。下面的代码有助于完成任务:
def on_closing():
# Delete the images in the 'images' folder
shutil.rmtree("images")
window.destroy()
window.protocol("WM_DELETE_WINDOW", on_closing)
现在,我们使用 `Tk()构造函数。我们将窗口标题设置为 "图像查看器",并将 "on_closing"(关闭)设置为 "on_closing"。()函数作为处理窗口关闭的协议。
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
为了显示图像并实现滚动,我们创建了一个 Canvas 部件。Canvas widget 被配置为填充可用空间,并使用 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"))
接下来,我们在画布内创建一个 Frame
部件来放置图片。我们使用 create_window()将边框放置在画布中。在(0, 0)坐标和
anchor='nw'` 参数确保帧从画布的左上角开始。
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
我们将 convert_pdf_to_images()函数,输入 PDF 文件的文件路径名。该函数将 PDF 页面提取为图像,并返回图像路径列表。我们遍历图像路径,并使用
Image.open加载每个图像。()方法创建一个
PhotoImage对象。然后,我们使用
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)
最后,我们使用 window.mainloop 运行主事件循环()
.这样可以确保图形用户界面窗口保持打开和响应状态,直到用户关闭为止。
window.mainloop()
在本教程中,我们学习了如何在 Python 中使用 IronPDF 库。我们介绍了打开 PDF 文件并将其转换为一系列图像文件所需的步骤,然后在可滚动画布中显示这些文件,并在应用程序关闭时处理已提取图像的清理工作。
有关 IronPDF Python 库的更多详情,请参阅 文献资料.
下载并安装 IronPDF Python 图书馆,并获得 免费试用 以测试其在商业开发中的完整功能。