Python玩转PDF文档的各种实用操作

Python 操作 PDF 1. 相关介绍 Python 操作 PDF 会用到两个库,分别是:PyPDF2 和 pdfplumber 其中 PyPDF2 可以更好的读取、写入、分割、合并PDF文件,而 pdfplumber 可以更好的读取 PDF 文件中内容和提取 PDF 中的表格 对应的官网分别是: 由于这两个库都不是 Python 的标准库,所以在使用之前都需要单独安装 win+r 后输入 cmd 打开 command 窗口,依次输入如下命令进行安装: pip install PyPDF2 pip install pdfplum 阅读详情

今天小编为大家分享如何用Python来玩转PDF文档,例如提取当中的部分内容并导出,给PDF文件添加水印,合并多份PDF文件等等,而本文会着重用到PyPDF2模块来玩转PDF文档,以及tabula模块来对PDF文档中的表格数据进行读取

01

获取文档的基本信息

首先我们要用的是PdfFileReader方法,

在其中填入PDF文件的路径之后,便能通过获取一系列关于该PDF文件的相关信息,比方说

其中的documentInfo可以告诉你关于该本书的作者等相关信息,而numPages则可以体现出该PDF文件的具体页数

其中最重要的方法则是getPage(page_num)了,它能将具体某一页的内容以字符串的形式返回,当然其中要注意的是,它和我们平常所用的列表的索引值以0为开始值相类似,比方说要获取第7页的内容,则page_num应当填的是6,再用extractText来获取里面的内容,

02

获取文档的部分内容并保存

而当我们想将其中的部分内容提取出来单独保存成一个PDF文件时,步骤也是十分的简单,首先用PdfFileWriter来创建一个writer变量,

接着便是向其中添置内容,我们可以用到上面所讲的getPage(page_num)方法来放入第三页与第四页的内容

最后导出至一个独立的PDF文件

03

合并多个PDF文档

除了提取PDF文件中的部分内容,PyPDF2库也能帮助我们进行合并PDF文件,

首先遍历输入的paths,并为每个输入创建一个PDF阅读对象,然后遍历PDF文件中的所有页面,并使用addPage()将这些页面写入writer对象。当完成对列表中所有PDF的所有页面的写入后,将在末尾写入新的至新的结果中

04

添加水印

添加水印的目的在于它可以保护你的知识产权,表明文档的出处等等,我们可以使用PyPDF2当中的一些函数来达到此目的,其中的原理也非常容易理解,首先准备一份有且仅包含水印的PDF文件,通过两个PDF相合并的方式来为对象文档添加水印

05

给PDF文档加密

为PDF文档加密能够加强文档的安全性,而PyPDF2也提供了给PDF文件加密的方法,

在生成pdfwrite对象之后遍历输入文档的所有内容,并将这些页面中的内容写入至pdfwrite对象中,最后一步则是调用.encrypt(),并在其中填入自己要设定的密码即可

06

玩转PDF当中的表格数据

而当PDF文件中包含着表格数据时,tabula-py库能够很好地协助我们来处理其中的数据,首先通过pip install tabula-py来完成对该模块的安装,

在.read_pdf中我们可以通过筛选pages参数来选择我们要进行读取数据的页数,而area参数则表示在当前页面中要读取数据的区域,而,当然在表格当中我们依然可以看到字符串之间的空格用'\r'来代替,我们可以通过正则表达式来进行替换,而之后通过pandas来对表格进行统计分析也就轻松容易了许多。

- end -





Python操作PDF的全面指南 幸运的是,Python提供了许多强大的库和工具,可以方便地操作PDF文件。本文将介绍如何使用Python中的PyPDF2和PDFMiner库来读取、写入和修改PDF文件,并提供一些实用的示例代码。通过使用PDFMiner库,我们可以方便地提取和分析PDF文件中的文本内容。提取表格数据:PDFMiner可以提取PDF文件中的表格数据,并将其转换为结构化的数据格式,如CSV或Excel文件。处理页码和元数据:PDFMiner可以处理PDF文件中的页码信息,并提取与页面相关的元数据,如标题、作者、创建日期等。 阅读详情

相关推荐

基于Python给出的PDF文档转Markdown文档的方法

