Apakah ada konverter pdf ke teks yang lebih baik daripada pdftotext?

63

Saya menggunakan pdftotext (bagian dari poppler-utils) untuk mengonversi dokumen PDF menjadi teks. Sebagian besar berhasil, tetapi satu hal yang saya harap dilakukan adalah menyisipkan baris kosong di antara paragraf terpisah alih-alih memadukannya.

Apakah ada cara untuk mendapatkan pdftotext untuk melakukan ini? Dan jika tidak, apakah ada utilitas pdf ke teks lain yang dapat melakukan ini?

dan
sumber
8
Dalam judul Anda mengatakan "pdftotext" (yang merupakan bagian dari poppler-utils) dan di dalam tubuh Anda mengatakan "pdt2text" (yang saya tidak tahu). Anda merujuk ke mana?
enzotib
pertanyaan serupa PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/...
JinSnow

Jawaban:

25

Anda dapat mencoba ebook-convertdari Calibre.

Jika ada, saya akan mengatakan itu salah arah: terlalu banyak jeda baris.

Hal lain yang pasti akan saya pertimbangkan adalah mengkonversi ke HTML menggunakan pdfreflow , dan kemudian mengkonversi HTML ke TXT.

luar biasa
sumber
Catatan: ebook-converttidak dapat mengonversi tata letak multi-kolom, ini menggabungkan kolom menjadi satu kolom. Untuk tata letak multi-kolom pdftotextmenghasilkan output yang jauh lebih baik. Batasan lebih lanjut dijelaskan di manual.calibre-ebook.com/conversion.html#convert-pdf-documents .
asmaier
117

Jika Anda menggunakan pdftotext, Anda dapat menggunakan -layoutflag untuk mempertahankan tata letak teks pada halaman di file pdf input Anda:

pdftotext -layout input.pdf output.txt
Nuh
sumber
6
Ada juga -tabel untuk tata letak meja khusus, berfungsi dengan baik.
P.Windridge
3
@ P.Windridge, di mana opsi tabel ini? Saya tidak dapat menemukannya di versi 0.48.0 dari poppler-utils di Ubuntu 17.04
gozzilli
2
@gozzilli Itu cara lama. Pdftotext terbaru adalah v4.00, tersedia di tarball alat Xpdf di sini .
Adrian
2
Versi @gozzilli dimulai dengan 0. menunjukkan bahwa itu adalah cabang Popplers dari kode asli Xpdf. Mereka mulai nomor versi mereka ketika mereka bercabang kode. Kedua kelompok sekarang tampaknya mempertahankan versi terpisah dari alat PDF ini.
Andrew
1
@VivekSable itu adalah titik (piksel) pada yang ditentukan -r(resolusi, default 72 dpi)
vstepaniuk
14

Sebagai penggemar open source (dan otomatisasi) saya benci mengatakan ini, tetapi hasil terbaik yang saya dapatkan (pada PDF yang cukup besar dan kompleks) adalah membukanya di Adobe Reader, lalu pilih File | Save As Text.

(Saya pra-pemrosesan untuk percobaan analisis teks, bukan sebagai pembaca, tapi saya pikir pilihan pertama dan kedua saya akan sama.)

Saya telah membandingkan keluaran berdampingan. Pilihan kedua saya adalah ebook-convert.

Adobe : tersisa di FF untuk pemecah halaman, kiri dalam nomor halaman, belum mengubah judul / paragraf menjadi satu baris, tetapi telah memperbaiki tanda hubung. Sampah yang disembunyikan dalam PDF tidak mendapatkan hasil. Benar mendapatkan modal besar di awal bagian, misalnya "The", bukan "T he" atau bahkan "T he".

ebook-convert : Kiri dalam nomor halaman, dan beberapa sampah tersembunyi di header / footer (tetapi tidak ada FF). Mengonversi sebagian besar paragraf menjadi satu baris. Yang terlewat adalah spasi ganda! Peluru tidak selalu sejalan dengan teks. Benar mendapat "The" di awal bab ini.

pdftotext (tanpa --layout) : Tidak buruk, peluru berbaris, tetapi suara header / footer. FF ada di sana. Tanda hubung dihapus. Terburuk untuk awal bab huruf besar: "T \ n \ nhe".

pdftotext (dengan --layout) : Serupa, tetapi lebih banyak indentasi. "T he" untuk memulai bab.

pdftohtml >> pdfreflow >> htmltotext : Ini menghapus nomor halaman, tetapi masih sampah di header / footer. "T he" untuk memulai bab. Tanda hubung dihapus. (Ini menggunakan beberapa baris per paragraf, namun itu bukan baris yang sama seperti pada versi lain!)

Darren Cook
sumber
Acrobat reader 9 di linux menghasilkan kata-kata yang tergencet dalam kasus saya. ebook-convertbekerja dengan baik.
ov7a
Kami benar-benar membutuhkan aplikasi AI untuk itu, sepertinya cocok untuk tugas seperti itu: ada yang tahu?
JinSnow
1
Adobe reader gratis, tetapi ... hanya untuk membaca pdf. Untuk hal-hal lain yang perlu Anda bayar (berlangganan bulanan). (Pdf ke teks terbatas pada beberapa halaman). Pdfto text (atau xpdf on win) sangat cocok untuk kebutuhan saya.
JinSnow
Untuk data tabular, sekarang lebih baik menggunakan -table switch "pdftotext -tabel file_name.pdf output_name.txt"
Thom Ives
5

Jika Anda memiliki akun Google, Anda dapat menggunakan Google Documents untuk mengunggah PDF dan mengubahnya menjadi teks yang dapat diedit.

xua
sumber
1

Saya juga mencoba pypdf dan membandingkannya dengan pdftotext pada dua dokumen. Itu memiliki lebih banyak linebreak dan membagi beberapa nama bagian (REFERENSI adalah REFERENSI).

pdf2txt melakukan output sampah lengkap.

Saya sering menggunakan pdfBox (java) jika pdftotext merusak output. Anda mungkin mencobanya.

Maks
sumber