PDFMiner adalah alat ekstraksi teks untuk dokumen PDF.
Peringatan : Mulai tahun 2020, PDFMiner tidak dipelihara secara aktif . Kode masih berfungsi, namun proyek ini sebagian besar tidak aktif. Untuk proyek aktif, lihat fork pdfminer.six-nya.
Python Murni (3.6 atau lebih tinggi).
Mendukung PDF-1.7. (yah, hampir)
Mendapatkan lokasi teks yang tepat serta informasi tata letak lainnya (font, dll.).
Melakukan analisis tata letak otomatis.
Dapat mengkonversi PDF ke format lain (HTML/XML).
Dapat mengekstrak garis besar (TOC).
Dapat mengekstrak konten yang diberi tag.
Mendukung enkripsi dasar (RC4 dan AES).
Mendukung berbagai jenis font (Type1, TrueType, Type3, dan CID).
Mendukung bahasa CJK dan skrip penulisan vertikal.
Memiliki parser PDF yang dapat diperluas yang dapat digunakan untuk tujuan lain.
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py mengekstrak semua teks yang dirender secara terprogram. Itu juga mengekstrak lokasi yang sesuai, nama font, ukuran font, arah penulisan (horizontal atau vertikal) untuk setiap segmen teks. Itu tidak mengenali teks dalam gambar. Kata sandi perlu diberikan untuk dokumen PDF yang dibatasi.
> 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
: kata sandi PDF.
-o output
: Nama file keluaran.
-t text|html|xml|tag
: Jenis keluaran. (default: disimpulkan secara otomatis dari nama file keluaran.)
-O output_dir
: Direktori keluaran untuk gambar yang diekstraksi.
-c encoding
: Pengkodean keluaran. (standar: utf-8)
-s scale
: Skala keluaran.
-R rotation
: Memutar halaman dalam derajat.
-Y normal|loose|exact
: Menentukan mode tata letak. (hanya untuk keluaran HTML.)
-p pagenos
: Memproses halaman tertentu saja.
-m maxpages
: Membatasi jumlah halaman maksimum yang akan diproses.
-S
: Menghapus karakter kontrol.
-C
: Menonaktifkan cache sumber daya.
-n
: Menonaktifkan analisis tata letak.
-A
: Menerapkan analisis tata letak untuk semua teks termasuk gambar.
-V
: Otomatis mendeteksi tulisan vertikal.
-M char_margin
: Menentukan margin char.
-W word_margin
: Menentukan margin kata.
-L line_margin
: Menentukan margin garis.
-F boxes_flow
: Menentukan rasio aliran kotak.
-d
: Mengaktifkan keluaran Debug.
dumppdf.py digunakan untuk men-debug PDF. Itu membuang semua konten internal dalam format pseudo-XML.
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
: kata sandi PDF.
-a
: Mengekstrak semua objek.
-p pageid
: Mengekstrak objek Halaman.
-i objid
: Mengekstrak objek tertentu.
-o output
: Nama file keluaran.
-r
: Mode mentah. Membuang aliran mentah yang dikompresi/dikodekan.
-b
: Mode biner. Membuang aliran yang tidak terkompresi/didekode.
-t
: Mode teks. Membuang aliran dalam format teks.
-T
: Mode yang ditandai. Membuang konten yang diberi tag.
-O output_dir
: Direktori keluaran untuk aliran yang diekstraksi.
Ganti variabel STRICT dengan sesuatu yang lebih baik.
Tingkatkan fungsi debugging.
Gunakan modul logging alih-alih sys.stderr.
Kasus uji yang tepat.
Kesesuaian PEP-8 dan PEP-257.
Dokumentasi yang lebih baik.
Dukungan filter aliran kripto.
pyPdf
xpdf
kotak pdf
mupdf