Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Édition des fichiers PDF

Introduction

Le format pdf s'est plus ou moins imposé comme format standard pour la transmission de documents.

Nous avons tous, au cours de notre usage de l'outil informatique, été confrontés à diverses questions en rapport avec ce format. Comment créer un fichier pdf ? Comment en extraire du contenu, des pages, des images… Comment, à partir de plusieurs pdf, obtenir un document unique…

Cette page va tenter de répondre à certaines de ces questions.

Lecteurs PDF

Parler des PDF sans parler des outils pour le lire serait une aberration. Alors, même si ces outils sont connus et répandus, je vais tout de même lister les principaux.

Outils Libres

Pour Linux en général

xpdf : outil de base pour GNU/Linux ; il requiert simplement un serveur X fonctionnel indépendamment de votre environnement de bureau.

Environnement Gnome

evince : lecteur multi-format de Gnome ; il assure la lecture des pdf.

Environnement KDE

kpdf et kghostview : se chargent pour l'un des pdf et l'autre des ps notamment

Outils propriétaires

L'incontournable Acrobat Reader d'Adobe qui est à l'origine du format pdf. C'est celui qui intègre le plus de fonctions mais c'est aussi le plus gourmand en ressource (à ce que j'ai pu constater).

À noter que n'étant pas diffusé sous licence compatible avec la DFSG (Debian Foundation Software Guideline), vous ne le trouverez pas dans le dépôt officiel.
Pour l'obtenir, vous devrez ajouter à votre /etc/apt/sources.list un des dépôts de Debian Multimedia de Christian Marillat (qu'il soit au passage remercié de la qualité de son travail).
Les adresses des dépôts sont disponibles ici: Debian Multimedia

Création de fichiers pdf

Les applications qui le gèrent en natif

Sans être exhaustif citons openoffice.org et scribus qui embarquent un greffons d'export au format pdf.
Pour les utilisateurs de kde, l'utilitaire kprinter (paquet kdeprint ) contient une imprimante virtuelle exportant au format pdf.

Méthode Universelle (ou quasi)

Pour toutes les autres applications ET pour peu qu'elles soient en mesure d'imprimer, la solution passe par cups et son plugin cups-pdf.
Ce dernier ajoute à la liste des imprimantes une imprimante virtuelle pdf exportant le document dans le répertoire ~/PDF/

L'installation passe par le traditionnel :

apt-get update && apt-get install cups-pdf

Attention, pour créer des PDF avec du texte (copiable) et non une image du document, utiliser comme backend dans la configuration de l'imprimante :

Generic / Generic PostScript Printer Foomatic/Postscript (recommended)

La configuration de cups-pdf se trouve dans /etc/cups/cups-pdf.conf et est assez explicite (mais en anglais). Attention, si vous ne faites pas de renommage de fichier, une page avec le même titre que la précédente écrasera la première (ça arrive souvent quand on imprime des pages web). Vous pouvez modifier la conf en ajoutant le n° du job au nom.### Key: Label

##  Ajoute une étiquette à tous les noms de jobs avec un identifiant unique job-id 
##  pour éviter d'écraser un ancien fichier dans le cas ou son nom serait identique.
##  Toujours vrai pour un document sans titre.
##  0: étiquette uniquement les documents sans titre.
##  1: étiquette tous les documents en faisant précéder le nom par :"job_#-"
##  2: étiquette tous les documents en faisant suivre le nom par : "-job_#"
### Defaut: 0
Label 2

Une autre solution beaucoup plus élégante est d'utiliser l'instruction postprocessing pour ajouter la date courante au nom du fichier :

postprocessing /usr/local/bin/cups-pdf-renamer

reste à créer un fichier bash avec le nom et le chemin ci-dessus et à le rendre exécutable

/usr/local/bin/cups-pdf-renamer.sh
#!/bin/bash
FILENAME=$(basename "$1")
DIRNAME=$(dirname "$1")
DATE=$(date +"%Y-%m-%d_%H%M%S")
mv "$1" "$DIRNAME/$DATE_$FILENAME"

Ne pas oublier de prendre en compte les nouveaux paramètres :

service cups restart

Méthode avec création d'un PS (Post Script) intermédiaire

Installation

Installer les paquets :

  1. a2ps - Pour faire les Post Script ou PS de votre manuscrit.
  2. ghostscript - Pour faire ensuite les PDF.
apt-get update && apt-get install a2ps ghostscript

