Skip to content

2.4.PDF文档自动化

使用pymupdf读写PDF文件

一个真实的PDF文件主要由四大部分构成,分别是文件头(Header)、文件主体(Body)、交叉引用表(Cross-Reference Table)和文件尾(Trailer)。

pymupdf库可以轻松实现对PDF文件的读写操作。

pymupdf库提供了getText()方法,可以将PDF文件中某页的文字内容提取出来,同时只需要循环遍历整个PDF文件,便可将所有的内容提取出来。

一个PDF文件通常会包含图像元素,图像作为PDF文件中的对象也会记录在交叉引用表中。在pymupdf库中,可以通过相应的方法获取交叉引用表中记录的对象ID编号,并将其称为xref整数。

pymupdf库提供了pdf.getPageImageList(page_num)方法,可以从PDF文件中的每一页提取出与图像相关的二维列表,类似于[[xref,smask,…],[xref,smask,…]],其中包含xref整数,利用前面提及的方法与xref整数便可以获取当前页的所有图像。

使用pdfplumber提取PDF中表格

PDF文件中通常会有表格元素,如果想提取表格元素中的内容该怎么做呢?

pdfplumber库提供的extract_table方法可以轻松提取PDF文件中某页的所有表格,对于缺少边界的表格,pdfplumber库会利用文本位置信息进行猜测,从而定位出不可见边界的位置。

使用PyPDF2操控PDF文件

使用Python第三方模块PyPDF2来操控PDF文件,该模块能完成PDF文件的信息提取、拆分、合并、页面裁剪、加密/解密等多种操作。

使用wkhtmltopdf将网页转为PDF

把一个 url 指向的网页转换成PDF。命令格式:wkhtmltopdf url xxx.pdf

把html文件 和 url指向的网页 转换成图片。命令格式 : wkhtmltoimage xxx.html xxx.jpgwkhtmltoimage url xxx.jpg