python王者-第18章使用Python处理PDF档案
📚 使用Python处理PDF文件
📦 模块安装与导入
本章内容需要使用外挂模块 PyPDF2,下载此模块时指令如下:
bash
Copy
pip install PyPDF2
程序导入使用 import 时是:
python
Copy
import PyPDF2
🔑 PDF文件操作
- 开启PDF文件
使用以下代码打开PDF文件:
python
Copy
pdfObj = open(‘pdf_file’, ‘rb’) # 'rb’表示以二进制开启
2. 获得PDF文件的页数
使用 PdfFileReader 来读取PDF内容:
python
Copy
pdfRd = PyPDF2.PdfFileReader(pdfObj)
3. 读取PDF页面内容
读取第
KaTeX can only parse string typed expression
n 页内容的代码如下:
python
Copy
pdfContentObj = pdfRd.getPage(n) # 读取第n页内容
请注意,PDF页面是从第0页开始计算的。页面内容被读入 pdfContentObj 对象后,可以使用 extractText() 方法取得该页的字符串内容。
-
检查PDF是否被加密
在执行 pdfRd = PyPDF2.PdfFileReader(pdfObj) 之后,pdfRd 对象会有 isEncrypted 属性。如果此属性是 True,表示文件有加密;如果此属性是 False,表示文件没有加密。 -
解密PDF文件
对于加密的PDF文件,我们可以使用 decrypt() 方法执行解密。如果解密成功,decrypt() 会返回 1;如果失败则返回 0。 -
建立新的PDF文件
建立新PDF文件的基本流程如下:
建立一个 PdfWriter 对象(名称可以自取),未来用于写入。
将已有的 pdfRd 对象一次一页复制到 pdfWr 对象。
使用 write() 方法将 pdfWr 对象写入PDF档案。
7. PDF页面的旋转
使用以下方法可以执行页面旋转:
顺时针旋转:rotateClockwise()
逆时针旋转:rotateCounterClockwise()
8. 加密PDF文件
若想将PDF档案加密,可以在将 pdfWr 对象正式使用 write() 方法写入前调用 encrypt() 方法,密码作为参数放在 encrypt() 方法内。
🔓 处理PDF页面重叠与破解密码