Comment afficher moins de PDF?

52

J'ai essayé plusieurs programmes: pdftotext, pdf2txt.py, ... Tous peuvent extraire du texte à partir de PDF, mais celui qui fait le meilleur travail est bon vieux less: le texte du PDF a une mise en page correcte. Comment fait-on moins? Utilise-t-il une bibliothèque ou le traitement PDF est-il intégré?

Je pose la question parce que je voudrais utiliser cette fonctionnalité par programmation, sans nécessairement avoir à exécuter moins en tant que programme externe (je fais du python).

Mon système est:

» 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
la source

Réponses:

63

Votre distribution utilise probablement le lesspipe.shscript populaire . Vérifiez la LESSOPENvariable d'environnement.

Ce script existe dans de nombreuses variantes. Je regarde la version Gentoo. Vous y trouverez la ligne suivante:

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

Cela signifie qu'il va essayer ces commandes dans l'ordre affiché. $1est le nom du fichier.

Une autre version utilise la commande suivante:

pdftohtml -stdout "$t" | parsehtml -
Daniel B
la source
15
Merci, il s'avère qu'il utilisepdftotext -layout $1 -
dangonfast
@ jeckyll2hide Avez-vous trouvé l'explication des meilleurs résultats avec moins?
vvy
@vvy Probablement le -layoutcommutateur. ;)
Daniel B