PDFMiner เป็นเครื่องมือแยกข้อความสำหรับเอกสาร PDF
คำเตือน : ในปี 2020 PDFMiner ไม่ได้รับการบำรุงรักษาอย่างแข็งขัน รหัสยังคงใช้งานได้ แต่โปรเจ็กต์นี้ส่วนใหญ่ไม่มีการใช้งาน สำหรับโปรเจ็กต์ที่กำลังดำเนินการอยู่ ลองดูที่ fork pdfminer.six
Pure 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
: เปิดเอาต์พุต Debug
dumppdf.py ใช้สำหรับการดีบัก PDF โดยจะดัมพ์เนื้อหาภายในทั้งหมดในรูปแบบ pseudo-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
เอกสารที่ดีกว่า
รองรับตัวกรองสตรีม Crypto
pyPdf
xpdf
กล่องpdf
mupdf