diff --git a/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.json b/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.json deleted file mode 100644 index f7ec351..0000000 --- a/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "title": "Manipuler des PDF sous Linux", - "_updated_at": "2026-05-16 20:11:37", - "slug": "manipuler-les-pdf-sous-linux", - "published": true, - "published_at": "2023-02-28 20:02", - "category": "Informatique", - "tags": { - "tags": [ - "PDF" - ] - }, - "seo_title": "", - "seo_description": "", - "og_image": "https://www.abonnel.fr/file?uuid=bd34b650-8713-4321-93df-fe2042d8e68c&name=cover.png" -} diff --git a/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.md b/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.md deleted file mode 100644 index 0f92bf5..0000000 --- a/bd34b650-8713-4321-93df-fe2042d8e68c/draft_overlay.md +++ /dev/null @@ -1,95 +0,0 @@ -# Manipuler des PDF sous Linux - -Fusionner, séparer, réorganiser ou extraire le contenu d'un PDF : sous Linux, plusieurs outils — graphiques ou en ligne de commande — couvrent ces besoins. Voici une sélection des plus utiles, avec leur installation sur Fedora et un aperçu de leur usage. - -## Vue d'ensemble des outils - -| Outil | Type | Usage principal | -|---|---|---| -| **pdfshuffler** | Graphique | Fusionner, séparer, réordonner des pages | -| **pdfmod** | Graphique | Modifier la structure d'un PDF | -| **poppler-utils** | Ligne de commande | Conversion, extraction, fusion, découpe | -| **pdftk** | Ligne de commande | Manipulation avancée (fusion, chiffrement, formulaires) | -| **PDF Chain** | Graphique | Interface graphique pour pdftk | - -## pdfmod - -Application graphique simple pour réorganiser, supprimer ou faire pivoter les pages d'un PDF. - -![](ico_pdfmod.png) - -Installation : - -``` -sudo dnf install pdfmod -``` - -L'installation tire quelques dépendances Mono/GTK# (`gtk-sharp2`, `gnome-sharp`, `poppler-sharp`, `hyena`, `nunit`), soit environ 8 Mo une fois installé. - -## pdfshuffler - -Outil graphique léger orienté glisser-déposer, idéal pour assembler ou réorganiser des pages issues de plusieurs fichiers. - -![](ico_pdfshuffler.png) - -Installation : - -``` -sudo dnf install pdfshuffler -``` - -Dépendances principales : `pyPdf` et `pypoppler`. - -### Utilisation - -L'interface affiche les pages sous forme de vignettes, qu'il suffit de faire glisser pour les réordonner, supprimer ou regrouper avant export. - -![](pdfshuffler_capture.png) - -## poppler-utils - -`poppler-utils` est une collection d'outils en ligne de commande s'appuyant sur l'API **poppler** pour manipuler les fichiers PDF. - -![](ico_poppler.gif) - -Installation : - -``` -sudo dnf install poppler-utils -``` - -### Les commandes fournies - -- **pdfdetach** — extrait les documents embarqués d'un PDF -- **pdffonts** — liste les polices utilisées -- **pdfimages** — extrait les images à leur résolution native -- **pdfinfo** — affiche les métadonnées du document -- **pdfseparate** — extrait des pages individuelles -- **pdftocairo** — convertit des pages en formats vectoriels ou bitmap via cairo -- **pdftohtml** — convertit un PDF en HTML en conservant la mise en forme -- **pdftoppm** — convertit une page PDF en bitmap -- **pdftops** — convertit un PDF au format PostScript imprimable -- **pdftotext** — extrait tout le texte -- **pdfunite** — fusionne plusieurs PDF - -### Exemples pratiques - -Les deux commandes les plus utiles au quotidien sont `pdfseparate` (découpe) et `pdfunite` (fusion). - -**Extraire toutes les pages d'un document** dans des fichiers séparés : - -``` -pdfseparate ColoringBook.pdf ColoringBook-page_%d.pdf -``` - -**Extraire une plage de pages** (ici les pages 3 à 9) : - -``` -pdfseparate -f 3 -l 9 ColoringBook.pdf ColoringBook-page_%d.pdf -``` - -**Fusionner plusieurs PDF** en un seul document (par exemple les pages 3 et 4 extraites précédemment) : - -``` -pdfunite ColoringBook-page_3.pdf ColoringBook-page_4.pdf NewColoringBook.pdf -``` \ No newline at end of file diff --git a/bd34b650-8713-4321-93df-fe2042d8e68c/index.md b/bd34b650-8713-4321-93df-fe2042d8e68c/index.md index 6a34fed..0f92bf5 100644 --- a/bd34b650-8713-4321-93df-fe2042d8e68c/index.md +++ b/bd34b650-8713-4321-93df-fe2042d8e68c/index.md @@ -1,300 +1,95 @@ -# Manipuler des PDF sous Linux ? +# Manipuler des PDF sous Linux -## Liste des programmes -**pdfshuffler** (PDF file merging, rearranging, and splitting)\\ -Concaténer, séparer ou modifier l'ordre des pages des fichiers PDF. +Fusionner, séparer, réorganiser ou extraire le contenu d'un PDF : sous Linux, plusieurs outils — graphiques ou en ligne de commande — couvrent ces besoins. Voici une sélection des plus utiles, avec leur installation sur Fedora et un aperçu de leur usage. -**pdfmod** (A simple application for modifying PDF documents) +## Vue d'ensemble des outils -**poppler** (Command line utilities for converting PDF files) - -**pdftk** - -**pdf chain** +| Outil | Type | Usage principal | +|---|---|---| +| **pdfshuffler** | Graphique | Fusionner, séparer, réordonner des pages | +| **pdfmod** | Graphique | Modifier la structure d'un PDF | +| **poppler-utils** | Ligne de commande | Conversion, extraction, fusion, découpe | +| **pdftk** | Ligne de commande | Manipulation avancée (fusion, chiffrement, formulaires) | +| **PDF Chain** | Graphique | Interface graphique pour pdftk | ## pdfmod -### Installer pdfmod + +Application graphique simple pour réorganiser, supprimer ou faire pivoter les pages d'un PDF. + ![](ico_pdfmod.png) -Executer l'installation : +Installation : + ``` sudo dnf install pdfmod ``` -Résultat : -``` -Derniè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. -Dépendances résolues. -# ==================================================================== - Paquet Architecture Version Dépôt Taille -# ==================================================================== -Installation de : - pdfmod x86_64 0.9.1-15.fc26 fedora 723 k -Installation des dépendances: - gnome-sharp x86_64 2.24.2-13.fc26 fedora 315 k - gtk-sharp2 x86_64 2.12.42-2.fc26 fedora 702 k - hyena x86_64 0.5-15.fc26 fedora 355 k - nunit x86_64 3.6-2.fc26 fedora 369 k - poppler-sharp x86_64 0.0.3-13.fc26 fedora 34 k +L'installation tire quelques dépendances Mono/GTK# (`gtk-sharp2`, `gnome-sharp`, `poppler-sharp`, `hyena`, `nunit`), soit environ 8 Mo une fois installé. -Résumé de la transaction -# ==================================================================== -Installer 6 Paquets +## pdfshuffler -Taille totale des téléchargements : 2.4 M -Taille des paquets installés : 8.4 M -Voulez-vous continuer ? [o/N] :o -Téléchargement des paquets : -(1/6): gnome-sharp-2.24.2-13.fc26.x86_64.rpm 190 kB/s | 315 kB 00:01 -(2/6): hyena-0.5-15.fc26.x86_64.rpm 217 kB/s | 355 kB 00:01 -(3/6): poppler-sharp-0.0.3-13.fc26.x86_64.rpm 158 kB/s | 34 kB 00:00 -(4/6): pdfmod-0.9.1-15.fc26.x86_64.rpm 206 kB/s | 723 kB 00:03 -(5/6): gtk-sharp2-2.12.42-2.fc26.x86_64.rpm 159 kB/s | 702 kB 00:04 -(6/6): nunit-3.6-2.fc26.x86_64.rpm 333 kB/s | 369 kB 00:01 ---- -Total 478 kB/s | 2.4 MB 00:05 -Test de la transaction en cours -La vérification de la transaction a réussi. -Lancement de la transaction de test -Transaction de test réussie. -Exécution de la transaction - Préparation : 1/1 - Installation de : gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 - Exécution du scriptlet: gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 - Installation de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 - Exécution du scriptlet: gnome-sharp-2.24.2-13.fc26.x86_64 2/6 - Installation de : poppler-sharp-0.0.3-13.fc26.x86_64 3/6 - Installation de : nunit-3.6-2.fc26.x86_64 4/6 - Installation de : hyena-0.5-15.fc26.x86_64 5/6 - Installation de : pdfmod-0.9.1-15.fc26.x86_64 6/6 - Exécution du scriptlet: pdfmod-0.9.1-15.fc26.x86_64 6/6 - Vérification de : pdfmod-0.9.1-15.fc26.x86_64 1/6 - Vérification de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 - Vérification de : gtk-sharp2-2.12.42-2.fc26.x86_64 3/6 - Vérification de : hyena-0.5-15.fc26.x86_64 4/6 - Vérification de : poppler-sharp-0.0.3-13.fc26.x86_64 5/6 - Vérification de : nunit-3.6-2.fc26.x86_64 6/6 +Outil graphique léger orienté glisser-déposer, idéal pour assembler ou réorganiser des pages issues de plusieurs fichiers. -Installé : - pdfmod.x86_64 0.9.1-15.fc26 gnome-sharp.x86_64 2.24.2-13.fc26 - gtk-sharp2.x86_64 2.12.42-2.fc26 hyena.x86_64 0.5-15.fc26 - nunit.x86_64 3.6-2.fc26 poppler-sharp.x86_64 0.0.3-13.fc26 - -Terminé ! -``` - -## pdf shuffler -### Installer pdf shuffler ![](ico_pdfshuffler.png) -Exécuter l'installation : +Installation : ``` sudo dnf install pdfshuffler ``` -Résultat : -``` -Derniè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. -Dépendances résolues. -# ==================================================================== - Paquet Architecture Version Dépôt Taille -# ==================================================================== -Installation de : - pdfshuffler noarch 0.6.0-10.fc26 fedora 69 k -Installation des dépendances: - pyPdf noarch 1.13-13.fc26 fedora 73 k - pypoppler x86_64 0.12.2-5.fc26 fedora 31 k +Dépendances principales : `pyPdf` et `pypoppler`. -Résumé de la transaction -# ==================================================================== -Installer 3 Paquets +### Utilisation -Taille totale des téléchargements : 173 k -Taille des paquets installés : 636 k -Voulez-vous continuer ? [o/N] :o -Téléchargement des paquets : -(1/3): pypoppler-0.12.2-5.fc26.x86_64.rpm 19 kB/s | 31 kB 00:01 -(2/3): pdfshuffler-0.6.0-10.fc26.noarch.rpm 19 kB/s | 69 kB 00:03 -(3/3): pyPdf-1.13-13.fc26.noarch.rpm 15 kB/s | 73 kB 00:04 ---- -Total 29 kB/s | 173 kB 00:05 -Test de la transaction en cours -La vérification de la transaction a réussi. -Lancement de la transaction de test -Transaction de test réussie. -Exécution de la transaction - Préparation : 1/1 - Installation de : pypoppler-0.12.2-5.fc26.x86_64 1/3 - Installation de : pyPdf-1.13-13.fc26.noarch 2/3 - Installation de : pdfshuffler-0.6.0-10.fc26.noarch 3/3 - Exécution du scriptlet: pdfshuffler-0.6.0-10.fc26.noarch 3/3 - Vérification de : pdfshuffler-0.6.0-10.fc26.noarch 1/3 - Vérification de : pyPdf-1.13-13.fc26.noarch 2/3 - Vérification de : pypoppler-0.12.2-5.fc26.x86_64 3/3 +L'interface affiche les pages sous forme de vignettes, qu'il suffit de faire glisser pour les réordonner, supprimer ou regrouper avant export. -Installé : - pdfshuffler.noarch 0.6.0-10.fc26 pyPdf.noarch 1.13-13.fc26 - pypoppler.x86_64 0.12.2-5.fc26 - -Terminé ! -``` - -### Utiliser pdf shuffler ![](pdfshuffler_capture.png) -## Poppler -### Installer poppler +## poppler-utils + +`poppler-utils` est une collection d'outils en ligne de commande s'appuyant sur l'API **poppler** pour manipuler les fichiers PDF. + ![](ico_poppler.gif) -Exécuter l'installation : +Installation : ``` sudo dnf install poppler-utils ``` -### Utiliser poppler -**poppler-utils** est un collection d'outils qui s'appuie sur l'API **poppler** pour éditer et modifier les fichiers PDF. -- **pdfdetach** extract embedded documents from a PDF -- **pdffonts** lists the fonts used in a PDF -- **pdfimages** extract all embedded images at native resolution from a PDF -- **pdfinfo** list all infos of a PDF -- **pdfseparate** extract single pages from a PDF -- **pdftocairo** convert single pages from a PDF to vector or bitmap formats using cairo -- **pdftohtml** convert PDF to HTML format retaining formatting -- **pdftoppm** convert a PDF page to a bitmap -- **pdftops** convert PDF to printable PS format -- **pdftotext** extract all text from PDF -- **pdfunite** merges several PDF +### Les commandes fournies -The 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**. +- **pdfdetach** — extrait les documents embarqués d'un PDF +- **pdffonts** — liste les polices utilisées +- **pdfimages** — extrait les images à leur résolution native +- **pdfinfo** — affiche les métadonnées du document +- **pdfseparate** — extrait des pages individuelles +- **pdftocairo** — convertit des pages en formats vectoriels ou bitmap via cairo +- **pdftohtml** — convertit un PDF en HTML en conservant la mise en forme +- **pdftoppm** — convertit une page PDF en bitmap +- **pdftops** — convertit un PDF au format PostScript imprimable +- **pdftotext** — extrait tout le texte +- **pdfunite** — fusionne plusieurs PDF -**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: +### Exemples pratiques + +Les deux commandes les plus utiles au quotidien sont `pdfseparate` (découpe) et `pdfunite` (fusion). + +**Extraire toutes les pages d'un document** dans des fichiers séparés : ``` pdfseparate ColoringBook.pdf ColoringBook-page_%d.pdf ``` -To export a range of pages — say just pages 3,4,5,6,7,8 and 9 of a PDF — use the command: +**Extraire une plage de pages** (ici les pages 3 à 9) : ``` pdfseparate -f 3 -l 9 ColoringBook.pdf ColoringBook-page_%d.pdf ``` -Finally, 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: +**Fusionner plusieurs PDF** en un seul document (par exemple les pages 3 et 4 extraites précédemment) : ``` -pdfunite ColoringBook-page_3.pdf ColoringBook-page_7.pdf NewColoringBook.pdf -``` - - -## PDFTK -### Installer le programme PDFTK -``` -yum install pdftk -``` - -### Utiliser PDFTK -Assembler (merge, join) plusieurs fichiers PDF en un seul nouveau fichier PDF -Syntaxe -``` -pdftk P1 cat output P2 -``` - -- P1 - source - correspond à la liste de fichiers à assembler -- P2 - destination - correspond au fichier créé avec les documents PDF assemblés. - -### Exemple -Assembler in1.pdf et in2.pdf dans un nouveau fichier out1.pdf : -``` -pdftk in1.pdf in2.pdf cat output out2.pdf -``` - -### Remarque -Si PDFMERGE est installé sur votre poste, il rempli aussi cette fonctionnalité : -``` -pdfmerge file1.pdf file2.pdf... fileN.pdf outfile.pdf -``` - -## PDF Chain -PDF Chain est une interface graphique pour PDF Toolkit (pdftk). Cette interface supporte toutes les commandes disponibles dans PDF Toolkit. - -## ImageMagick -### Installer ImageMagick -> Fedora 30 - -Sous **Fedora 30**, il suffit d’exécuter **dnf** pour installer le paquet présent dans des dépots **fedora** et ** updates **. - - $ sudo dnf install ImageMagick - -Les dépendances à d'autres paquets sont les suivantes : - - provider: ImageMagick-libs-1:6.9.10.75-1.fc30.x86_64 - provider: glibc-2.29-27.fc30.x86_64 - provider: glibc-2.29-27.fc30.i686 - -## - La compil' des questions -### - Recompiler un fichier PDF (pdftocairo et popple) -Dans un dossier vide, copier le fichier PDF à traiter. Se placer dans ce dossier avec la commande `cd` puis exécuter les commandes suivantes. - -## Convertir le fichier PDF en plusieurs fichiers JPEG avec **poppler** : - - $ pdftocairo `ls -v *.jpg` -jpeg - -## Convertir les fichiers JPEG et les assembler en un fichier PDF avec **ImageMagick** : - - $ convert `ls -v *.jpg` "final.pdf" - -## Effacer les fichiers temporaires : - - $ rm *.jpg - -Le fichier `final.pdf` est prêt. - -### - Recompiler un fichier PDF (gs via ps) -Voici une méthode avec les prorgrammes **pdf2ps** et **ps2pdf** en ligne de commande. Ces programmes sont intégrés au paquets **GhostScript**. - -On considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf** - -``` -pdf2ps livre.pdf inter.ps -ps2pdf -dPDFSETTINGS=/prepress inter.ps livre-opti.pdf -``` - -L'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** - -### - Recompiler un fichier PDF (gs) -Voici 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. - -On considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf** - -``` -gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=livre-opti.pdf livre.pdf -``` - -L'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** - -### - Extraire le texte présent dans un PDF -Votre fichier PDF peut contenir un ensemble de textes. Celui-ci peut être extrait directement en fichier texte. -Voici une méthode avec le prorgramme **pdftotext** en ligne de commande. Ce programme fait partie de la suite **poppler-utils**. - -On 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** - -``` -pdftotext livre.pdf livre.txt -``` - -### - Deviner le texte d'un fichier PDF -Si 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. - -Ce programme peut être installé avec la commande : - sudo apt install ocrmypdf - -On 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** - -``` -ocrmypdf livre.pdf livre.txt -l fra -``` - -Le dictionnaire OCR s'appuie sur le programme **tesseract**. Il faut installer le dictionnaire que l'on souhaite utiliser par la suite : - sudo apt install tesseract-ocr-fra \ No newline at end of file +pdfunite ColoringBook-page_3.pdf ColoringBook-page_4.pdf NewColoringBook.pdf +``` \ No newline at end of file diff --git a/bd34b650-8713-4321-93df-fe2042d8e68c/meta.json b/bd34b650-8713-4321-93df-fe2042d8e68c/meta.json index 883f81b..262d6e9 100644 --- a/bd34b650-8713-4321-93df-fe2042d8e68c/meta.json +++ b/bd34b650-8713-4321-93df-fe2042d8e68c/meta.json @@ -1,18 +1,31 @@ { "uuid": "bd34b650-8713-4321-93df-fe2042d8e68c", "slug": "manipuler-les-pdf-sous-linux", - "title": "Manipuler des PDF sous Linux ?", + "title": "Manipuler des PDF sous Linux", "author": "cedric@abonnel.fr", "published": true, - "published_at": "2023-02-28 20:02:47", + "featured": false, + "published_at": "2023-02-28 20:02", "created_at": "2023-02-28 20:02:47", - "updated_at": "2023-02-28 20:02:47", - "revisions": [], + "updated_at": "2026-05-16 20:11:39", + "revisions": [ + { + "n": 1, + "date": "2026-05-16 20:11:39", + "comment": "Titre modifié, tags modifiés, contenu modifié, image de couverture modifiée", + "title": "Manipuler des PDF sous Linux ?" + } + ], "cover": "cover.png", "files_meta": [], "external_links": [], "seo_title": "", "seo_description": "", - "og_image": "", - "category": "Informatique" + "og_image": "https://www.abonnel.fr/file?uuid=bd34b650-8713-4321-93df-fe2042d8e68c&name=cover.png", + "category": "Informatique", + "tags": { + "tags": [ + "PDF" + ] + } } diff --git a/bd34b650-8713-4321-93df-fe2042d8e68c/revisions/0001.md b/bd34b650-8713-4321-93df-fe2042d8e68c/revisions/0001.md new file mode 100644 index 0000000..6a34fed --- /dev/null +++ b/bd34b650-8713-4321-93df-fe2042d8e68c/revisions/0001.md @@ -0,0 +1,300 @@ +# Manipuler des PDF sous Linux ? + +## Liste des programmes +**pdfshuffler** (PDF file merging, rearranging, and splitting)\\ +Concaténer, séparer ou modifier l'ordre des pages des fichiers PDF. + +**pdfmod** (A simple application for modifying PDF documents) + +**poppler** (Command line utilities for converting PDF files) + +**pdftk** + +**pdf chain** + +## pdfmod +### Installer pdfmod +![](ico_pdfmod.png) + +Executer l'installation : +``` +sudo dnf install pdfmod +``` + +Résultat : +``` +Derniè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. +Dépendances résolues. +# ==================================================================== + Paquet Architecture Version Dépôt Taille +# ==================================================================== +Installation de : + pdfmod x86_64 0.9.1-15.fc26 fedora 723 k +Installation des dépendances: + gnome-sharp x86_64 2.24.2-13.fc26 fedora 315 k + gtk-sharp2 x86_64 2.12.42-2.fc26 fedora 702 k + hyena x86_64 0.5-15.fc26 fedora 355 k + nunit x86_64 3.6-2.fc26 fedora 369 k + poppler-sharp x86_64 0.0.3-13.fc26 fedora 34 k + +Résumé de la transaction +# ==================================================================== +Installer 6 Paquets + +Taille totale des téléchargements : 2.4 M +Taille des paquets installés : 8.4 M +Voulez-vous continuer ? [o/N] :o +Téléchargement des paquets : +(1/6): gnome-sharp-2.24.2-13.fc26.x86_64.rpm 190 kB/s | 315 kB 00:01 +(2/6): hyena-0.5-15.fc26.x86_64.rpm 217 kB/s | 355 kB 00:01 +(3/6): poppler-sharp-0.0.3-13.fc26.x86_64.rpm 158 kB/s | 34 kB 00:00 +(4/6): pdfmod-0.9.1-15.fc26.x86_64.rpm 206 kB/s | 723 kB 00:03 +(5/6): gtk-sharp2-2.12.42-2.fc26.x86_64.rpm 159 kB/s | 702 kB 00:04 +(6/6): nunit-3.6-2.fc26.x86_64.rpm 333 kB/s | 369 kB 00:01 +--- +Total 478 kB/s | 2.4 MB 00:05 +Test de la transaction en cours +La vérification de la transaction a réussi. +Lancement de la transaction de test +Transaction de test réussie. +Exécution de la transaction + Préparation : 1/1 + Installation de : gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 + Exécution du scriptlet: gtk-sharp2-2.12.42-2.fc26.x86_64 1/6 + Installation de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 + Exécution du scriptlet: gnome-sharp-2.24.2-13.fc26.x86_64 2/6 + Installation de : poppler-sharp-0.0.3-13.fc26.x86_64 3/6 + Installation de : nunit-3.6-2.fc26.x86_64 4/6 + Installation de : hyena-0.5-15.fc26.x86_64 5/6 + Installation de : pdfmod-0.9.1-15.fc26.x86_64 6/6 + Exécution du scriptlet: pdfmod-0.9.1-15.fc26.x86_64 6/6 + Vérification de : pdfmod-0.9.1-15.fc26.x86_64 1/6 + Vérification de : gnome-sharp-2.24.2-13.fc26.x86_64 2/6 + Vérification de : gtk-sharp2-2.12.42-2.fc26.x86_64 3/6 + Vérification de : hyena-0.5-15.fc26.x86_64 4/6 + Vérification de : poppler-sharp-0.0.3-13.fc26.x86_64 5/6 + Vérification de : nunit-3.6-2.fc26.x86_64 6/6 + +Installé : + pdfmod.x86_64 0.9.1-15.fc26 gnome-sharp.x86_64 2.24.2-13.fc26 + gtk-sharp2.x86_64 2.12.42-2.fc26 hyena.x86_64 0.5-15.fc26 + nunit.x86_64 3.6-2.fc26 poppler-sharp.x86_64 0.0.3-13.fc26 + +Terminé ! +``` + +## pdf shuffler +### Installer pdf shuffler +![](ico_pdfshuffler.png) + +Exécuter l'installation : + +``` +sudo dnf install pdfshuffler +``` + +Résultat : +``` +Derniè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. +Dépendances résolues. +# ==================================================================== + Paquet Architecture Version Dépôt Taille +# ==================================================================== +Installation de : + pdfshuffler noarch 0.6.0-10.fc26 fedora 69 k +Installation des dépendances: + pyPdf noarch 1.13-13.fc26 fedora 73 k + pypoppler x86_64 0.12.2-5.fc26 fedora 31 k + +Résumé de la transaction +# ==================================================================== +Installer 3 Paquets + +Taille totale des téléchargements : 173 k +Taille des paquets installés : 636 k +Voulez-vous continuer ? [o/N] :o +Téléchargement des paquets : +(1/3): pypoppler-0.12.2-5.fc26.x86_64.rpm 19 kB/s | 31 kB 00:01 +(2/3): pdfshuffler-0.6.0-10.fc26.noarch.rpm 19 kB/s | 69 kB 00:03 +(3/3): pyPdf-1.13-13.fc26.noarch.rpm 15 kB/s | 73 kB 00:04 +--- +Total 29 kB/s | 173 kB 00:05 +Test de la transaction en cours +La vérification de la transaction a réussi. +Lancement de la transaction de test +Transaction de test réussie. +Exécution de la transaction + Préparation : 1/1 + Installation de : pypoppler-0.12.2-5.fc26.x86_64 1/3 + Installation de : pyPdf-1.13-13.fc26.noarch 2/3 + Installation de : pdfshuffler-0.6.0-10.fc26.noarch 3/3 + Exécution du scriptlet: pdfshuffler-0.6.0-10.fc26.noarch 3/3 + Vérification de : pdfshuffler-0.6.0-10.fc26.noarch 1/3 + Vérification de : pyPdf-1.13-13.fc26.noarch 2/3 + Vérification de : pypoppler-0.12.2-5.fc26.x86_64 3/3 + +Installé : + pdfshuffler.noarch 0.6.0-10.fc26 pyPdf.noarch 1.13-13.fc26 + pypoppler.x86_64 0.12.2-5.fc26 + +Terminé ! +``` + +### Utiliser pdf shuffler +![](pdfshuffler_capture.png) + +## Poppler +### Installer poppler +![](ico_poppler.gif) + +Exécuter l'installation : + +``` +sudo dnf install poppler-utils +``` + +### Utiliser poppler +**poppler-utils** est un collection d'outils qui s'appuie sur l'API **poppler** pour éditer et modifier les fichiers PDF. +- **pdfdetach** extract embedded documents from a PDF +- **pdffonts** lists the fonts used in a PDF +- **pdfimages** extract all embedded images at native resolution from a PDF +- **pdfinfo** list all infos of a PDF +- **pdfseparate** extract single pages from a PDF +- **pdftocairo** convert single pages from a PDF to vector or bitmap formats using cairo +- **pdftohtml** convert PDF to HTML format retaining formatting +- **pdftoppm** convert a PDF page to a bitmap +- **pdftops** convert PDF to printable PS format +- **pdftotext** extract all text from PDF +- **pdfunite** merges several PDF + +The 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**. + +**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: + +``` +pdfseparate ColoringBook.pdf ColoringBook-page_%d.pdf +``` + +To export a range of pages — say just pages 3,4,5,6,7,8 and 9 of a PDF — use the command: + +``` +pdfseparate -f 3 -l 9 ColoringBook.pdf ColoringBook-page_%d.pdf +``` + +Finally, 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: + +``` +pdfunite ColoringBook-page_3.pdf ColoringBook-page_7.pdf NewColoringBook.pdf +``` + + +## PDFTK +### Installer le programme PDFTK +``` +yum install pdftk +``` + +### Utiliser PDFTK +Assembler (merge, join) plusieurs fichiers PDF en un seul nouveau fichier PDF +Syntaxe +``` +pdftk P1 cat output P2 +``` + +- P1 - source - correspond à la liste de fichiers à assembler +- P2 - destination - correspond au fichier créé avec les documents PDF assemblés. + +### Exemple +Assembler in1.pdf et in2.pdf dans un nouveau fichier out1.pdf : +``` +pdftk in1.pdf in2.pdf cat output out2.pdf +``` + +### Remarque +Si PDFMERGE est installé sur votre poste, il rempli aussi cette fonctionnalité : +``` +pdfmerge file1.pdf file2.pdf... fileN.pdf outfile.pdf +``` + +## PDF Chain +PDF Chain est une interface graphique pour PDF Toolkit (pdftk). Cette interface supporte toutes les commandes disponibles dans PDF Toolkit. + +## ImageMagick +### Installer ImageMagick +> Fedora 30 + +Sous **Fedora 30**, il suffit d’exécuter **dnf** pour installer le paquet présent dans des dépots **fedora** et ** updates **. + + $ sudo dnf install ImageMagick + +Les dépendances à d'autres paquets sont les suivantes : + + provider: ImageMagick-libs-1:6.9.10.75-1.fc30.x86_64 + provider: glibc-2.29-27.fc30.x86_64 + provider: glibc-2.29-27.fc30.i686 + +## - La compil' des questions +### - Recompiler un fichier PDF (pdftocairo et popple) +Dans un dossier vide, copier le fichier PDF à traiter. Se placer dans ce dossier avec la commande `cd` puis exécuter les commandes suivantes. + +## Convertir le fichier PDF en plusieurs fichiers JPEG avec **poppler** : + + $ pdftocairo `ls -v *.jpg` -jpeg + +## Convertir les fichiers JPEG et les assembler en un fichier PDF avec **ImageMagick** : + + $ convert `ls -v *.jpg` "final.pdf" + +## Effacer les fichiers temporaires : + + $ rm *.jpg + +Le fichier `final.pdf` est prêt. + +### - Recompiler un fichier PDF (gs via ps) +Voici une méthode avec les prorgrammes **pdf2ps** et **ps2pdf** en ligne de commande. Ces programmes sont intégrés au paquets **GhostScript**. + +On considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf** + +``` +pdf2ps livre.pdf inter.ps +ps2pdf -dPDFSETTINGS=/prepress inter.ps livre-opti.pdf +``` + +L'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** + +### - Recompiler un fichier PDF (gs) +Voici 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. + +On considère que l'on souhaite transformer le fichier nommé **livre.pdf**. Le résultat sera dans le fichier **livre-opti.pdf** + +``` +gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=livre-opti.pdf livre.pdf +``` + +L'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** + +### - Extraire le texte présent dans un PDF +Votre fichier PDF peut contenir un ensemble de textes. Celui-ci peut être extrait directement en fichier texte. +Voici une méthode avec le prorgramme **pdftotext** en ligne de commande. Ce programme fait partie de la suite **poppler-utils**. + +On 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** + +``` +pdftotext livre.pdf livre.txt +``` + +### - Deviner le texte d'un fichier PDF +Si 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. + +Ce programme peut être installé avec la commande : + sudo apt install ocrmypdf + +On 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** + +``` +ocrmypdf livre.pdf livre.txt -l fra +``` + +Le dictionnaire OCR s'appuie sur le programme **tesseract**. Il faut installer le dictionnaire que l'on souhaite utiliser par la suite : + sudo apt install tesseract-ocr-fra \ No newline at end of file