1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"uuid":"bd34b650-8713-4321-93df-fe2042d8e68c","slug":"manipuler-les-pdf-sous-linux","title":"Manipuler des PDF sous Linux ?","author":"cedric@abonnel.fr","published":true,"published_at":"2023-02-28 20:02:47","created_at":"2023-02-28 20:02:47","updated_at":"2023-02-28 20:02:47","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Manipuler des PDF sous Linux ?\n\n## Liste des programmes\n**pdfshuffler** (PDF file merging, rearranging, and splitting)\\\\\nConcaténer, séparer ou modifier l'ordre des pages des fichiers PDF.\n\n**pdfmod** (A simple application for modifying PDF documents)\n\n**poppler** (Command line utilities for converting PDF files)\n\n**pdftk** \n\n**pdf chain**\n\n## pdfmod\n### Installer pdfmod\n\n\nExecuter l'installation :\n```\nsudo dnf install pdfmod\n```\n\nRésultat :\n```\nDernière vérification de l’expiration des métadonnées effectuée il y a 1:48:37 le sam. 29 juil. 2017 18:27:15 CEST.\nDépendances résolues.\n# ====================================================================\n Paquet Architecture Version Dépôt Taille\n# ====================================================================\nInstallation de :\n pdfmod x86_64 0.9.1-15.fc26 fedora 723 k\nInstallation des dépendances:\n gnome-sharp x86_64 2.24.2-13.fc26 fedora 315 k\n gtk-sharp2 x86_64 2.12.42-2.fc26 fedora 702 k\n hyena x86_64 0.5-15.fc26 fedora 355 k\n nunit x86_64 3.6-2.fc26 fedora 369 k\n poppler-sharp x86_64 0.0.3-13.fc26 fedora 34 k\n\nRésumé de la transaction\n# ====================================================================\nInstaller 6 Paquets\n\nTaille totale des téléchargements : 2.4 M\nTaille des paquets installés : 8.4 M\nVoulez-vous continuer ? [o/N] :o\nTéléchargement des paquets :\n(1/6): gnome-sharp-2.24.2-13.fc26.x86_64.rpm 190 kB/s | 315 kB 00:01 \n(2/6): hyena-0.5-15.fc26.x86_64.rpm 217 kB/s | 355 kB 00:01 \n(3/6): poppler-sharp-0.0.3-13.fc26.x86_64.rpm 158 kB/s | 34 kB 00:00 \n(4/6): pdfmod-0.9.1-15.fc26.x86_64.rpm 206 kB/s | 723 kB 00:03 \n(5/6): gtk-sharp2-2.12.42-2.fc26.x86_64.rpm 159 kB/s | 702 kB 00:04 \n(6/6): nunit-3.6-2.fc26.x86_64.rpm 333 kB/s | 369 kB 00:01 \n---\nTotal 478 kB/s | 2.4 MB 00:05 \nTest de la transaction en cours\nLa vérification de la transaction a réussi.\nLancement de la transaction de test\nTransaction de test réussie.\nExécution de la transaction\n Préparation : 1/1 \n Installation de : gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 \n Exécution du scriptlet: gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 \n Installation de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 \n Exécution du scriptlet: gnome-sharp-2.24.2-13.fc26.x86_64 2/6 \n Installation de : poppler-sharp-0.0.3-13.fc26.x86_64 3/6 \n Installation de : nunit-3.6-2.fc26.x86_64 4/6 \n Installation de : hyena-0.5-15.fc26.x86_64 5/6 \n Installation de : pdfmod-0.9.1-15.fc26.x86_64 6/6 \n Exécution du scriptlet: pdfmod-0.9.1-15.fc26.x86_64 6/6 \n Vérification de : pdfmod-0.9.1-15.fc26.x86_64 1/6 \n Vérification de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 \n Vérification de : gtk-sharp2-2.12.42-2.fc26.x86_64 3/6 \n Vérification de : hyena-0.5-15.fc26.x86_64 4/6 \n Vérification de : poppler-sharp-0.0.3-13.fc26.x86_64 5/6 \n Vérification de : nunit-3.6-2.fc26.x86_64 6/6 \n\nInstallé :\n pdfmod.x86_64 0.9.1-15.fc26 gnome-sharp.x86_64 2.24.2-13.fc26 \n gtk-sharp2.x86_64 2.12.42-2.fc26 hyena.x86_64 0.5-15.fc26 \n nunit.x86_64 3.6-2.fc26 poppler-sharp.x86_64 0.0.3-13.fc26 \n\nTerminé !\n```\n\n## pdf shuffler\n### Installer pdf shuffler\n\n\nExécuter l'installation :\n\n```\nsudo dnf install pdfshuffler\n```\n\nRésultat :\n```\nDernière vérification de l’expiration des métadonnées effectuée il y a 1:59:55 le sam. 29 juil. 2017 18:27:15 CEST.\nDépendances résolues.\n# ====================================================================\n Paquet Architecture Version Dépôt Taille\n# ====================================================================\nInstallation de :\n pdfshuffler noarch 0.6.0-10.fc26 fedora 69 k\nInstallation des dépendances:\n pyPdf noarch 1.13-13.fc26 fedora 73 k\n pypoppler x86_64 0.12.2-5.fc26 fedora 31 k\n\nRésumé de la transaction\n# ====================================================================\nInstaller 3 Paquets\n\nTaille totale des téléchargements : 173 k\nTaille des paquets installés : 636 k\nVoulez-vous continuer ? [o/N] :o\nTéléchargement des paquets :\n(1/3): pypoppler-0.12.2-5.fc26.x86_64.rpm 19 kB/s | 31 kB 00:01 \n(2/3): pdfshuffler-0.6.0-10.fc26.noarch.rpm 19 kB/s | 69 kB 00:03 \n(3/3): pyPdf-1.13-13.fc26.noarch.rpm 15 kB/s | 73 kB 00:04 \n---\nTotal 29 kB/s | 173 kB 00:05 \nTest de la transaction en cours\nLa vérification de la transaction a réussi.\nLancement de la transaction de test\nTransaction de test réussie.\nExécution de la transaction\n Préparation : 1/1 \n Installation de : pypoppler-0.12.2-5.fc26.x86_64 1/3 \n Installation de : pyPdf-1.13-13.fc26.noarch 2/3 \n Installation de : pdfshuffler-0.6.0-10.fc26.noarch 3/3 \n Exécution du scriptlet: pdfshuffler-0.6.0-10.fc26.noarch 3/3 \n Vérification de : pdfshuffler-0.6.0-10.fc26.noarch 1/3 \n Vérification de : pyPdf-1.13-13.fc26.noarch 2/3 \n Vérification de : pypoppler-0.12.2-5.fc26.x86_64 3/3 \n\nInstallé :\n pdfshuffler.noarch 0.6.0-10.fc26 pyPdf.noarch 1.13-13.fc26 \n pypoppler.x86_64 0.12.2-5.fc26 \n\nTerminé !\n```\n\n### Utiliser pdf shuffler\n\n\n## Poppler\n### Installer poppler\n\n\nExécuter l'installation :\n\n```\nsudo dnf install poppler-utils\n```\n\n### Utiliser poppler\n**poppler-utils** est un collection d'outils qui s'appuie sur l'API **poppler** pour éditer et modifier les fichiers PDF.\n- **pdfdetach** extract embedded documents from a PDF\n- **pdffonts** lists the fonts used in a PDF\n- **pdfimages** extract all embedded images at native resolution from a PDF\n- **pdfinfo** list all infos of a PDF\n- **pdfseparate** extract single pages from a PDF\n- **pdftocairo** convert single pages from a PDF to vector or bitmap formats using cairo\n- **pdftohtml** convert PDF to HTML format retaining formatting\n- **pdftoppm** convert a PDF page to a bitmap\n- **pdftops** convert PDF to printable PS format\n- **pdftotext** extract all text from PDF\n- **pdfunite** merges several PDF\n\nThe popper-utils package provides several different commands for interacting with and modifying PDF files. However, the two commands that help us the most here are **pdfseparate** and **pdfunite**. \n\n**pdfseparate** extracts pages into multiple PDFs that we can later merge together with **pdfunite**. To extract all the pages of a document into individual files, use:\n\n```\npdfseparate ColoringBook.pdf ColoringBook-page_%d.pdf\n```\n\nTo export a range of pages — say just pages 3,4,5,6,7,8 and 9 of a PDF — use the command:\n\n```\npdfseparate -f 3 -l 9 ColoringBook.pdf ColoringBook-page_%d.pdf\n```\n\nFinally, after using **pdfseparate**, if we wanted to create a new document (NewColoringBook.pdf) with ColoringBook-page_3.pdf and ColoringBook-page_3.pdf we could use the following **pdfunite** command:\n\n```\npdfunite ColoringBook-page_3.pdf ColoringBook-page_7.pdf NewColoringBook.pdf\n```\n\n \n## PDFTK\n### Installer le programme PDFTK\n```\nyum install pdftk\n```\n\n### Utiliser PDFTK\nAssembler (merge, join) plusieurs fichiers PDF en un seul nouveau fichier PDF\nSyntaxe\n```\npdftk P1 cat output P2\n```\n\n- P1 - source - correspond à la liste de fichiers à assembler\n- P2 - destination - correspond au fichier créé avec les documents PDF assemblés.\n\n### Exemple\nAssembler in1.pdf et in2.pdf dans un nouveau fichier out1.pdf :\n```\npdftk in1.pdf in2.pdf cat output out2.pdf\n```\n\n### Remarque\nSi PDFMERGE est installé sur votre poste, il rempli aussi cette fonctionnalité :\n```\npdfmerge file1.pdf file2.pdf... fileN.pdf outfile.pdf\n```\n\n## PDF Chain\nPDF Chain est une interface graphique pour PDF Toolkit (pdftk). Cette interface supporte toutes les commandes disponibles dans PDF Toolkit.\n\n## ImageMagick\n### Installer ImageMagick\n> Fedora 30\n\nSous **Fedora 30**, il suffit d’exécuter **dnf** pour installer le paquet présent dans des dépots **fedora** et ** updates **.\n\n $ sudo dnf install ImageMagick\n \nLes dépendances à d'autres paquets sont les suivantes :\n\n provider: ImageMagick-libs-1:6.9.10.75-1.fc30.x86_64\n provider: glibc-2.29-27.fc30.x86_64\n provider: glibc-2.29-27.fc30.i686\n\n## - La compil' des questions\n### - Recompiler un fichier PDF (pdftocairo et popple)\nDans un dossier vide, copier le fichier PDF à traiter. Se placer dans ce dossier avec la commande `cd` puis exécuter les commandes suivantes.\n\n## Convertir le fichier PDF en plusieurs fichiers JPEG avec **poppler** :\n\n $ pdftocairo `ls -v *.jpg` -jpeg\n\n## Convertir les fichiers JPEG et les assembler en un fichier PDF avec **ImageMagick** :\n\n $ convert `ls -v *.jpg` \"final.pdf\"\n\n## Effacer les fichiers temporaires :\n\n $ rm *.jpg\n \nLe fichier `final.pdf` est prêt.\n\n### - Recompiler un fichier PDF (gs via ps)\nVoici une méthode avec les prorgrammes **pdf2ps** et **ps2pdf** en ligne de commande. Ces programmes sont intégrés au paquets **GhostScript**.\n\nOn considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf**\n\n```\npdf2ps livre.pdf inter.ps\nps2pdf -dPDFSETTINGS=/prepress inter.ps livre-opti.pdf\n```\n\nL'option **dPDFSETTINGS** défini la qualité d'image issue du fichier PDF. Elle peut prendre les valeurs (du moins bon au meilleur résultat) **/screen**, **/default**, **/ebook**, **/printer**, **/prepress**\n\n### - Recompiler un fichier PDF (gs)\nVoici une méthode avec les prorgrammes **gs** en ligne de commande. Le programme **gs** s'appelle **GhostScript** qui est un interpreteur de langage PDF et PS.\n\nOn considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf**\n\n```\ngs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=livre-opti.pdf livre.pdf\n```\n\nL'option **dPDFSETTINGS** défini la qualité d'image issue du fichier PDF. Elle peut prendre les valeurs (du moins bon au meilleur résultat) **/screen**, **/default**, **/ebook**, **/printer**, **/prepress**\n\n### - Extraire le texte présent dans un PDF\nVotre fichier PDF peut contenir un ensemble de textes. Celui-ci peut être extrait directement en fichier texte.\nVoici une méthode avec le prorgramme **pdftotext** en ligne de commande. Ce programme fait partie de la suite **poppler-utils**.\n\nOn considère que l'on souhaite extraire le texte présent dans le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre.txt**\n\n```\npdftotext livre.pdf livre.txt\n```\n\n### - Deviner le texte d'un fichier PDF\nSi votre fichier PDF ne comporte que des images, il est nécessaire de `deviner` le texte présent. Il s'agit de la méthode OCR. Voici une méthode avec le prorgramme **ocrmypdf** en ligne de commande.\n\nCe programme peut être installé avec la commande :\n sudo apt install ocrmypdf\n\nOn considère que l'on souhaite extraire le texte présent dans le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre.txt**\n\n```\nocrmypdf livre.pdf livre.txt -l fra\n```\n\nLe dictionnaire OCR s'appuie sur le programme **tesseract**. Il faut installer le dictionnaire que l'on souhaite utiliser par la suite :\n sudo apt install tesseract-ocr-fra","featured":false,"tags":[]} |