📜  使用Python将 PDF 转换为图像

📅  最后修改于: 2022-05-13 01:55:35.426000             🧑  作者: Mango

使用Python将 PDF 转换为图像

互联网上有许多工具可用于将 PDF 转换为图像。在本文中,我们将编写用于将 pdf 转换为图像的代码,并在Python中制作一个方便的应用程序。在编写代码之前,我们需要安装所需的模块pdf2imagepoppler。

需要的模块

  • pdf2image 1.14.0:此模块将 PDF 转换为 PIL 对象。要安装此模块,请在终端中键入以下命令。
pip install pdf2image
  • poppler:该模块允许读取、渲染或修改 PDF 文档。 Windows 用户必须为 Windows 构建或下载 poppler。点击这里下载

方法:

  • 导入 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 文件。