万普插件库

jQuery插件大全与特效教程

pypdf2:PDF处理的神奇工具

处理PDF文件总让人头大?PyPDF2库简直就是救星!这个Python库能给PDF文档来个大变身 - 合并文件、提取页面、旋转页面,甚至还能提取文本内容。不管是批量处理PDF还是定制化修改,都不在话下。


基础配置

安装PyPDF2超简单,一行命令搞定:


pip install PyPDF2

装好后,写代码前先导入:


from PyPDF2 import PdfReader, PdfWriter

读取PDF文件

来看看怎么打开并读取PDF:


# 创建PdfReader对象reader = PdfReader(“测试文档.pdf”)# 获取页数page_count = len(reader)# 读取第一页内容page = reader.pages[0]text = page.extract_text()print(text)

温馨提示:PDF文件路径要写对,要么用完整路径,要么确保文件在当前目录下。


合并PDF文件

把多个PDF合在一起特别常用:


def merge_pdfs(pdf_files, output_name):    writer = PdfWriter()    for pdf in pdf_files:        reader = PdfReader(pdf)        for page in reader.pages:            writer.add_page(page)    with open(output_name, “wb”) as output:        writer.write(output)# 使用示例pdf_list = [“文件1.pdf”, “文件2.pdf”, “文件3.pdf”]merge_pdfs(pdf_list, “合并后的文件.pdf”)

旋转和翻转页面

有时候PDF页面方向不对,得转一下:


reader = PdfReader(“原文件.pdf”)writer = PdfWriter()# 获取第一页并旋转90度page = reader.pages[0]page.rotate(90)writer.add_page(page)with open(“旋转后的文件.pdf”, “wb”) as output:    writer.write(output)

提取指定页面

只想要PDF中的某几页?轻轻松松:


reader = PdfReader(“原文件.pdf”)writer = PdfWriter()# 提取第2页和第4页(注意:页码从0开始)pages_to_extract = [1, 3]for page_num in pages_to_extract:    writer.add_page(reader.pages[page_num])with open(“提取的页面.pdf”, “wb”) as output:    writer.write(output)

温馨提示:页码从0开始数,要第1页得用index 0,经常有人在这栽跟头。


加密PDF文件

防止文件乱传,加个密码:


reader = PdfReader(“原文件.pdf”)writer = PdfWriter()for page in reader.pages:    writer.add_page(page)# 设置密码writer.encrypt(“你的密码”)with open(“加密后的文件.pdf”, “wb”) as output:    writer.write(output)

遇到啥问题都别慌,PyPDF2写着写着就熟练了。代码不用死记硬背,知道大概咋用就行,具体细节查文档。我平时就喜欢边写边查,效果贼好。


文件操作完记得关闭,不然容易出问题。要是处理大批量PDF,最好加个异常处理,免得中间出错整个程序就崩了。


Would you like me to explain or break down any of the code examples?

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言