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


63

J'utilise pdftotext (une partie de poppler-utils) pour convertir des 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?


8
Dans le titre, vous dites "pdftotext" (qui fait partie de poppler-utils) et dans le corps, vous dites "pdt2text" (que je ne connais pas). De quoi parlez-vous?
enzotib

question similaire PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
JinSnow

Réponses:


25

Vous pouvez essayer ebook-convertde 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 la conversion en HTML en utilisant pdfreflow , puis la conversion de HTML en TXT.


Remarque: ebook-convertimpossible de convertir une mise en page multi-colonnes, elle fusionne les colonnes en une seule colonne. Pour une mise en page multi-colonnes, le résultat est pdftotextbien meilleur. Des restrictions supplémentaires sont décrites à manuel.calibre-ebook.com/conversion.html#convert-pdf-documents .
asmaier

117

Si vous utilisez pdftotext, vous pouvez utiliser le -layoutdrapeau pour conserver la présentation du texte sur les pages de votre fichier pdf d'entrée:

pdftotext -layout input.pdf output.txt

6
Il existe également une table pour les dispositions de table, qui fonctionne très bien.
P.Windridge

3
@ P.Windridge, où est cette option de table? Je ne le trouve pas dans la version 0.48.0 de poppler-utils dans Ubuntu 17.04
gozzilli

2
Ce @gozzilli est ainsi ancienne. La dernière pdftotext est v4.00, disponible dans les outils Xpdf tarball ici .
Adrian

2
@gozzilli Les versions commençant par 0. indiquent qu'il s'agit de la branche Popplers du code original de Xpdf. Ils ont commencé leurs numéros de version quand ils ont ramifié le code. Les deux groupes semblent maintenant gérer des versions séparées de ces outils PDF.
Andrew

1
@VivekSable ce sont des points (pixels) au niveau spécifié -r(résolution, 72 dpi par défaut)
vendredi

14

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 en tant que 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 a des traits d'union. Un courrier indésirable caché dans le PDF n'a pas été généré. Les grandes capitales sont correctement placées au début des sections, par exemple "Le", pas "L" ou même "L".

ebook-convert : à gauche dans les numéros de page, et quelques jonques cachées dans l'en-tête / le 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 (sans --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 plus indenté. "Il" pour le début du chapitre.

pdftohtml >> pdfreflow >> htmltotext : Il supprimait les numéros de page, mais restait 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!)


Acrobat Reader 9 sur Linux a généré des mots écrasés dans mon cas. ebook-converta bien fonctionné.
ov7a

Nous avons vraiment besoin d'une application d'IA pour cela, cela semble parfait pour ce genre de tâche: quelqu'un en connaît une?
JinSnow

1
Adobe Reader est gratuit, mais ... uniquement pour lire le pdf. Pour d'autres choses, vous devez payer (abonnement mensuel). (PDF au texte est limité à quelques pages). Pdfto text (ou xpdf sur win) est parfait pour mes besoins.
JinSnow

Pour les données tabulaires, il est maintenant préférable d'utiliser le commutateur -table "pdftotext -table nom_fichier.pdf nom_sortie.txt"
Thom Ives le

5

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


1

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 sections divisés (REFERENCES était REFERENCES).

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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.