Wie zeigt weniger PDFs an?

52

Ich habe verschiedene Programme ausprobiert: pdftotext, pdf2txt.py, ... Alle können Text aus PDFs extrahieren, aber das, was die bessere Arbeit leistet, ist gut less: Der Text aus dem PDF hat ein korrektes Layout. Wie macht weniger das? Verwendet es eine Bibliothek oder ist die PDF-Verarbeitung integriert?

Ich frage, weil ich diese Funktionalität programmgesteuert nutzen möchte, ohne unbedingt weniger als externes Programm laufen zu müssen (ich mache Python).

Mein System ist:

» 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
quelle

Antworten:

63

Ihre Distribution verwendet wahrscheinlich das beliebte lesspipe.shSkript. Überprüfen Sie die LESSOPENUmgebungsvariable.

Dieses Skript gibt es in vielen Variationen. Ich schaue auf die Gentoo-Version. Darin finden Sie folgende Zeile:

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

Dies bedeutet, dass diese Befehle in der angezeigten Reihenfolge ausgeführt werden. $1ist der Dateiname.

Eine andere Version verwendet den folgenden Befehl:

pdftohtml -stdout "$t" | parsehtml -
Daniel B
quelle
15
Danke, es stellt sich heraus, dass es verwendetpdftotext -layout $1 -
dangonfast
@jeckyll2hide Hast du die Erklärung für die besseren Ergebnisse mit weniger gefunden?
Vvy
@vvy Wahrscheinlich der -layoutSchalter. ;)
Daniel B