Pdf2docx: Проблема с файлом docx после конвертации

Созданный на 13 мая 2021  ·  7Комментарии  ·  Источник: dothinking/pdf2docx

Привет сообществу, я новичок в программировании. Итак, заранее спасибо, я запускаю программу в pycharm, Convert запускается и, кажется, работает без проблем (Parsing Page ... -> Creating Page ... и т. Д.), А затем, когда я перехожу в каталог, в котором был мой файл сохранены, чтобы проверить, сработало ли преобразование, я вижу, что показано на прикрепленном изображении (файл docx отображается как изображения, как фрагменты, а не как текст), и мне было интересно, знаете ли вы, почему это происходит, и если вы есть идеи, как это исправить.
problem

good first issue question

Самый полезный комментарий

хорошо, я буду иметь это в виду, спасибо за ваш быстрый ответ. Я не знаю, сделали ли вы уже пользовательский интерфейс, но я создал простой дружественный пользовательский интерфейс для вашей программы, и вот его код.

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()

Все 7 Комментарий

Привет, добро пожаловать. Судя по скриншоту, я предполагаю, что «текст», который вы видели, не является настоящим текстом. Можете ли вы скопировать и вставить текст? Было бы здорово, если бы вы могли загрузить PDF-файл (одной страницы, которую вы провалили, достаточно) для моего теста.

one_page.pdf

PDF-файл, который я хочу преобразовать.


one_page.docx

Конвертированный docx.

надеюсь, это поможет

Извините, одно ограничение pdf2docx заключается в том, что он может обрабатывать только текстовые PDF-файлы. Ваша pdf-страница состоит из нескольких частей изображений, которые не будут обрабатываться, а напрямую скопированы в docx. На скриншоте ниже показаны изображения в формате pdf.

image

хорошо, я буду иметь это в виду, спасибо за ваш быстрый ответ. Я не знаю, сделали ли вы уже пользовательский интерфейс, но я создал простой дружественный пользовательский интерфейс для вашей программы, и вот его код.

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 в папку, выбрать эту папку и преобразовать их все за один раз.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги