Python PDF转DOCX文档

第三方包:pdf2docx

from pdf2docx import Converter

def convert_pdf_to_docx(pdf_path, docx_path):
    # 创建一个转换器对象
    converter = Converter(pdf_path)

    # 将PDF转换为DOCX
    converter.convert(docx_path, start=0, end=None)

    # 关闭转换器
    converter.close()

# 调用函数进行转换
pdf_path = "input.pdf"
docx_path = "output.docx"
convert_pdf_to_docx(pdf_path, docx_path)

他很容易理解,只需要你定义好文件路径即可完成转换操作。此外,我也不多解释了,因为start参数用于指定转换的起始页码,而end参数用于指定转换的结束页码。你可以根据需要设置这两个参数的值,如果不需要指定起始页码,可以将start参数设置为0;如果不需要指定结束页码,则可以将end参数设置为None。

官方可视化界面

代码很简单,但是如果是自己使用的话,每次都要写一次路径可能会很麻烦。不过你可以使用一个可视化交互界面来简化这个过程,这样会更方便一些。幸运的是,pdf2docx提供了一个简易版的界面,你可以在控制台中直接输入"pdf2docx gui"来启动。在界面中,你只需要选择要转换的PDF文件和一个文件夹作为保存路径,就可以完成转换操作了。这样的话,你就不需要每次都手动输入路径了。非常方便。

image

简易版可交互界面

但是,如果你对pdf2docx提供的界面不满意,并且觉得界面不够好看,那么可以考虑使用另一个第三方界面库,叫做gradio。我记得你之前在向量数据库中使用过这个库,对后端非常友好。你可以先写一个简单的界面,然后逐步优化它,以满足你的需求。gradio提供了很多功能和自定义选项,你可以根据自己的喜好来设计界面的外观和交互方式。然后慢慢优化吧。

import gradio as gr
from pdf2docx import Converter


def convert_pdf_to_docx_with_display(pdf_file):
    tmp_file = "./output.docx"
    # Convert PDF to DOCX
    cv = Converter(pdf_file)
    cv.convert(tmp_file)
    cv.close()

    return tmp_file


def convert_and_display_pdf_to_docx(pdf_file):
    docx_file = convert_pdf_to_docx_with_display(pdf_file)
    return docx_file


iface = gr.Interface(
    fn=convert_and_display_pdf_to_docx,
    inputs=["file"],
    outputs=["file"],
    title="[努力的小雨] PDF to DOCX Converter",
    description="上传pdf文件,并将其转化为docx文件",
)

iface.launch()

相关推荐

  1. python文件docxpdf

    2023-12-15 12:54:04       41 阅读
  2. docx、excel、wordpdf文件

    2023-12-15 12:54:04       25 阅读
  3. 将.docx格式文件成html,uniapp使用u-parse展示

    2023-12-15 12:54:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 12:54:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 12:54:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 12:54:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 12:54:04       20 阅读

热门阅读

  1. 升级Xcode15,iOS17后问题解决

    2023-12-15 12:54:04       56 阅读
  2. PHP日期 函数

    2023-12-15 12:54:04       41 阅读
  3. vivado约束方法4

    2023-12-15 12:54:04       46 阅读
  4. SQL Server查询表结构

    2023-12-15 12:54:04       31 阅读
  5. IPv6网络协议有什么用

    2023-12-15 12:54:04       41 阅读
  6. ES客户端RestHighLevelClient的使用

    2023-12-15 12:54:04       41 阅读
  7. Elasticsearch 查询语法

    2023-12-15 12:54:04       38 阅读