56 votes

Comment less affiche-t-il les PDFs?

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

Je pose la question car j'aimerais utiliser cette fonctionnalité de manière programmée, sans forcément avoir à exécuter less en tant que programme externe (je fais du python).

Mon système est :

» less --version
less 458 (expressions régulières GNU)
Droits d'auteur (C) 1984-2012 Mark Nudelman

less est fourni SANS AUCUNE GARANTIE, dans la mesure permise par la loi.
Pour des informations sur les conditions de redistribution,
voir le fichier nommé README dans la distribution de less.
Page d'accueil : http://www.greenwoodsoftware.com/less

» uname -a
Linux polyphemus 3.13.0-53-generic #89-Ubuntu SMP mercredi 20 mai 10:34:39 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

68voto

Daniel B Points 52129

Votre distribution utilise probablement le script populaire lesspipe.sh. Vérifiez la variable d'environnement LESSOPEN.

Ce script existe sous de nombreuses variantes. Je regarde la version Gentoo. Dedans, vous trouverez la ligne suivante :

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

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

Une autre version utilise la commande suivante :

pdftohtml -stdout "$t" | parsehtml -

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X