注:网上有很多将Markdown文档转为PDF文档的方法,但是却很少有将PDF文档转为Markdown文档的方法。就算有,比如某些网站声称可以将PDF文档转为Markdown文档,尝试过,不太符合自己的要求,而且无法保证文档没有泄露风险。于是本人为了解决这个问题,借助(能使用GPT镜像或者有条件直接使用GPT的,反正能调用GPT接口就行)生成Python代码来完成这个功能。,若有错误,欢迎指出。本次笔记记录于24.1.21。(中途运行时,发现代码中存在bug从而对代码进行了更新,比如。

Trb401012的博客 4155

python操作PDF的几种常见方法

大家好,有关python操作pdf的方法,各种语言处理起来都比较麻烦,而且各种第三方库的应用场景都不同。下面说明一下python如何通过第三方库如何处理pdf文件。

qq_22941289的博客 9036

使用python将word文档转换为PDF文档

欢迎关注”生信修炼手册”!对于windows系统的编程开发,微软一开始提供了基于VB语言的接口,后来又推出了.NET框架。对于word等offices套件的自动化操作,由于原生支持的特性...

庐州月光的博客 4004

Python操作pdf

DAY9-利用Python操作pdf文档

weixin_46678567的博客 2527

1.毫米波雷达心率、呼吸原理实现(一)实例

毫米波雷达心率、呼吸检测原理本项目分两到三篇文章写完,第一阶段借鉴TI开源项目以及根据自己的见解适当更改信号处理链通过AWR1843汽车雷达传感器和DCA1000采集卡采集数据完成人体呼吸和心跳检测算法的实现。第二阶段将仿真成功的代码搬移TIAWR1843传感器并通过串口数据实现生命体征的实时处理。本文即为第一阶段实现过程。本文首先概述毫米波雷达呼吸心跳检测的原理,紧接着概述本项目信号处理流程,另外本项目第一阶段通过matlab仿真验证算法的有效性,仿真源码可关注小编并私信可取。1.概述。

Poulen的博客 2万+

Python接口自动化测试实战:Requests+Pytest+Excel+Allure框架搭建指南

接口自动化测试是现代软件工程中保障软件质量的关键实践,其核心原理是通过脚本模拟客户端请求,自动验证API的功能、性能和可靠性。在Python技术栈中,Requests库以其简洁的API成为处理HTTP请求的基石,而Pytest框架则凭借其灵活的Fixture机制和强大的参数化功能,为测试用例的组织与执行提供了优雅的解决方案。结合Excel进行数据驱动测试,能够有效实现测试数据与脚本逻辑的分离,提升协作效率;最终通过Allure生成可视化测试报告,清晰呈现测试结果与过程。这套技术组合(Requests, Py

weixin_28677451的博客 304

Python:PDF文件处理(数据处理)

PDF文件解析(pdfplumber、tablua、camelot、pdf2doc、aspose.words、docx)

Big_Data_Legend的博客 8345

从零构建MAVLink通信:PX4飞控与QGC的协议握手全解析

本文详细解析了PX4飞控与QGC地面站通过MAVLink协议进行通信的全过程,重点介绍了航点传输协议的状态机设计、INT类型消息的优化优势以及异常处理与调试技巧。通过实战案例和性能优化建议,帮助开发者高效构建无人机通信系统,提升数据传输效率与稳定性。

weixin_29209805的博客 506

真心实用!Python 办公自动化之 PDF 的详细操作(全)

Python 操作 PDF 会用到两个库,分别是:PyPDF2 和 pdfplumber其中PyPDF2可以更好的读取、写入、分割、合并PDF文件,而pdfplumber可以更好的读取 PDF 文件中内容和提取 PDF 中的表格对应的官网分别是:由于这两个库都不是 Python 的标准库,所以在使用之前都需要单独安装win+r 后输入 cmd 打开 command 窗口,依次输入如下命令进行安装:安装完成后显示 success 则表示安装成功。

2401_86168842的博客 2221

智能车竞赛走马观碑组:如何高效识别目标板并优化绕行策略(附实战代码)

本文深入探讨了智能车竞赛走马观碑组中,如何构建从图像识别到路径决策的全栈优化方案。针对目标板识别与绕行策略的核心难点,文章详细解析了基于MobileNetV2的高效识别流水线、结合预瞄点与纯追踪算法的平滑路径规划,以及横向与纵向协同控制策略,并提供了实战代码与调试指南,旨在全面提升小车的比赛表现。

o5p6q的博客 884

人像抠图 + OpenGL ES 还能这样玩?没想到吧(附带源码)

OpenGL ES 利用抠图算法实现人像留色。

字节流动 3万+

天气学原理和方法第四版pdf_Python玩转PDF文档的各种实用操作

今天小编为大家分享如何用Python来玩转PDF文档,例如提取当中的部分内容并导出,给PDF文件添加水印,合并多份PDF文件等等,而本文会着重用到PyPDF2模块来玩转PDF文档,以及tabula模块来对PDF文档中的表格数据进行读取01获取文档的基本信息首先我们要用的是PdfFileReader方法,在其中填入PDF文件的路径之后,便能通过获取一系列关于该PDF文件的相关信息,比方说其...

weixin_39869432的博客 764

路径规划 | 图解粒子群(PSO)算法(附ROS C++仿真)

粒子群算法(PSO)的基本思想是模拟鸟群觅食机制,将鸟类的觅食方向分为自我认知部分和社会部分,个体自主探索群体周围空间的同时,也随着群体的主流方向前进,不断逼近最优目标。本文详解PSO算法基本概念,并给出ROS C++实现加深理解

FRIGIDWINTER的博客 2617

PyPDF2--如何使用python操作你的PDF文档

PyPDF2–如何使用python操作你的PDF文档 前言 大家好!最近想操作一下PDF文档,总是收费,于是浅尝辄止地了解了一下python当中的PyPDF2这个库。借助本篇博客总结了一下个人所学到的内容。本人才疏学浅,还望各位大佬多多指正。Python在自动化办公方面有很多实用的第三方库,可以很方便的处理word、excel、ppt、pdf文件,Python处理PDF文档的两个常用库pdfplumber,PyPDF2。在此本人对PyPDF2进行一个简单的介绍。 0.0:PyPDF2简介以及安装 PyPDF

qq_44885233的博客 1万+

conda install出现CondaValueError: Malformed version string invalid character(s)解决方案

本文主要介绍了conda install出现Solving environment:failed、CondaValueError: Malformed version string invalid character(s),希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 步骤一 2.2 步骤二 2.3 步骤三

weixin_43178406的博客 6万+

cesium 实现经纬线绘制和经纬度标注

废话不对数直接上线效果图及代码 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=

一碗老面的博客 2570

Python玩转PDF的各种操作

Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换。尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO)维护的开放标准。你可以通过使用PyPDF2包在Python中处理已先存在的PDF。 PyPDF2是一个纯Python包,可用于许多不同类型的PDF操作。 本文将带你了解如何执行以下操作: 从Pyt...

******* ▄︻┻┳═一 ******* 5462

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python自动化办公——python操作Excel、Word、PDF集合大全

Python操作Word、Excel、PPT、PDF\、复杂文件、通信软件(微信、邮件、飞书、钉钉)、图片 目录   章节一:python使用openpyxl操作excel     1、openpyxl库介绍     2、python怎么打开及读取表格内容?        1)Excel表格述语        2)打开Excel表格并获取表格名称        3)通过sheet名称获取表格        4)获取表格的尺寸大小        5)获取表格.......

