Pdf2docx: Problème avec le fichier docx après la conversion

Créé le 13 mai 2021  ·  7Commentaires  ·  Source: dothinking/pdf2docx

Bonjour à la communauté, je suis nouveau dans la programmation. Donc, merci d'avance, je lance le programme en pycharm, le Convert démarre et semble fonctionner sans problème (Parsing Page... -> Création de page... etc.) puis, quand je vais dans le répertoire où se trouvait mon fichier enregistré, pour vérifier, si la conversion a fonctionné, je vois ce qui est affiché dans l'image jointe (le fichier docx est affiché comme des images, comme des pièces, pas comme du texte) et je me demandais si vous aviez une idée de pourquoi cela se produit et si vous avoir une idée de comment y remédier.
problem

good first issue question

Commentaire le plus utile

ok, je vais y penser, merci pour votre réponse rapide. Je ne sais pas si vous avez déjà fait l'interface utilisateur, mais j'ai fait une interface utilisateur conviviale de base pour votre programme et voici le code de celui-ci.

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

Tous les 7 commentaires

Salut, bienvenue. D'après la capture d'écran, je suppose que le "texte" que vous avez vu n'est pas du vrai texte. Pouvez-vous copier et coller le texte ? Ce serait génial si vous pouviez télécharger le pdf (une page à laquelle vous avez échoué suffit) pour mon test.

une_page.pdf

Le pdf que je veux convertir.


une_page.docx

Le docx converti.

J'espère que ça aide

Désolé, une limitation de pdf2docx est qu'il ne peut traiter que des fichiers PDF basés sur du texte. Votre page pdf se compose de plusieurs images, qui ne seraient pas ocr-ed, mais copiées directement dans docx. La capture d'écran ci-dessous montre les images en pdf.

image

ok, je vais y penser, merci pour votre réponse rapide. Je ne sais pas si vous avez déjà fait l'interface utilisateur, mais j'ai fait une interface utilisateur conviviale de base pour votre programme et voici le code de celui-ci.

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

Très appréciée. C'est une bonne idée -> Je vais mettre l'interface graphique dans le backlog.

Souhaitez-vous apporter un peu plus d'amélioration, par exemple convertir des fichiers multi-pdf dans un dossier défini par l'utilisateur en mode batch. Après cela, veuillez soumettre un PR, afin que je puisse fusionner votre travail avec cette bibliothèque au profit d'un plus grand nombre de personnes.

mode batch, vous voulez dire, enregistrer en tant que fichier batch et l'exécuter ? Je peux le faire Windows exe. Que préfères-tu?

Avec votre interface utilisateur, on peut convertir un fichier à la fois. Mais on peut avoir besoin de convertir beaucoup de fichiers pdf, dans ce cas, il est plus pratique de mettre tous les fichiers pdf dans un dossier, de sélectionner ce dossier et de les convertir tous en une seule fois.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

harrylyf picture harrylyf  ·  5Commentaires

Jalkhov picture Jalkhov  ·  5Commentaires

echan00 picture echan00  ·  9Commentaires

startxc picture startxc  ·  4Commentaires

jakoch picture jakoch  ·  3Commentaires