如何用python将pdf转换为txt、docx、excel
如何用python将pdf转换为txt、docx、excel(前提:能复制文字的pdf)
·
利用python的pdfplumber库可以实现转换,一些常用的方法
.extract_text() 用来提页面中的文本,将页面的所有字符对象整理为的那个字符串
.extract_words() 返回的是所有的单词及其相关信息
.extract_tables() 提取页面的表格
1、pdf转txt
import pdfplumber as pb
file_handle=open('out.txt',mode='w',encoding='utf-8')
# 读取PDF文档
pdf = pb.open("需求文档.pdf")
# 绝对路径也可以这么写,下同
# path = 'D:\\GKProject\\需求文档.pdf'
# 获取页数
a= len(pdf.pages)
print("当前页:",a)
print("-----------------------------------------")
i=0
for i in range(0, a):
first_page = pdf.pages[i]
print("本页:",first_page.page_number)
print("-----------------------------------------")
# 导出当前页文本
text = first_page.extract_text()
# print(text)
file_handle.write(text)
2、pdf转word
import pdfplumber as pb
import docx
from docx import Document
doc = docx.Document()
paragraph3 = doc.add_paragraph()
# 读取PDF文档
pdf = pb.open("需求文档.pdf")
# 获取页数
a= len(pdf.pages)
print("当前页:",a)
print("-----------------------------------------")
i=0
for i in range(0, a):
first_page = pdf.pages[i]
print("本页:",first_page.page_number)
print("-----------------------------------------")
# 导出当前页文本
text = first_page.extract_text()
paragraph3.add_run(text)
doc.save("输出结果.docx")
3、pdf转excel
import pdfplumber
import pandas as pd
import xlwt
def toEcel():
workbook = xlwt.Workbook() # 定义workbook
sheet = workbook.add_sheet('Sheet1') # 添加sheet
i = 0 # Excel起始位置
pdf = pdfplumber.open("需求文档.pdf")
print('开始读取数据')
for page in pdf.pages[0:20]: #这里的page[0:20]可以根据实际pdf的页数来进行扩大
# 获取当前页面的全部文本信息,包括表格中的文字
for table in page.extract_tables():
# print(table)
for row in table:
# print(row)
for j in range(len(row)):
sheet.write(i, j, row[j])
i += 1
pdf.close()
# 保存Excel表
workbook.save('输出结果.xls')
print('写入excel成功')
if __name__ == '__main__':
print("开始")
toEcel()
————————————————
版权声明:本文为CSDN博主「牧文山」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42750611/article/details/112004816
更多推荐
已为社区贡献1条内容
所有评论(0)