PDFMiner 是一款 PDF 文档的文本提取工具。
警告:截至 2020 年,PDFMiner 并未得到积极维护。该代码仍然有效,但该项目基本上处于休眠状态。对于活动项目,请查看其分支 pdfminer.6。
纯Python(3.6或更高版本)。
支持 PDF-1.7。 (嗯,差不多)
获取文本的确切位置以及其他布局信息(字体等)。
执行自动布局分析。
可以将 PDF 转换为其他格式(HTML/XML)。
可以提取大纲(TOC)。
可以提取标记的内容。
支持基本加密(RC4 和 AES)。
支持各种字体类型(Type1、TrueType、Type3 和 CID)。
支持CJK语言和竖写文字。
具有可扩展的 PDF 解析器,可用于其他目的。
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py 提取以编程方式呈现的所有文本。它还提取每个文本段的相应位置、字体名称、字体大小、书写方向(水平或垂直)。 它无法识别图像中的文本。受限制的 PDF 文档需要提供密码。
> pdf2txt.py [-P password] [-o output] [-t text|html|xml|tag] [-O output_dir] [-c encoding] [-s scale] [-R rotation] [-Y normal|loose|exact] [-p pagenos] [-m maxpages] [-S] [-C] [-n] [-A] [-V] [-M char_margin] [-L line_margin] [-W word_margin] [-F boxes_flow] [-d] input.pdf ...
-P password
:PDF密码。
-o output
:输出文件名。
-t text|html|xml|tag
:输出类型。 (默认值:从输出文件名自动推断。)
-O output_dir
:提取图像的输出目录。
-c encoding
:输出编码。 (默认:utf-8)
-s scale
:输出比例。
-R rotation
:以度数旋转页面。
-Y normal|loose|exact
:指定布局模式。 (仅适用于 HTML 输出。)
-p pagenos
:仅处理某些页面。
-m maxpages
:限制要处理的最大页数。
-S
:去除控制字符。
-C
:禁用资源缓存。
-n
:禁用布局分析。
-A
:对包括图形在内的所有文本应用布局分析。
-V
:自动检测垂直书写。
-M char_margin
:指定字符边距。
-W word_margin
:指定字边距。
-L line_margin
:指定行边距。
-F boxes_flow
:指定盒子流量比率。
-d
:打开调试输出。
dumppdf.py 用于调试 PDF。它以伪 XML 格式转储所有内部内容。
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
:PDF密码。
-a
:提取所有对象。
-p pageid
:提取页面对象。
-i objid
:提取某个对象。
-o output
:输出文件名。
-r
:原始模式。转储原始压缩/编码流。
-b
:二进制模式。转储未压缩/解码的流。
-t
:文本模式。以文本格式转储流。
-T
:标记模式。转储标记的内容。
-O output_dir
:提取流的输出目录。
用更好的东西替换 STRICT 变量。
完善调试功能。
使用日志记录模块而不是 sys.stderr。
正确的测试用例。
符合 PEP-8 和 PEP-257 要求。
更好的文档。
加密流过滤器支持。
pypdf
pdf文件
pdfbox
多普夫夫