Exemple d'utilisation :

Vous avez créé le document à convertir dans votre /home/user. On le nomme ici par exemple :

 exemplaire01.txt

Ligne de convertion en PS :

a2ps /home/user/exemplaire01.txt -o /home/user/exemplaire01.ps

Ligne de convertion en PDF :

ps2pdf /home/user/exemplaire01.ps

Et vous aurez votre ps et pdf dans le même répertoire.
Même pas dur, hein !

Merci à captnfab pour toutes les (patientes) informations offertes menant à la création de ce complément. :-D

NOTA :

Il peut y avoir un problème avec la commande

a2ps fichier.txt -o fichier.ps

Pour les accents, ça ne marche qu'avec un fichier en latin.

En effet, si le texte contient des accents et que le fichier est en UTF-8, il faut d'abord le ré-encoder en latin.

recode

recode est dans les dépôts de la branche stable.

Installation :

apt-get update && apt-get install recode

Puis :

recode utf8..latin1 fichier.txt

Merci de ton attention geai_dechaine. Yep ! :-D

Manipulation des fichiers pdf

pré-requis

Pour que les outils de manipulation soient opérationnels, il faut que tout ou parti des utilitaires ci-dessous soient installés sur votre système. (ils sont disponibles sur les miroirs Debian )

  • pdftk
  • poppler-utils
  • texlive-extra-utils (à partir de Wheezy le paquet pdfjam devient un paquet de transition qui peut être enlevé sans problème. C'est maintenant texlive-extra-utils qui fournit pdfjam).

Les outils de manipulation étant des extensions de menu pour konqueror, celui-ci doit donc être installé . C'est d'ailleurs une des raisons pour lesquel j'installe konqueror bien qu'utilisant XFCE

Si quelqu'un sait comment utiliser les service-menu kde dans Thunar, je suis preneur :-D)

Les utilitaires pdf (pdftk, poppler, pdfjam) sont également utilisables à partir de la ligne de commande, et par conséquent indépendamment de votre gestionnaire de bureau jetez un œil à leur manuel pour plus de précisions.

Extensions de menu pour Konqueror

Pourquoi une extension de menu ?

  1. Elles permettent l'usage des utilitaires pdf plus facilement qu'en ligne de commande.
  2. Elles ajoutent à konqueror des sous menus contextuels spécifiques à la gestion de pdf.

Extension de menu ? Késako ?

C'est un fichier texte répondant à la norme *.desktop promue par freedesktop.org. (voir modifier le menu Xfce pour plus d'info.
A la différence des fichiers de menu standard, ces fichiers contiennent des scripts exécutant d'autres commandes.
(Vous pourrez d'ailleurs le vérifier en les ouvrant avec votre éditeur de texte.)

Où copier les extensions de menu

Sous Debian, les fichiers *.desktop pour konqueror doivent être placés dans

  • Pour un usage utilisateur unique: ~/.kde/share/apps/konqueror/servicemenus
  • Pour un usage général : /usr/share/apps/konqueror/servicemenus

Comment accéder aux menus contextuels pdf

Une fois le fichier desktop placé où il faut (voir ci-dessus):

  1. Ouvrez konqueror
  2. Sélectionnez un (ou plusieurs) fichier pdf
  3. Cliquez droit
  4. Dans le menu contextuel descendez sur la ligne action, vous trouverez les sous menus de manipulation des fichiers pdf. (ces choix sont fonctions des services-menus que vous aurez décidé d'installer)

PDF Toolkit

Cette extension de menu est disponible à l'adresse http://kde-apps.org/content/show.php?content=18545 Cliquez sur le lien download pour récupérer l'archive 18545-PDFToolkitGUI.tar.bz2 Décompressez où cela vous convient, entrez dans le répertoire PDFToolkitGUI et voyons sont contenu:

  • Un fichier Readme, lisez le ;-)
  • Un dossier Ressources dont j'avoue n'avoir pas compris l'utilisation :-(
  • Un dossier Watermark qui contient des fichiers pdf permettant l'ajout de filigrane à vos pdf.
  • 2 fichiers de menu .desktop que l'on va voir ci-dessous

msheetsperpage.desktop

Nécessite pdfjam

Permet de modifier la pagination des fichiers pdf en regroupant les pages à raison de 2 ou 4 pages par feuille.
Je préfère pour ma part utiliser les fonctionnalités de mes imprimantes et je ne m'étendrai donc pas sur son utilisation.

pdf_toolkit.desktop

Nécessite pdftk

Ajoute un sous menu intitulé Trousse à outils pdf permettant de :

  • Crypter/Décrypter les pdf
  • Compresser/Décompresser les pdf
  • Ajouter un watermark / filigrane à un pdf
  • Extraire les pages d'un fichier pdf
  • Joindre plusieurs pdf en un seul fichier

Lors d'une fusion de fichier :
L'ordre dans lequel vous sélectionnez les fichiers sources détermine leur ordre dans le document final.

Konq-pdf

Cette extension de menu est disponible à l'adresse :
konq-pdf qui vous amène sur la page d'Egregorion :
[http://www.egregorion.net/2007/12/08/new-version-of-konq-pdf]].

Vous y trouverez un lien pour télécharger le fichier au format .deb ou au format tgz.

Si vous choisissez le paquet deb, vous devrez (pour que dpkg ne vous abreuve pas d’erreur) installer pdfjam et toutes ses dépendances.
A l’heure où j’écris ces lignes cela représente plus de 90 Mo de données. Pour cette raison, et n’ayant pas l’utilité des fonctionnalités amenées par pdfjam, j’ai opté pour le paquet tgz.

Une fois décompressée l’archive tgz, entrons dans le dossier konq-pdf-0.2 et découvrons son contenu :

  • Fichiers Change.log , copyright, license, description. Les nom suffisent à en indiquer l’usage
  • Différents fichiers de menu dont je vais préciser l’usage

pdftotxt.desktop

Nécessite xpdf-utils ou poppler-utils
Conversion pdf vers txt (pas testé )

pdftohtml.desktop

Nécessite xpdf-utils ou poppler-utils
Conversion pdf vers html (pas testé non plus)

pdftoppm.desktop

Nécessite xpdf-utils ou poppler-utils
Conversion d'une ou plusieurs pages en fichier image ppm (portable pixmap) Les fichiers ppm pouvant à leur tour êtres convertis en jpeg, png etc… avec imagemagick par exemple.

pdfnup.desktop

Nécessite pdfjam
Permet de modifier la pagination des fichiers pdf en regroupant les pages à raison de 2 ou 4 pages par feuille.
Je préfère pour ma part utiliser les fonctionnalités de mes imprimantes et je ne m’étendrai donc pas sur son utilisation.

pdfjoin.desktop

Nécessite pdfjam
Fusion de fichier pdf. Je préfère utiliser les fonctionnalités de PDFtoolKit ou celles du menu pdftk
(voir ci dessous)

Si vous désirez franciser ces menus il vous suffit de les éditer puis d'y ajouter les traductions [fr] qui vous conviennent comme pour tout autre fichier .desktop

pdftk.desktop

Nécessite pdftk
Ajoute un sous menu “PDFtk Menu” avec :

  • Fusion de fichiers pdf La fusion se faisant par ordre alphabétique, pensez à renommer vos fichiers comme il faut !
  • Ajout de fichier pdf en fin d'un autre pdf
  • Extraction de page (tout, de la page X à X+n, pages impaires, page paires)
  • Réparation de fichiers PDF altérés
  • Verrouillage/ Déverrouillage de fichier
  • Ajout / Extraction de pièces jointes A Noter: il semble que seul Acrobat Reader soit en mesure d'indiquer qu'une pièce est jointe au fichier pdf Mes tentatives pour la voir avec kpdf, evince, kghostview sont restées vaines
  • Compression / décompression de fichier

Script astucieux :

Pour reformer vos Post Script en format A4 dans le PDF :

script astucieux
#!/bin/sh
file=`echo $1 | cut -f1 -d"."`
gs -q -dBATCH -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=pdfwrite -sOutputFile=gs -q -dBATCH -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=pdfwrite -sOutputFile=$file.pdf $1

Merci Melodie :)

Pour aller plus loin

Vous trouverez dans la liste qui suit quelques outils disponibles pour Debian en rapport avec les pdf, je ne les ai pas testé.

  • pdfcrack : Cracker les mots de passe des fichiers protégés
  • pdfcube : Lecteur de PDF en 3d (Requiert Compiz ou equivalent)
  • pdfedit : Edition/Modification de fichier pdf

Liens Utiles

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/editeurs/pdf.txt · Dernière modification: 17/11/2015 18:12 par paskal

Pied de page des forums

Propulsé par FluxBB