使用 Tkinter 将图像转换为 PDF


Python 是一种脚本语言,因此它在许多方面有助于创建文件转换器,例如 CSV 到 PDF、PDF 到 DOC,反之亦然。借助某些库,我们还可以创建一个将图像转换为 PDF 的应用程序。要创建这样的应用程序,我们在 Python 中使用 **img2pdf** 模块。它有助于解析图像二进制文件并将其转换为 PDF。

我们将按照以下步骤创建应用程序:

  • 首先,确保系统已安装 **img2pdf** 的必要条件。在终端中键入 **pip install img2pdf** 以安装该包。在笔记本中导入 **img2pdf**。

  • 导入 **filedialog** 以打开一个对话框,要求用户在目录中选择多个图像。

  • 通过键入 from **tkinter import *** 导入 **tkinter** 库。

  • 使用 Tkinter 库创建基本结构,例如用于打开文件对话框的按钮小部件、用于显示消息的标签小部件。

  • 定义一个函数来打开对话框,该对话框要求用户在目录中选择多个图像。

  • 定义一个函数,用于以二进制方式打开文件并使用 **convert** 方法将其转换为 PDF。

示例

# Import required Libraries
from tkinter import *
from tkinter import filedialog
import img2pdf
from tkinter import ttk
# Create an instance of tkinter frame
win = Tk()
#set the geometry
win.geometry('750x250')
win.title("Image to PDF")
def select_file():
   global images
   images = filedialog.askopenfilenames(initialdir = "",title = "Select Images")
   Label(win, text=images).pack()
#Convert Image to PDF
def image_to_pdf():
   for image in enumerate(images):
      with open(f"{image}.pdf", "wb") as file:
         file.write(img2pdf.convert(images))
         Label(frame,text=file).pack()
# Add Labels and Buttons
Label(win, text = "Image to PDF Convertor",font = "Caveat 25 bold").pack(pady = 30)
ttk.Button(win, text = "Select Images",command = select_file).pack(ipadx = 10)
frame = Frame(win)
frame.pack()
ttk.Button(frame, text = "Convert and Save",command = image_to_pdf).pack(side = LEFT, pady=20,ipadx = 10)
win.mainloop()

输出

运行以上代码将显示应用程序窗口,该窗口将把图像转换为 PDF 文件。

现在,从本地目录中选择一个图像文件,然后单击“转换并保存”按钮将其转换为 PDF 并保存。

更新于: 2021 年 4 月 21 日

514 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告