python | 简易版: pdf 转换为 word 方法

一、 前言

本文利用python将pdf转换为word方法,需要用到两个第三方模块,分别是:

(1)pdfplumber,用来解析pdf文档,包括pdf的基本信息(作者、创建时间、修改时间...)及表格、文本、图片等信息,基本可以满足较为简单的格式转换功能。

(2)python-docx,可用来创建、修改word文档(.docx),提供全套的word操作,是较为常用的一个操作word的python库。

以上两者,都可以使用pip命令直接安装,具体命令如下:

python 复制代码
pip install pdfplumber
python 复制代码
pip install python-docx

二、pdf转换为word方法详解

以下代码块,实现提取pdf文件内容,并保存word中。

复制并运行代码,输入需要转换的pdf文档详细路径,回车即可。

python 复制代码
import pdfplumber
from docx import Document


# 新建一个word,用来保存pdf内容
def get_newword(file_path):
    doc = Document()
    doc.save(file_path+r'\res.docx')


# 提取pdf中的所有文本,并保存到word中
def get_con(file_path):
    tem_path = '\\'.join(file_path.split("\\")[:-1])
    # 新建一个word
    get_newword(tem_path)
    doc = Document(tem_path+r'\res.docx')
    with pdfplumber.open(file_path) as pdf:
        for i, page in enumerate(pdf.pages):  # 默认取pdf中所有存在页
            con = page.extract_text()
            doc.add_paragraph(con)
            print('-----------分割线,第%d页-----------' % (int(i) + 1))
            doc.save(tem_path+r'\res.docx')
            print('保存成功第%d页' % (int(i) + 1))


if __name__ == "__main__":
    # 输入文件路径全称,如:E:\pytest\pdfp\data\test.pdf
    print(r'文件路径示例:E:\pytest\pdfp\data\test.pdf')
    file_path = input('请输入需要转化的pdf文件路径:')
    get_con(file_path)

(一)上述代码释义、说明

(1)pdfplumber提取pdf文本内容方法

方法:extract_text(),返回一个字符串,其中包含页面中的所有文本。如果只想提取页面的一部分文本,可以将提取的区域作为参数传递给extract_text() 方法。
需要注意的是: extract_text()方法,提取的是pdf页面中的所有文本内容,包括表格中的文本,但是不会保留表格的格式,只是纯文本内容。且不会保存pdf中的图片。

(2)python-docx基础用法

上述代码主要使用了写入段落的方法:

python 复制代码
add_paragraph(text='',style=None)

text:段落内容,style:设置样式。

三、总结

本文仅是简单实现将pdf文本内容保存到word文档中,对图片和格式未做任何处理。如果仅需要pdf中的文字内容,不想去一一复制,算是一个免费简单的小工具,可供参考。

-end-

相关推荐
怕浪猫5 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁015 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记5 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i5 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_962885726 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
北冥有鱼被烹6 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
caoerzhong7 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律7 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas
databook7 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
北冥有鱼被烹10 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python