Halo komunitas, saya baru dalam pemrograman. Jadi, terima kasih sebelumnya, saya menjalankan program di pycharm, Konversi dimulai dan tampaknya berfungsi tanpa masalah (Parsing Page ... -> Membuat Halaman ... dll.) Kemudian, ketika saya pergi ke direktori tempat file saya berada disimpan, untuk memeriksa, apakah konversi berhasil, saya melihat apa yang ditunjukkan pada gambar terlampir (file docx ditampilkan seperti gambar, seperti potongan, tidak seperti teks) dan saya bertanya-tanya, apakah Anda tahu mengapa ini terjadi dan jika Anda punya ide bagaimana memperbaikinya.
Halo selamat datang. Dari tangkapan layar, saya kira "teks" yang Anda lihat bukanlah teks asli. Bisakah Anda menyalin dan menempel teks? Akan sangat bagus jika Anda dapat mengunggah pdf (satu halaman yang Anda gagal sudah cukup) untuk pengujian saya.
Maaf satu batasan pdf2docx
adalah hanya dapat memproses pdf berbasis teks. Halaman pdf Anda terdiri dari beberapa bagian gambar, yang tidak akan di-ocr-ed, tetapi disalin ke docx secara langsung. Tangkapan layar di bawah ini menunjukkan gambar dalam pdf.
ok, saya akan mengingatnya, terima kasih atas balasan cepat Anda. saya tidak tahu apakah Anda telah melakukan antarmuka pengguna, tetapi saya telah melakukan antarmuka pengguna yang ramah dasar untuk program Anda dan ini adalah kode dari ini.
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()
Sangat dihargai. Itu ide yang bagus -> Saya akan memasukkan GUI ke dalam backlog.
Apakah Anda ingin melakukan sedikit peningkatan, misalnya mengonversi file multi-pdf di bawah folder yang ditentukan pengguna dalam mode batch. Setelah itu, kirimkan PR, agar saya dapat menggabungkan pekerjaan Anda ke perpustakaan ini untuk memberi manfaat lebih banyak orang.
mode batch maksud Anda, untuk menyimpan sebagai file batch dan menjalankannya? Saya bisa melakukannya windows exe. apa yang Anda sukai?
Dengan antarmuka pengguna Anda, seseorang dapat mengonversi satu file per waktu. Tetapi seseorang mungkin perlu mengonversi banyak file pdf, dalam kasus seperti itu, akan lebih mudah untuk meletakkan semua file pdf dalam folder, pilih folder itu dan konversikan semuanya sekaligus.
Komentar yang paling membantu
ok, saya akan mengingatnya, terima kasih atas balasan cepat Anda. saya tidak tahu apakah Anda telah melakukan antarmuka pengguna, tetapi saya telah melakukan antarmuka pengguna yang ramah dasar untuk program Anda dan ini adalah kode dari ini.