GNU/Linux >> Tutoriels Linux >  >> Debian

Comment convertir un PDF en texte sous Linux (interface graphique et ligne de commande)

Cet article présente 2 outils pour convertir des documents PDF en texte modifiable sous Linux à l'aide d'un outil graphique (caliber) et d'un outil en ligne de commande (pdftotext).

Il convient de noter que les deux outils mentionnés dans cet article pour extraire du texte à partir de fichiers PDF ne peuvent pas extraire le texte si le PDF est composé d'images (ex. pages de livre / images numérisées).

Convertir un PDF en texte avec Calibre (GUI)

calibre est une suite logicielle de livres électroniques gratuite et open source. Il prend en charge l'organisation, la visualisation, l'édition et la conversion de livres électroniques et prend en charge une grande variété de formats. L'application fonctionne sous Linux, macOS et Microsoft Windows.

Calibre devrait être disponible dans les référentiels de votre distribution Linux et vous devriez pouvoir l'installer à l'aide de n'importe quel magasin de logiciels que vous avez sur votre système. Par exemple, pour l'installer sur Debian, Ubuntu, Linux Mint, Fedora, openSUSE ou Arch Linux utilisez :

  • Debian, Ubuntu ou Linux Mint :

sudo apt install calibre

  • Fedora :
sudo dnf install calibre

  • openSUSE :
sudo zypper install calibre

  • Arch Linux :
sudo pacman -S calibre

Calibre peut également être installé sur Linux en utilisant le package Flathub (nécessite la configuration de Flathub / Flatpak sur certaines distributions Linux).

Il existe une autre façon d'installer calibre sur Linux qui est expliquée sur la page de téléchargement de l'application où vous pouvez également trouver des binaires macOS et Windows.

Connexe :Comment convertir un PDF en image (PNG, JPEG) à l'aide de GIMP ou de l'outil de ligne de commande pdftoppm

Une fois calibre installé sur votre système, lancez-le et cliquez sur Add books pour ajouter le PDF (ou plusieurs PDF - calibre prend en charge la conversion par lots de plusieurs fichiers PDF en texte) que vous souhaitez convertir en texte.

Dans la liste des livres, sélectionnez le PDF (ou plusieurs PDF pour la conversion par lots en .txt) que vous souhaitez convertir en texte et cliquez sur Convert books Bouton. Dans le coin supérieur droit de la fenêtre de conversion, sélectionnez TXT As Output format :

Il existe de nombreuses options que vous pouvez modifier dans cette boîte de dialogue de conversion. Par exemple, vous pouvez supprimer automatiquement l'espace entre les paragraphes ou insérer une ligne blanche entre les paragraphes (Look & Feel -> Layout ). Vous pouvez également définir l'encodage des caractères et le style de fin de ligne (Système, Unix, Windows, old_mac) et même le formater en Markdown.

Une fois la configuration terminée, cliquez sur le OK Bouton pour lancer la conversion du fichier PDF en texte. Le fichier .txt converti se trouve dans le répertoire où vous avez spécifié l'emplacement de la bibliothèque calibre (puis dans AuthorName/BookName sous-dossiers ; si l'auteur ou le nom du livre ne peut pas être déterminé, le sous-dossier est appelé "Inconnu").

Ce qui manque à calibre dans ce cas, c'est un moyen de convertir uniquement une page ou une plage de pages - il ne peut actuellement convertir que des fichiers PDF entiers en texte.

Connexe PDF :comment créer des formulaires PDF remplissables à l'aide de LibreOffice Writer

Convertir PDF en texte avec pdftotext (ligne de commande)

pdftotext est un utilitaire de ligne de commande qui convertit les fichiers PDF en texte brut. Il offre de nombreuses options, notamment la possibilité de spécifier la plage de pages à convertir, de préserver au mieux la mise en page physique d'origine du texte, de définir des fins de ligne (Unix, DOS ou Mac) et même de travailler avec des fichiers PDF protégés par mot de passe.

pdftotext fait partie du package poppler/poppler-utils/poppler-tools (selon la distribution Linux utilisée). Installez ce package comme suit :

  • Debian, Ubuntu, Linux Mint et autres distributions Linux basées sur Debian/Ubuntu :
sudo apt install poppler-utils

  • Fedora :
sudo dnf install poppler-utils

  • openSUSE :
sudo zypper install poppler-tools

  • Arch Linux :
sudo pacman -S poppler

Dans d'autres distributions Linux, utilisez votre gestionnaire de packages pour installer le package poppler / poppler-utils.

Maintenant que le package est installé, vous pouvez convertir un fichier PDF en texte brut et conserver la même mise en page (Je recommande d'utiliser ce -layout Possibilité de conserver la disposition physique d'origine, mais vous pouvez essayer sans) avec :

pdftotext -layout input.pdf output.txt

Vous devez remplacer input.pdf avec le nom du fichier PDF et output.txt avec le nom avec lequel le fichier TXT généré doit être appelé. Si nécessaire, ajoutez les chemins devant les noms de fichiers (par exemple ~/Documents/mypdf.pdf ). Si aucun fichier texte de sortie n'est spécifié, pdftotext nomme le fichier avec le même nom de fichier que le fichier PDF d'origine.

L'option de mise en page conserve la mise en page PDF lors de la conversion en texte, même dans les cas de PDF à plusieurs colonnes.

Que se passe-t-il si vous souhaitez uniquement convertir une plage de pages du PDF en texte au lieu du PDF entier ? Utilisez -f (première page à convertir) et -l (dernière page à convertir) suivi du numéro de page, comme suit :

pdftotext -layout -f M -l N input.pdf

Remplacez M et N avec le premier et le dernier numéro de page à extraire et input.pdf avec le nom du fichier PDF.

Souhaitez-vous utiliser des caractères de fin de ligne pour Mac, DOS ou Unix ? Vous pouvez le faire avec aussi. indiquer -eol suivi de mac , dos ou unix . Par exemple. pour les fins de ligne Unix :

pdftotext -layout -eol unix input.pdf

Si vous ne souhaitez pas insérer de sauts de page entre les pages, ajoutez un -nopgbrk :

pdftotext -layout nopgbrk input.pdf

Voulez-vous convertir par lots tous les fichiers PDF d'un dossier en fichiers texte ? pdftotext ne prend pas en charge la conversion par lot de PDF en texte (et pdftotext *.pdf ne fonctionne pas), mais vous pouvez convertir tous les fichiers PDF d'un dossier en fichiers texte à l'aide d'une boucle Bash FOR :

for file in *.pdf; do pdftotext -layout "$file"; done

Pour plus d'options, exécutez man pdftotext et pdftotext --help .

Vous pourriez aimer ceci :Téléchargez Master PDF Editor 4 pour Linux (version gratuite)


Debian
  1. Comment effacer l'historique de la ligne de commande BASH sous Linux

  2. Comment convertir plusieurs images en PDF dans Ubuntu Linux

  3. Comment écrire du texte sur une image à l'aide de la commande Linux

  4. Comment arrêter ou redémarrer Linux à l'aide de la ligne de commande

  5. Comment redémarrer Linux en utilisant la ligne de commande

Comment faire des mathématiques de base en ligne de commande Linux

Comment convertir des documents au format PDF sur la ligne de commande Ubuntu

Comment convertir une page Web en PDF sous Linux

Comment convertir un PDF en image en ligne de commande Linux

Comment trouver une adresse IP dans la ligne de commande Linux

Comment convertir un PDF en image dans le système Linux (méthode CLI et GUI)