Pdf2docx: Problem mit der docx-Datei nach der Konvertierung

Erstellt am 13. Mai 2021  ·  7Kommentare  ·  Quelle: dothinking/pdf2docx

Hallo an die Community, ich bin neu in der Programmierung. Also, danke im Voraus, ich führe das Programm in pycharm aus, das Convert startet und scheint ohne Probleme zu funktionieren (Parsing Page... -> Creating Page... etc.), wenn ich dann in das Verzeichnis gehe, in dem meine Datei war gespeichert, um zu überprüfen, ob die Konvertierung funktioniert hat, sehe ich, was im angehängten Bild angezeigt wird (die docx-Datei wird wie Bilder angezeigt, wie Teile, nicht wie Text) und ich habe mich gefragt, ob Sie eine Ahnung haben, warum dies passiert und ob Sie habe eine idee wie man das beheben kann.
problem

good first issue question

Hilfreichster Kommentar

ok das werde ich mir merken, danke für deine schnelle antwort. Ich weiß nicht, ob Sie bereits eine Benutzeroberfläche erstellt haben, aber ich habe eine einfache benutzerfreundliche Benutzeroberfläche für Ihr Programm erstellt und hier ist der Code davon.

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

Alle 7 Kommentare

Hallo, willkommen. Aus dem Screenshot geht hervor, dass der "Text", den Sie gesehen haben, kein echter Text ist. Kannst du den Text kopieren und einfügen? Es wäre toll, wenn Sie das PDF (eine nicht bestandene Seite reicht) für meinen Test hochladen könnten.

eine_seite.pdf

Das pdf, das ich konvertieren möchte.


eine_seite.docx

Die konvertierte docx.

ich hoffe das hilft

Leider kann pdf2docx nur textbasierte PDFs verarbeiten. Ihre PDF-Seite besteht aus mehreren Bildern, die nicht gespeichert, sondern direkt in docx kopiert werden. Der Screenshot unten zeigt die Bilder als pdf.

image

ok das werde ich mir merken, danke für deine schnelle antwort. Ich weiß nicht, ob Sie bereits eine Benutzeroberfläche erstellt haben, aber ich habe eine einfache benutzerfreundliche Benutzeroberfläche für Ihr Programm erstellt und hier ist der Code davon.

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

Sehr geschätzt. Es ist eine gute Idee -> ich werde GUI in den Backlog setzen.

Möchten Sie etwas mehr verbessern, zB Multi-PDF-Dateien in einen benutzerdefinierten Ordner im Batch-Modus konvertieren. Danach reichen Sie bitte eine PR ein, damit ich Ihre Arbeit mit dieser Bibliothek zusammenführen kann, um mehr Menschen zu nutzen.

Batch-Modus meinst du, als Batch-Datei zu speichern und auszuführen? Ich kann es tun Windows-exe. was bevorzugen Sie?

Mit Ihrer Benutzeroberfläche kann man eine Datei pro Zeit konvertieren. Möglicherweise müssen jedoch viele PDF-Dateien konvertiert werden. In diesem Fall ist es bequemer, alle PDF-Dateien in einen Ordner zu legen, diesen Ordner auszuwählen und alle auf einmal zu konvertieren.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

startxc picture startxc  ·  4Kommentare

Jalkhov picture Jalkhov  ·  5Kommentare

echan00 picture echan00  ·  9Kommentare

harrylyf picture harrylyf  ·  5Kommentare

hansent picture hansent  ·  3Kommentare