使用Python将 PDF 转换为图像
互联网上有许多工具可用于将 PDF 转换为图像。在本文中,我们将编写用于将 pdf 转换为图像的代码,并在Python中制作一个方便的应用程序。在编写代码之前,我们需要安装所需的模块pdf2image和poppler。
需要的模块
- pdf2image 1.14.0:此模块将 PDF 转换为 PIL 对象。要安装此模块,请在终端中键入以下命令。
pip install pdf2image
- poppler:该模块允许读取、渲染或修改 PDF 文档。 Windows 用户必须为 Windows 构建或下载 poppler。点击这里下载
You will then have to add the bin/ folder to PATH or use
poppler_path = r”C:\path\to\poppler-xx\bin” as an argument in convert_from_path.
方法:
- 导入 pdf2image 模块
- 使用convert_from_path()存储 PFD
- 使用save()保存图像
下面是实现。
使用的 PDF 文件:
Python
# import module
from pdf2image import convert_from_path
# Store Pdf with convert_from_path function
images = convert_from_path('example.pdf')
for i in range(len(images)):
# Save pages as images in the pdf
images[i].save('page'+ str(i) +'.jpg', 'JPEG')
Python3
from pdf2image import convert_from_path
from tkinter import *
from tkinter import messagebox
def pdf2img():
try:
images = convert_from_path(str(e1.get()))
for img in images:
img.save('new_folder\output.jpg', 'JPEG')
except :
Result = "NO pdf found"
messagebox.showinfo("Result", Result)
else:
Result = "success"
messagebox.showinfo("Result", Result)
master = Tk()
Label(master, text="File Location").grid(row=0, sticky=W)
e1 = Entry(master)
e1.grid(row=0, column=1)
b = Button(master, text="Convert", command=pdf2img)
b.grid(row=0, column=2,columnspan=2, rowspan=2,padx=5, pady=5)
mainloop()
输出:
让我们使用 Tkinter 为应用程序编写代码:此脚本将上述实现实现到 GUI 中。
下面是实现。
蟒蛇3
from pdf2image import convert_from_path
from tkinter import *
from tkinter import messagebox
def pdf2img():
try:
images = convert_from_path(str(e1.get()))
for img in images:
img.save('new_folder\output.jpg', 'JPEG')
except :
Result = "NO pdf found"
messagebox.showinfo("Result", Result)
else:
Result = "success"
messagebox.showinfo("Result", Result)
master = Tk()
Label(master, text="File Location").grid(row=0, sticky=W)
e1 = Entry(master)
e1.grid(row=0, column=1)
b = Button(master, text="Convert", command=pdf2img)
b.grid(row=0, column=2,columnspan=2, rowspan=2,padx=5, pady=5)
mainloop()
输出:
如果您的指定位置没有 PDF 文件。