Bagaimana cara mengekstrak teks dari pdf dalam skrip di Linux?

23

Di Linux - Bagaimana cara mengekstrak teks dari .pdfteks yang sebenarnya adalah teks, bukan gambar yang dipindai? Saya menginginkan sesuatu yang dapat saya gunakan pada baris perintah / dalam skrip, bukan secara interaktif. (Saya tidak ingin mengonversi .tifdan menggunakan OCR - teks sudah tersedia di .pdffile, jadi mengapa memperkenalkan ketidakakuratan dari OCR yang tidak sempurna?)

RobM
sumber
pertanyaan serupa di askubuntu
Trevor Boyd Smith

Jawaban:

25

pdftotext yang datang dengan poppler akan mencoba mengekstraksi teks apa pun yang ditemukan dalam PDF.

Ignacio Vazquez-Abrams
sumber
1
Terima kasih atas tanggapan cepat Anda, Ignacio! Saya sudah memeriksa pdftotext yang berasal dari w xpdf (dari foolabs.com) - jawaban Anda mendorong saya untuk melihat lagi, dan saya membuatnya berfungsi. Poppler tampaknya telah berevolusi dari xpdf, jadi saya akan melihatnya juga. Terima kasih lagi!
RobM
9

Jawaban Ignacio baik-baik saja. Bahkan, itu akan menjadi hal pertama dalam daftar saya. Nah, itu dan mungkin untuk menyarankan pdftohtmlalat yang juga dilengkapi dengan poppler, dikombinasikan dengan pdfreflow jika Anda ingin mencoba merakit kembali teks menjadi paragraf, dll. (Tentu saja, ini akan memberikan Anda hasil HTML, tetapi mengubah HTML menjadi teks biasa dapat dilakukan dengan banyak cara.)

Berikut ini beberapa opsi lain juga.

The ebook-converttool baris perintah dari Calibre , yang dapat mengkonversi .PDFs ke teks biasa (atau RTF atau sejumlah format ebook, seperti ePub, dll)

pdftxtextractdari Podofo

Abiword dapat dipanggil dari commandline untuk mengkonversi antara format apa pun yang dapat dimasukkan / diekspor ke, dan dengan plugin impor yang sesuai, ini termasuk PDF:

abiword --to=txt file.pdf

(Dalam keadilan, saya pikir AbiWord dan kaliber keduanya menggunakan perpustakaan poppler, tapi saya tidak positif.)

luar biasa
sumber
Terima kasih frabjous! Dalam hal ini, saya hanya mengekstraksi teks sehingga saya dapat memindai string tertentu (nama vendor, nomor akun) dan pola (nomor faktur dan tanggal) - jadi tidak perlu memformat ulang atau menampilkannya kembali. Saya menghargai bukti yang menguatkan dan alternatif - dan saya yakin orang lain juga akan! - Rob
RobM