Bagaimana cara lebih sedikit menampilkan PDF?

52

Saya telah mencoba beberapa program: pdftotext, pdf2txt.py, ... Semuanya dapat mengekstrak teks dari PDF, tetapi program yang melakukan pekerjaan yang lebih baik adalah baik less: teks dari PDF memiliki tata letak yang tepat. Bagaimana kurang melakukan ini? Apakah menggunakan perpustakaan apa pun, atau apakah pemrosesan PDF sudah ada di dalamnya?

Saya bertanya karena saya ingin menggunakan fungsi ini secara terprogram, tanpa harus menjalankan kurang sebagai program eksternal (saya melakukan python).

Sistem saya adalah:

» less --version
less 458 (GNU regular expressions)
Copyright (C) 1984-2012 Mark Nudelman

less comes with NO WARRANTY, to the extent permitted by law.
For information about the terms of redistribution,
see the file named README in the less distribution.
Homepage: http://www.greenwoodsoftware.com/less

» uname -a
Linux polyphemus 3.13.0-53-generic #89-Ubuntu SMP Wed May 20 10:34:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
dangonfast
sumber

Jawaban:

63

Distribusi Anda mungkin menggunakan lesspipe.shskrip populer . Periksa LESSOPENvariabel lingkungan.

Skrip ini ada dalam banyak variasi. Saya sedang melihat versi Gentoo. Di dalamnya, Anda akan menemukan baris berikut:

*.ps|*.pdf) ps2ascii "$1" || pstotext "$1" || pdftotext "$1" ;;

Itu berarti akan mencoba perintah-perintah itu dalam urutan yang ditampilkan. $1adalah nama file.

Versi lain menggunakan perintah berikut:

pdftohtml -stdout "$t" | parsehtml -
Daniel B
sumber
15
Terima kasih, ternyata ini menggunakanpdftotext -layout $1 -
dangonfast
@ jeckyll2hide Apakah Anda menemukan penjelasan untuk hasil yang lebih baik dengan lebih sedikit?
Pergilah
@vy Mungkin -layoutsaklar. ;)
Daniel B