1、文本 PDF 的解析
1.1、文本的提取
进行文本提取的 Python 库包括:pdfminer.six、PyMuPDF、PyPDF2 和 pdfplumber,效果最好的是 PyMuPDF,PyMuPDF 在进行文本提取时能够最大限度地保留 PDF 的阅读顺序,这对于双栏 PDF 文件的抽取非常有用。下面就以难度比较大的双栏 PDF 为例,来介绍使用 PyMuPDF 库进行文字抽取的效果。
我们以下面的 PDF 为例来看使用 PyMuPDF 进行文字提取的效果。
进行文本提取的代码如下:
import pymupdf
pages = pymupdf.open("./test_data/2022110404_pdf.pdf")
text = pages[0].get_text()
print(text)
打印的结果如下:
局进行了首次 HTV-2 飞行试验,试验未取得成功,但验证了助推火箭与高超声速飞行器分离
的技术,为未来发展奠定了基础。美国国防高级研究计划局计划于 2011 年进行 HTV_2 的第
二次飞行试验。目前,美国还在开展 HCV 缩比技术验证机 HTV-3 的设计,以及 HCV 推进方案
的选型工作。
HTV-2 超高速飞行器
(2)“常规打击导弹”计划
“常规打击导弹”计划是美国空军正在研制的另外一种快速全球打击武器,以“猎鹰”
计划的“高超声速技术验证机”为基础进行研制。它也是一种无动力的高超声速滑翔飞行器,
在大气层内滑翔时间约 800 秒(后续型号将达到 3000 秒),最大飞行距离 11000 千米,可以
投送包括“小直径炸弹”、“联合直接攻击弹药”、情报/监视/侦察/毁伤评估无人机等多
种有效载荷。目前,“常规打击导弹”的研制已进入第二阶段,将开展载荷投送飞行器的实
际设计、研制和飞行试验。美空军计划在 2012 年初进行“常规打击导弹”投送载荷飞行器
的飞行试验,2017-2020 年在本土部署首个“常规打击导弹”系统。
1.2、表格的提取
表格提取效果比较好的库有 camelot 和 tabula ,表格又可以分为有线表和少线表。下面就分别以有线表和少线表为例来介绍 camelot 和 tabula 的使用。
我们以下面的 PDF 为例来看使用 camelot 和 tabula 进行有线表格提取的效果。
使用 camelot 进行表格提取的代码如下:
import camelot
tables = camelot.read_pdf('data.pdf')</