在日常工作中,我们经常需要将 PDF 文档转换为 Word 文件。幸运的是,Python 提供了很多强大的库,帮助我们实现这一功能。今天,我将与大家分享如何使用 wxPython
创建一个简单的图形用户界面(GUI)应用程序,结合 pdf2docx
库,实现将 PDF 转换为 Word 文档的功能。
C:\pythoncode\new\PDFConvertWord.py
项目概述
这个小工具的主要目的是通过一个简单的窗口,让用户选择一个 PDF 文件,然后点击“转换”按钮,程序会将 PDF 文件转换为 Word 格式并保存在相同目录下。我们将使用 wxPython
来创建图形界面,pdf2docx
来进行实际的 PDF 转换。
全部代码
import wx
import os
from pdf2docx import Converter
class PDFConverterFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='PDF to Word Converter', size=(500, 200))
self.pdf_path = None
# Create main panel
panel = wx.Panel(self)
# Create vertical box sizer
vbox = wx.BoxSizer(wx.VERTICAL)
# Create file picker button
self.file_picker = wx.FilePickerCtrl(
panel,
message="Choose a PDF file",
wildcard="PDF files (*.pdf)|*.pdf",
style=wx.FLP_USE_TEXTCTRL | wx.FLP_OPEN | wx.FLP_FILE_MUST_EXIST
)
vbox.Add(self.file_picker, 0, wx.ALL | wx.EXPAND, 5)
# Create status text
self.status_text = wx.StaticText(panel, label="Select a PDF file to convert")
vbox.Add(self.status_text, 0, wx.ALL | wx.CENTER, 5)
# Create convert button
convert_btn = wx.Button(panel, label='Convert to Word')
convert_btn.Bind(wx.EVT_BUTTON, self.on_convert)
vbox.Add(convert_btn, 0, wx.ALL | wx.CENTER, 5)
# Set panel sizer
panel.SetSizer(vbox)
# Center window on screen
self