数据分析与统计学之美 13万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何使用Python玩转PDF各种骚操作?

点击“小詹学Python”,选择“置顶”公众号重磅干货,第一时间送达本文转载自Python数据科学,禁二次转载Portable Document Format(可移植文档...

小詹学python的博客 3089

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python书籍pdf文档密码-Python玩转PDF的各种骚操作

Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换。尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO)维护的开放标准。你可以通过使用PyPDF2包在Python中处理已先存在的PDF。PyPDF2是一个纯Python包,可用于许多不同类型的PDF操作。本文将带你了解如何执行以下操作:从Python中...

weixin_39554891的博客 490

Python玩转PDF:几招搞定的高效操作方法

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。PyPDF2是一个流行的Python库,用于处理PDF文件。

m0_58477260的博客 2114

Python 操作 PDF 文档:主流库选型指南

Python操作PDF选型指南:针对读取、文本提取、表格处理、生成等场景,对比主流库优缺点,助你精准匹配工具!解决PDF复杂结构处理难题。

E_ICEBLUE的博客 1826

Python对PDF文件的合并操作

在处理 PDF 文件时,合并多个 PDF 文件为一个单一文件或者将某个单一文件插入某个PDF文件是一个常见的需求。Python 提供了多种库来实现这一功能,其中PyPDF2是一个非常流行的选择。该库提供了简单易用的接口,包括merge()方法,可以将多个 PDF 文件合并成一个文件。

Bruce_xiaowei的博客 2111

用Python玩转PDF的各种骚操作

文/Python数据科学 图片来源于网络Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换...

Python中文社区 878
上一篇: 大赞!一个数据科学利器 PyCaret,几行代码搞定从数据处理到模型部署
下一篇: 使用 Matplotlib 这么久,竟不知道数据可以动起来
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值