Python-处理PDF和Word文档(上)

(记录学习第八天)

1、PDF文档

安装模块,最好是这个版本的

pip install PyPDF2==1.26.0

1.1提取文本

meetingminutes.pdf的内容是英文的,运用如下代码可以输出

import PyPDF2

pdfFileObj = open('meetingminutes.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
print(pdfReader.numPages)
pageObj = pdfReader.getPage(0)
print(pageObj.extractText())
pdfFileObj.close()

但是,如果内容是中文的,这个代码就不行了

需要用另一个代码

import pdfplumber

pdfFileObj = pdfplumber.open('文章.pdf')
pdf_reader = pdfFileObj.pages[0]
text = pdf_reader.extract_text()
pdfFileObj.close()

print(text)
  • 'r':表示只读模式,用于读取文件的内容。
  • 'b':表示二进制模式,用于处理二进制文件

 

输出结果

f462cdeb00a84c3bb89b9fc090ae77f8.png

后面的我们以英文为例

1.2解密PDF

isEncrypted属性用来判断是否是加密的

decrypt()函数用来传入口令字符串

import PyPDF2

pdfReader = PyPDF2.PdfFileReader(open('encrypted.pdf', 'rb'))
print(pdfReader.isEncrypted)#判断是否是加密的,如果是,返回True
pdfReader.decrypt('rosebud')#输入密码
print(pdfReader.getPage(0))#如果在输入密码前输出这行,会报错

1.3创建PDF

PyPDF2不能将任意文本写入PDF

仅限于从其他PDF中复制页面、旋转页面、重叠页面和加密文件

以复制页面为例:

import PyPDF2

pdf1File = open('meetingminutes.pdf', 'rb')  # 打开第一个PDF文件
pdf2File = open('meetingminutes2.pdf', 'rb')  # 打开第二个PDF文件

pdf1Reader = PyPDF2.PdfFileReader(pdf1File)
pdf2Reader = PyPDF2.PdfFileReader(pdf2File)

pdfWriter = PyPDF2.PdfFileWriter()

# 将第一个PDF文件的页面添加到PdfFileWriter
for pageNum in range(pdf1Reader.numPages):
    pageObj = pdf1Reader.getPage(pageNum)
    pdfWriter.addPage(pageObj)

# 将第二个PDF文件的页面添加到PdfFileWriter
for pageNum in range(pdf2Reader.numPages):
    pageObj = pdf2Reader.getPage(pageNum)
    pdfWriter.addPage(pageObj)

# 创建一个新的PDF文件并保存合并后的内容
mergedPdfFile = open('merged.pdf', 'wb')
pdfWriter.write(mergedPdfFile)

# 关闭文件
pdf1File.close()
pdf2File.close()
mergedPdfFile.close()

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值