مرحبًا بالمجتمع ، أنا جديد في البرمجة. لذا ، شكرًا مقدمًا ، قمت بتشغيل البرنامج في pycharm ، يبدأ التحويل ويبدو أنه يعمل دون مشاكل (تحليل الصفحة ... -> إنشاء الصفحة ... إلخ) ثم ، عندما أذهب إلى الدليل الذي كان ملفي فيه تم الحفظ ، للتحقق ، إذا نجح التحويل ، أرى ما يظهر في الصورة المرفقة (يتم عرض ملف docx مثل الصور ، مثل القطع ، وليس مثل النص) وكنت أتساءل ، إذا كان لديك أي فكرة لماذا يحدث هذا وإذا كنت لديك أي فكرة عن كيفية إصلاحها.
اهلا اهلا وسهلا. من لقطة الشاشة ، أعتقد أن "النص" الذي رأيته ليس نصًا حقيقيًا. هل يمكنك نسخ ولصق النص؟ سيكون من الرائع أن تتمكن من تحميل ملف pdf (صفحة واحدة فشلت فيها كافية) للاختبار الخاص بي.
عذرًا ، يتمثل أحد حدود 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()
مقدر جدا. إنها فكرة جيدة -> سأضع واجهة المستخدم الرسومية في الأعمال المتراكمة.
هل ترغب في إجراء المزيد من التحسين ، على سبيل المثال تحويل ملفات pdf متعددة ضمن مجلد يحدده المستخدم في وضع الدُفعات. بعد ذلك ، يرجى تقديم PR ، حتى أتمكن من دمج عملك في هذه المكتبة لإفادة المزيد من الأشخاص.
وضع الدُفعات تقصد ، لحفظه كملف دفعي وتشغيله؟ يمكنني أن أفعل ذلك windows exe. ماذا تفضل؟
مع واجهة المستخدم الخاصة بك ، يمكن للمرء تحويل ملف واحد في كل مرة. ولكن قد يحتاج المرء إلى تحويل الكثير من ملفات pdf ، في مثل هذه الحالة ، يكون من الأنسب وضع جميع ملفات pdf في مجلد وتحديد هذا المجلد وتحويلها جميعًا دفعة واحدة.
التعليق الأكثر فائدة
حسنًا ، سأضع ذلك في الاعتبار ، شكرًا على ردكم السريع. لا أعرف ما إذا كنت قد قمت بالفعل بواجهة مستخدم ، لكنني قمت بواجهة مستخدم سهلة الاستخدام لبرنامجك ، وهنا الرمز من هذا.