web-dev-qa-db-fra.com

Existe-t-il un meilleur convertisseur de pdf en texte que pdftotext?

J'utilise pdftotext (une partie de poppler-utils) pour convertir les documents PDF en texte. Cela fonctionne dans l’ensemble, mais j’aurais souhaité, entre autres choses, insérer des lignes vides entre des paragraphes distincts au lieu de les mélanger ensemble.

Est-ce qu'il y a moyen d'obtenir que pdftotext fasse cela? Et si non, existe-t-il un autre utilitaire pdf en texte capable de le faire?

60
dan

Vous pouvez essayer ebook-convert de Calibre.

Si quelque chose, je dirais qu'il pèche dans l'autre sens: trop de sauts de ligne.

Une autre chose que je considérerais certainement est de convertir en HTML en utilisant pdfreflow , puis de convertir le HTML en TXT.

25
frabjous

Si vous utilisez pdftotext , vous pouvez utiliser le drapeau -layout pour conserver la mise en forme du texte sur les pages de votre fichier pdf d'entrée:

pdftotext -layout input.pdf output.txt
115
Noah

En tant que fan de l'open source (et de l'automatisation), je n'aime pas le dire, mais les meilleurs résultats que je viens d'obtenir (sur un fichier PDF assez volumineux et complexe) étaient de l'ouvrir dans Adobe Reader, puis de choisir Fichier | Enregistrer au format texte.

(Je suis un prétraitement pour des expériences d'analyse de texte, pas en tant que lecteur, mais je pense que mes premier et deuxième choix seraient les mêmes.)

J'ai comparé la sortie côte à côte. Mon deuxième choix est ebook-convert.

Adobe: à gauche dans FF pour les sauts de page, à gauche dans les numéros de page, n'a pas converti les en-têtes/paragraphes en lignes simples, mais il a des traits d'union. Le courrier indésirable qui était caché dans le PDF n'a pas été généré. Obtenez correctement les grandes capitales au début des sections, par exemple. "Le", pas "T-il" ou même "T-il".

ebook-convert: à gauche dans les numéros de page, et quelques indésirables cachés dans en-tête/pied de page (mais pas de FF). Convertit la plupart des paragraphes en lignes simples. Ceux qu'il a manqués sont à double interligne! Les balles ne s'alignent pas toujours avec le texte. Correctement obtenu "Le" au début du chapitre.

pdftotext (without --layout): Pas mal, les puces s’alignent, mais le bruit d’en-tête/pied de page. Les FF sont là. Les traits d'union supprimés. Pire pour les grosses lettres du début du chapitre: "T\n\nhe".

pdftotext (with --layout): similaire, mais plusieurs retraits. "Il" pour le début du chapitre.

pdftohtml >> pdfreflow >> htmltotext: Il supprimait les numéros de page, mais restait néanmoins indésirable dans l'en-tête/le pied de page. "Il" pour le début du chapitre. Les traits d'union supprimés. (Il utilise plusieurs lignes par paragraphe, mais ce ne sont pas les mêmes sauts de ligne que dans les autres versions!)

14
Darren Cook

Si vous avez un compte Google, vous pouvez utiliser Google Documents pour télécharger le PDF et le transformer en texte modifiable.

5
xangua

J'ai aussi essayé pypdf et l'ai comparé à pdftotext sur deux documents. Il y avait plus de sauts de ligne et des noms de section divisés (REFERENCES: R E F E E N C E S).

pdf2txt a généré des déchets complets.

J'utilise souvent pdfBox (Java) si pdftotext visse la sortie. Vous pourriez essayer.

1
Max