Привет сообществу, я новичок в программировании. Итак, заранее спасибо, я запускаю программу в pycharm, Convert запускается и, кажется, работает без проблем (Parsing Page ... -> Creating Page ... и т. Д.), А затем, когда я перехожу в каталог, в котором был мой файл сохранены, чтобы проверить, сработало ли преобразование, я вижу, что показано на прикрепленном изображении (файл docx отображается как изображения, как фрагменты, а не как текст), и мне было интересно, знаете ли вы, почему это происходит, и если вы есть идеи, как это исправить.
Привет, добро пожаловать. Судя по скриншоту, я предполагаю, что «текст», который вы видели, не является настоящим текстом. Можете ли вы скопировать и вставить текст? Было бы здорово, если бы вы могли загрузить PDF-файл (одной страницы, которую вы провалили, достаточно) для моего теста.
PDF-файл, который я хочу преобразовать.
Конвертированный docx.
надеюсь, это поможет
Извините, одно ограничение pdf2docx
заключается в том, что он может обрабатывать только текстовые PDF-файлы. Ваша pdf-страница состоит из нескольких частей изображений, которые не будут обрабатываться, а напрямую скопированы в 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 в отставку.
Хотели бы вы сделать немного больше улучшений, например, преобразовать файлы multi-pdf в пользовательскую папку в пакетном режиме. После этого, пожалуйста, отправьте PR, чтобы я мог объединить вашу работу с этой библиотекой, чтобы принести пользу большему количеству людей.
Вы имеете в виду пакетный режим, чтобы сохранить как пакетный файл и запустить его? Я могу сделать это windows exe. что ты предпочитаешь?
С вашим пользовательским интерфейсом можно конвертировать один файл за раз. Но может потребоваться преобразовать много файлов pdf, в этом случае удобнее поместить все файлы pdf в папку, выбрать эту папку и преобразовать их все за один раз.
Самый полезный комментарий
хорошо, я буду иметь это в виду, спасибо за ваш быстрый ответ. Я не знаю, сделали ли вы уже пользовательский интерфейс, но я создал простой дружественный пользовательский интерфейс для вашей программы, и вот его код.