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
多普夫夫