社区您好,我是编程新手。 所以,在此先感谢,我在 pycharm 中运行该程序,Convert 开始并且似乎工作没有问题(解析页面...-> 创建页面...等)然后,当我转到我的文件所在的目录时保存,检查,如果转换有效,我看到了附件图片中显示的内容(docx 文件显示为图片,如片段,而不是文本),我想知道,如果你知道为什么会发生这种情况,如果你知道如何解决它。
你好欢迎。 从截图来看,我猜你看到的“文本”不是真正的文本。 你能复制和粘贴文本吗? 如果您可以上传pdf(您失败的一页就足够了)用于我的测试,那就太好了。
抱歉, pdf2docx
一个限制是它只能处理基于文本的 pdf。 您的pdf页面由多张图像组成,这些图像不会被ocr-ed,而是直接复制到docx。 下面的屏幕截图显示了 pdf 格式的图像。
好的,我会记住这一点,感谢您的快速回复。 我不知道你是否已经完成了用户界面,但我已经为你的程序完成了一个基本友好的用户界面,这里是代码。
from pdf2docx import Converter
from tkinter import *
from tkinter.filedialog import *
from tkinter import filedialog
root = Tk()
root.title('PDF_2_Docx Converter')
root.geometry('500x500')
root.config(bg='grey')
def pdf_file_location():
Tk().withdraw()
filename = askopenfilename()
file_path_pdf_entry.insert(0, filename)
def docx_folder_location():
Tk().withdraw()
folder_selected = filedialog.askdirectory() + "/" + 'New_DOCX.docx'
file_path_docx_entry.insert(0, folder_selected)
def convert_button_function():
cv = Converter(file_path_pdf_entry.get())
cv.convert(file_path_docx_entry.get(), start=0, end=None)
cv.close()
"""Labels"""
label1 = Label(text='PDF to Docx', font='Impact 40', bg='white', fg='#1E90FF')
label1.grid(column=2, row=1, sticky='n', pady=50, padx=120)
"""Entries"""
# PDF file entry
file_path_pdf_entry = Entry(border=5)
file_path_pdf_entry.grid(ipadx=90, ipady=4, padx=20, sticky='nw', column=2, pady=1, row=2)
# Docx file entry
file_path_docx_entry = Entry(border=5)
file_path_docx_entry.grid(column=2, ipady=4, ipadx=90, padx=20, sticky='nw', pady=70, row=3)
"""Buttons"""
# Convert Button
converter_button = Button(text='Convert', bg='#1E90FF', fg='white', font='impact 20', border=5,
command=convert_button_function)
converter_button.grid(padx=175, sticky='s', ipady=5, ipadx=10, column=2, row=4)
select_pdf_file = Button(text='Select PDF file', fg='black', bg='white', border=3,
command=pdf_file_location)
select_pdf_file.grid(column=2, sticky='ne', row=2, pady=6, padx=60)
select_new_file_folder = Button(text='Select new file folder', fg='black', bg='white', border=3,
command=docx_folder_location)
select_new_file_folder.grid(column=2, sticky='ne', row=3, pady=74, padx=26)
root.mainloop()
非常感激。 这是个好主意 -> 我会将 GUI 放入待办事项。
您是否想进行更多改进,例如以批处理模式在用户定义的文件夹下转换多 pdf 文件。 之后,请提交PR,以便我可以将您的工作合并到该库中,以使更多人受益。
批处理模式你的意思是,保存为批处理文件并运行它? 我可以在 Windows exe 中完成。 你喜欢哪个?
使用您的用户界面,一次可以转换一个文件。 但是可能需要转换大量的pdf文件,在这种情况下,将所有pdf文件放在一个文件夹中,选择该文件夹并一次转换它们会更方便。
最有用的评论
好的,我会记住这一点,感谢您的快速回复。 我不知道你是否已经完成了用户界面,但我已经为你的程序完成了一个基本友好的用户界面,这里是代码。