Python PDF转Word

作者 :
免费
  • 正文
  • 命令行核心代码:

    from pdf2docx import Converter
    def convert_pdf_to_docx(pdf_file_path, docx_file_path):
        # 将PDF转换为Word
        cv = Converter(pdf_file_path)
        cv.convert(docx_file_path, start=0, end=None)
        cv.close()
    if __name__ == "__main__":
        # 输入PDF文件路径和输出Word文件路径
        pdf_file_path = '考评报告书--高等学校.pdf'
        docx_file_path = '考评报告书--高等学校.docx'
        # 执行转换
        convert_pdf_to_docx(pdf_file_path, docx_file_path)
        print(f"转换完成,生成的Word文件保存在:{docx_file_path}")

    在命令行的基础上 增加了GUI

    import tkinter as tk
    from tkinter import filedialog
    from pdf2docx import Converter
    import os
    def convert_pdf_to_docx(pdf_file_path):
        # 获取 PDF 文件名(不带扩展名)
        pdf_file_name = os.path.splitext(os.path.basename(pdf_file_path))[0]
        # 设置输出的 Word 文件名
        docx_file_path = f"{pdf_file_name}.docx"
        # 将PDF转换为Word
        cv = Converter(pdf_file_path)
        cv.convert(docx_file_path, start=0, end=None)
        cv.close()
        return docx_file_path
    def browse_pdf():
        global pdf_file_path
        pdf_file_path = filedialog.askopenfilename(title="选择PDF文件", filetypes=[("PDF files", "*.pdf")])
        pdf_label.config(text=f"选择的PDF文件: {pdf_file_path}")
    def convert_and_save():
        if pdf_file_path:
            # 调用转换函数
            docx_file_path = convert_pdf_to_docx(pdf_file_path)
            result_label.config(text=f"转换完成,生成的Word文件保存在:{docx_file_path}")
        else:
            result_label.config(text="请先选择PDF文件")
    # 创建主窗口
    root = tk.Tk()
    root.title("PDF to Word Converter")
    # 设置窗口宽度和高度
    window_width = 400
    window_height = 300
    # 获取屏幕宽度和高度
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    # 计算窗口左上角坐标使其居中
    x_position = (screen_width - window_width) // 2
    y_position = (screen_height - window_height) // 2
    # 设置窗口大小和位置
    root.geometry(f"{window_width}x{window_height}+{x_position}+{y_position}")
    # 选择PDF文件按钮
    browse_button = tk.Button(root, text="选择PDF文件", command=browse_pdf)
    browse_button.pack(pady=10)
    # 显示选择的PDF文件路径
    pdf_label = tk.Label(root, text="选择的PDF文件: ")
    pdf_label.pack()
    # 转换按钮
    convert_button = tk.Button(root, text="转换为Word", command=convert_and_save)
    convert_button.pack(pady=10)
    # 显示转换结果
    result_label = tk.Label(root, text="")
    result_label.pack()
    # 在窗口底部添加 "Development by 都百顺" 横向居中显示
    developer_label = tk.Label(root, text="Development by 都百顺(抖音号:dubaishun12)")
    developer_label.pack(side="bottom", pady=10)
    # 运行主循环
    root.mainloop()

    Python PDF转Word-完美源码

    上面下载是生成好的 .exe文件


    下面这份代码来源于网上,转换效果不好,只能转换成文字,不能把换行和表格转换出来。

    import PyPDF2
    from docx import Document
    def clean_text(text):
        # 将文本限制为XML兼容的字符
        return ''.join(c for c in text if c.isprintable())
    # 打开PDF文件
    pdf_file = open('考评报告书--高等学校.pdf', 'rb')
    # 创建一个PDF读取器对象
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    # 创建一个Word文档对象
    doc = Document()
    # 读取PDF文件中的每一页,并将其转换为Word文档中的段落
    for page_num in range(len(pdf_reader.pages)):
        page = pdf_reader.pages[page_num]
        text = page.extract_text()
        cleaned_text = clean_text(text)
        doc.add_paragraph(cleaned_text)
    # 保存Word文档
    doc.save('考评报告书--高等学校.docx')
    # 关闭PDF文件和Word文档对象
    pdf_file.close()

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » Python PDF转Word
    3496+

    本站勉强运行

    3675+

    用户总数

    690+

    资源总数

    0+

    今日更新

    2024-4-8

    最后更新时间