当前位置: 欣欣网 > 办公

PyPDF2库,你想要的PDF操作它都有:合并、转换、加密…

2024-03-18办公

点击蓝字 · 关注我们

大家好,我是Bryce~

相信很多人对PDF文件有各种需求,比如将多个PDF文件合成一个PDF,将PDF文件转换为TXT文件,方便修改与复制……

而Python的PyPDF2库,可以轻松搞定任何你想要的功能。

一、合并PDF文件

合并步骤为:

  1. 创建一个PDF写入器对象

import PyPDF2 pdf_writer = PyPDF2.PdfWriter()

2.打开并读取要合并的PDF文件

input1 = open('董宇辉金句1.pdf', 'rb') input2 = open('董宇辉金句2.pdf', 'rb') pdf_reader1 = PyPDF2.PdfReader(input1) pdf_reader2 = PyPDF2.PdfReader(input2)

3.将每一页添加到写入器对象中

for page_num inrange(len(pdf_reader1.pages)): page_obj = pdf_reader1.pages[page_num] pdf_writer.add_page(page_obj) for page_num inrange(len(pdf_reader2.pages)): page_obj = pdf_reader2.pages[page_num] pdf_writer.add_page(page_obj)

4.将合并后的PDF写入新文件

output_stream = open('董宇辉金句合并.pdf', 'wb') pdf_writer.write(output_stream)print(f"合并完成,文件保存在:董宇辉金句合并.pdf")output_stream.close() input1.close() input2.close()

二、PDF转为TXT

转换步骤为:

  1. 定义转换函数

import PyPDF2def pdf_to_txt_line_by_line(pdf_path, txt_path) :withopen(pdf_path, 'rb') as pdf_file: reader = PyPDF2.PdfReader(pdf_file)withopen(txt_path, 'w') as txt_file:for page_num inrange(len(reader.pages)): page = reader.pages[page_num]content = page.extract_text()lines = content.split('\n')for line inlines: txt_file.write(line + '\n') print(f"转换完成,TXT文件保存在: {txt_path}")

2.直接调用转换

pdf_path = '董宇辉金句1.pdf'txt_path = '董宇辉金句1.txt'pdf_to_txt_line_by_line(pdf_path, txt_path)

真是太简洁了!想尝试的朋友可以后台回复【 PDF操作 】,即可获取完整代码。

以上就是本次分享的全部内容。祝大家学习、工作顺利!

我是Bryce,我们下期见~

你好!我是Bryce,自学从机械专业转行大厂数据分析。转正半年被主管破格提拔晋升一级,目前是某项目数据业务负责人。持续分享数据分析、AI编程、AI办公等文章,我们一起拥抱变化、一起精进。

关注我

常进步

关注下方公众号,回复【数据分析书籍】,即可获取SQL、Python、机器学习等方面的电子书合集。