¿Cómo se muestran menos archivos PDF?

52

He intentado varios programas: pdftotext, pdf2txt.py, ... Todos ellos pueden extraer texto de archivos PDF, pero el que está haciendo el mejor trabajo es bueno less: el texto del PDF tiene un diseño adecuado. ¿Cómo es menos hacer esto? ¿Está utilizando alguna biblioteca o el procesamiento de PDF está incorporado?

Pregunto porque me gustaría utilizar esta funcionalidad mediante programación, sin necesariamente tener que ejecutar menos como un programa externo (estoy haciendo python).

Mi sistema es:

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

Respuestas:

63

Su distribución probablemente esté usando el lesspipe.shscript popular . Verifique la LESSOPENvariable de entorno.

Este script existe en muchas variaciones. Estoy mirando la versión de Gentoo. En él, encontrarás la siguiente línea:

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

Eso significa que probará esos comandos en el orden mostrado. $1es el nombre del archivo

Otra versión usa el siguiente comando:

pdftohtml -stdout "$t" | parsehtml -
Daniel B
fuente
15
Gracias, resulta que está usandopdftotext -layout $1 -
dangonfast
@ jeckyll2hide ¿Encontró la explicación de los mejores resultados con menos?
vvy
@vvy Probablemente el -layoutcambio. ;)
Daniel B