¿Existe un mejor conversor de PDF a texto que pdftotext?

63

Estoy usando pdftotext (parte de poppler-utils) para convertir documentos PDF a texto. Funciona, en su mayor parte, pero una cosa que desearía hacer era insertar líneas en blanco entre párrafos separados en lugar de juntarlos.

¿Hay alguna forma de obtener pdftotext para hacer esto? Y si no, ¿hay otra utilidad de pdf a texto que pueda hacer esto?

dan
fuente
8
En el título dices "pdftotext" (que es parte de poppler-utils) y en el cuerpo dices "pdt2text" (que no sé). ¿A qué te refieres?
enzotib
pregunta similar PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
JinSnow

Respuestas:

25

Podrías probar ebook-convertde Calibre.

En todo caso, diría que se equivoca en la otra dirección: demasiados saltos de línea.

Sin embargo, otra cosa que definitivamente consideraría es convertir a HTML usando pdfreflow , y luego convertir el HTML a TXT.

precioso
fuente
Nota: ebook-convertno puede convertir el diseño de varias columnas, combina las columnas en una columna. Para el diseño de varias columnas pdftotextproduce una salida mucho mejor. Las limitaciones adicionales se describen en manual.calibre-ebook.com/conversion.html#convert-pdf-documents .
asmaier
117

Si está usando pdftotext , puede usar la -layoutbandera para preservar el diseño del texto en las páginas en su archivo pdf de entrada:

pdftotext -layout input.pdf output.txt
Noah
fuente
66
También hay una tabla para diseños de mesa específicamente, funciona muy bien.
P.Windridge
3
@ P.Windridge, ¿dónde está esta opción de tabla? No puedo encontrarlo en la versión 0.48.0 de poppler-utils en Ubuntu 17.04
gozzilli
2
@gozzilli Eso es muy viejo. El último pdftotext es v4.00, disponible en el tarball de herramientas Xpdf aquí .
Adrian
2
@gozzilli Las versiones que comienzan con 0. indican que es la rama Popplers del código original de Xpdf. Comenzaron sus números de versión cuando ramificaron el código. Ambos grupos ahora parecen mantener versiones separadas de estas herramientas PDF.
Andrew
1
@VivekSable esos son puntos (píxeles) a la especificada -r(resolución, 72 ppp por defecto)
vstepaniuk
14

Como fanático del código abierto (y la automatización), odio decir esto, pero los mejores resultados que obtuve (en un PDF bastante grande y complejo) fueron abrirlo en Adobe Reader, luego elegir Archivo | Guardar como texto.

(Estoy procesando previamente los experimentos de análisis de texto, no como lector, pero creo que mi primera y segunda opción serían las mismas).

He estado comparando la salida de lado a lado. Mi segunda opción es convertir libros electrónicos.

Adobe : a la izquierda en FF para saltos de página, a la izquierda en números de página, no ha convertido encabezados / párrafos en líneas simples, pero ha corregido guiones. La basura que estaba oculta en el PDF no obtuvo salida. Obtuve correctamente las grandes capitales al comienzo de las secciones, por ejemplo, "The", no "T he" o incluso "T he".

ebook-convert : Izquierda en números de página y algo de basura oculta en encabezado / pie de página (pero no FF). Convierte la mayoría de los párrafos en líneas simples. Sin embargo, los que se perdieron son de doble espacio. Las viñetas no siempre se alinean con el texto. Obtuve correctamente "The" al comienzo del capítulo.

pdftotext (sin --layout) : No está mal, las viñetas se alinean, pero el ruido del encabezado / pie de página. Los FF están ahí. Guiones eliminados. Lo peor para el comienzo del capítulo letras grandes: "T \ n \ nhe".

pdftotext (con --layout) : similar, pero con más sangrías. "T he" para el inicio del capítulo.

pdftohtml >> pdfreflow >> htmltotext : eliminó los números de página, pero aún así no es basura en el encabezado / pie de página. "T he" para el inicio del capítulo. Guiones eliminados. (Utiliza varias líneas por párrafo, ¡pero no son los mismos saltos de línea que en las otras versiones!)

Darren Cook
fuente
Acrobat reader 9 en linux generó palabras aplastadas en mi caso. ebook-convertfuncionó bien
ov7a
Realmente necesitamos una aplicación de IA para eso, parece perfecta para ese tipo de tarea: ¿alguien conoce una?
JinSnow
1
Adobe Reader es gratuito, pero ... solo para leer pdf. Para otras cosas, debe pagar (suscripción mensual). (PDF a texto está limitado a pocas páginas). El texto pdf (o xpdf en win) es perfecto para mis necesidades.
JinSnow
Para datos tabulares, ahora es mejor usar el modificador -table "pdftotext -table file_name.pdf output_name.txt"
Thom Ives
5

Si tiene una cuenta de Google, puede usar Google Docs para cargar el PDF y transformarlo en texto editable.

xangua
fuente
1

También probé pypdf y lo comparé con pdftotext en dos documentos. Tenía más saltos de línea y dividía algunos nombres de sección (REFERENCES era REFERENCES).

pdf2txt hizo salir basura completa.

A menudo uso pdfBox (java) si pdftotext arruina la salida. Puedes intentarlo.

Max
fuente