====== PDFTK -et- CONVERT====== * Objet : du tuto PDFTK par lagrenouille * Niveau requis : FIXME {{tag>débutant avisé}} * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) ===== Introduction ===== **PDFTK :en ligne de commande** **les options et les possibilités sont nombreuses' c'est pourquoi je vous donne juste quelques options. Voyez la doc officielle de "PDFTK" pour plus d’options, l’évolution des logiciels varient parfois les commandes ou les résultats.** diffpdf (pour voir les différences entre 2 pdf), est trés pratique et façile d'utilisation pdfsam est un logiciels graphique en Anglais' je ne m'en sert pas pdfcube est un lecteur en 3d assez amusant Touche f pour réduire ou agrandir, Touche c pour avancer' a pour reculer' esc pour quitter ..etc(voir les commandes sur le man) ===== Installation ===== #apt-get install pdftk pdfsam diffpdf ghostscript imagemagick ffmpeg kreename xpdf pdfcube mupdf evince gifsicle optipng pngnq libjpeg-turbo-progs pdftohtml gifsicle optipng pngnq libjpeg-turbo-progs wkhtmltopdf //libjpeg-turbo-progs - Programs for manipulating JPEG files imgsizer - Ajoute les attributs WIDTH et HEIGHT aux balises IMG des fichiers HTML// ===== Utilisation ===== Vous avez 80 ou xx pages pdf, vous voulez faire votre livre en pdf. Pour les relier en ordre de la page 1 à la page 80. Renommez vos pdf s’ils ne le sont pas, par numéros croissants (exemple 001.pdf, 002:pdf, etc),ou avec des logiciels tel que krename. C’est donc fait vous tapez la commande la plus simple : $ pdftk *.pdf cat output votre_titre.pdf ou $ pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf Vous voulez extraire la partie de la page 20 à 40 pour faire un autre document $pdftk livre.pdf cat 20-40 output nouveau-titre.pdf Si vous voulez réduire votre document pdf trop lourd en mégas pour le poser sur le net, ghostscrip vous sera util, tapez la commande : $gs -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -dNOPAUSE -dBATCH -sOutputFile=PDFde Sortie.pdf documentàAlleger.pdf Remplacez bien sûr, PDFdeSortie et PDFaAlleger par le nom voulu et le nom de votre document. - l’option -dPDFSETTINGS peut prendre les valeurs suivantes : /screen pour un document destiné à l’écran , c’est super pour le poids, on passe de 39 mégas à 3,5 mégas, mais on perd si l’original est mauvais au départ /ebook pour une qualité entre screen et printer (suite aux commentaires de l’article) reste la meilleure solution si l’original est mauvais, on passe de 39 megas à 12 mégas /printer pour un document destiné à -- ----- l’impression /prepress pour un document destiné à l’impression professionnelle Pour info, j’ai utilisé l’option /screen pour un PDF de 40Mo et j’ai obtenu (après une bonne minute de traitement) un PDF de 5.1 Mo. Ceci est un script bash pour compresser un plus grand nombre de pdf Créer un repertoire »maigrir» ou celui de votre choix: $mkdir maigrir Mettez ce script que je nomme reduc.bash dedans #! /bin/bash #Réduire le poids des fichiers pdf du répertoire "pdf" # Dans le répertoire GROS les fichiers originaux # Dans le répertoire MAIGRES ceux compressés mkdir ORIGINAUX mkdir COMPRESSER # crée une liste des fichiers reduc=`ls *.pdf` # Pour chaque nom de fichier de la liste for fich in $reduc do # applique le traitement et met le résultat dans le répertoire MAIGRES gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile="COMPRESSER/$fich" "$fich" done # Mettre tous les originaux dans ORIGINAUX mv *.pdf ORIGINAUX # Mettre tous les fichiers amaigris dans le répertoire courant mv COMPRESSER/*.pdf # Maintenant soit supprimer le répertoire GROS et tout ce qu'il y a dedans, soit récupérer # les fichiers originaux si le résultat ne te convient pas #lancer le script dans le repertoire reduction (sh nettoyage.bash ) #opion screen réduit énormément 46,3mg a 4,7mg a mais perd pas mal en qualité #option ebook réduit en gros de moitiè (46,3Mg à 24,3 Mg, bonne qualité #option printer augmente la taille de mes pdf, sans doute pour une meilleure impression **Puis mettez vos pdf à compresser dans ce même repertoire Lancez ce script. soit en graphique avec un clique gauche dessus : Exécuter soit en console** ./reduc.bash **convertir des images jpg en pdf** convert votreimage.jpg votreimage.pdf **Pour plusieurs images jpg** convert Page138.jpg Page139.jpg Page140.jpg Page141.jpg Page142.jpg Page143.jpg nouveaufichier.pdf **Pour un fichier volumineux d’images jpg (ou png), utilisez mogrify rapidement toutes vos images seront convestis en pdf ** mogrify -format pdf -- *.jpg **Pour faire un fichier html, chaque page de votre pdf deviendra une page html, a lire dans votre naviqateur web:** $ pdftohtml fihier.pdf --------------------------------- Vous voulez transformer tout votre pdf en autant de pages individuels qu'il en contient: $ pdftk fichier.pdf burst résultat : pg_0001.pdf pg_0002.pdf pg_0003.pdf ...etc //un fichier doc.data est généré lors de cette opération, virez le.// -------------------------------------- si vous voulez faire pivoter un pdf, une personne m'a donné un pdf à l'envers et c'est pas pratique à lire' alors j'ai cherché et trouvé: Pour tourner à 90° pdftk fichier.pdf cat 1east output fichiertourné90.pdf Pour tourner à 180° pdftk fichier.pdf cat 1south output fichierretourné.pdf Pour un document de plusieurs pages pdftk fichieralenvers.pdf cat 1-endsouth output fichieralendroit.pdf Permet de mettre un PDF en arrière-plan d’un autre PDF : Essai.pdf étant l'image et filmo.pdf le pdf fini avec son fond pdftk films.pdf background Essai.pdf output filmo.pdf Permet de tamponner un PDF (document-à-tamponner.pdf) avec un autre PDF (tampon.pdf) : pdftk films.pdf stamp avatar_momo.pdf output signefilms.pdf //marche, mais, problème, l’image en .pdf, bien que petite couvre quasi tout le pdf a revoir donc // -------------------- Modifier un fichier pdf apt-get install libreoffice-pdfimport Ouvrir son pdf avec libreoffice draw sélectionner la partie à modifier et je rajouter du texte ou corriger du texte. {{https://debian-facile.org/images/file-R0bfa01167d842908db4bf0f61e0d3e03.png}} ---------------------------- Je ne suis pas arrivé à crypter un pdf en ligne avec la doc que j'ai lu. A plus donc pour la suite de l'aventure pdftk ** Pour les moins courageux, un très bon service en ligne gratuit** [[http://smallpdf.com/fr/compresser-pdf]] ===== CONVERT ===== Exemple : modifier le format des .jpg dans un répertoire . mets tous les fichiers.jpg en 150x90 mogrify -resize 150x90 *.jpg ou à 256x256 mogrify -resize 256x256 *.jpg ou : réduit le fichier rose.jpg de 50 % mogrify -resize 50% rose.jpg Changer les jpg en png et inversement mogrify -format jpg *.png ou mogrify -format png *.jpg Mettre les images à 72 DPI mogrify -density 72x72 *.jpg ou mogrify -density 72x72 *.png la ligne suivante permet de convertir une image .png en image .gif : mogrify -format png image.gif Vous pouvez créer une miniature pour chaque image et la placer dans le répertoire approprié Une commande unique composée des options -path mogrify -path miniatures -thumbnail 125x125 *.png Pour créer un cadre biseauté, on utilise l'option -raise, qui permet d'éclairer d'une image pour créer un effet 3D convert mon_image.jpg -raise 30x30 image_cadre.jpg On utilisera -raise ou +raise selon que l'on souhaite un effet relief ou creux. On notera que l'option -raise utilise ici les pixels de l'image pour créer le cadre. Les dimensions de l'image restent donc identiques. pour encadrer une photo, petit filet blanc et encadrement en gris :(turquoise étant le nom de mon image) convert turquoise.jpg -bordercolor white -border 5 -bordercolor dimgray -border 15 turquoisegood.jpg . {{https://debian-facile.org/images/file-R38baeb6f1c0b912ce7c96f8521a0036a.png}} Pour un filet noir, un blanc et un encadremant gris clair convert turquoise_border.jpg -bordercolor white -border 5 -bordercolor gray -border 15 turquoisedeux.jpg {{https://debian-facile.org/images/file-Rbef52d42ddc11ea1b120ec4ed78b3bd7.png}} Pour obtenir un petit cadre bois convert turquoise.jpg -mattecolor peru -frame 15x15+5+5 cadrebois.jpg {{https://debian-facile.org/images/file-Rb77072822cd6bffcea467b6bf5cd2106.png}} ==== autre méthode ==== ** Créer une image texte avec une ombre ** :~$ convert -size 520x205 canvas:none -font Bookman-DemiItalic -pointsize 92 -draw "text 70,120 'MOMO'" -channel RGBA -blur 0x6 -fill darkred -stroke magenta -draw "text 80,150 'MOMO'" fuzzy-MOMO.png {{https://debian-facile.org/images/file-R00fc0028bd1e9cb96dd093d82fdcecab.png}} **Amusez vous à changer les paramètres et voyez les résultats Autres codes pour bouger votre image** convert fuzzy-MOMO.png -flip momo.png {{https://debian-facile.org/images/file-R41258f90cbdc9587e1c0354a7abe27fb.png}} **autre** convert fuzzy-MOMO.png -flop momodeux.png {{https://debian-facile.org/images/file-Rff995d0053b0cbd3cd5176ead854699f.png}} **autre ** convert fuzzy-MOMO.png -flop -flip momo3.png {{https://debian-facile.org/images/file-R5f35684763b5f149a3335615c3cc7c9e.png}} **Rotation** convert fuzzy-MOMO.png -rotate -45 momo4.png {{https://debian-facile.org/images/file-R97573c65de7406934c6de6ee950cfd2c.png}} **Légende** convert -caption "on en fait des conneries avec ImageMagick" fuzzy-MOMO.png -polaroid 5 momolegende-deux.png {{https://debian-facile.org/images/file-Rc06ca3a81dc4dfdd331eac50dd5b647c.png}} **Une autre commande texte légende** convert fuzzy-MOMO.png -font courrier -pointsize 25 label:"on continue l'aventure" -append momo-legend.png {{https://debian-facile.org/images/file-Rb5b4b04952d16441035e04578d8ef14b.png}} **Inclure la légende dans l’image** convert fuzzy-MOMO.png -font courrier -pointsize 18 -background none -fill blue label:" et voila le travail les asticots" -gravity south -composite momo-legend-inclu.png {{https://debian-facile.org/images/file-Re56f9b1dc233a006b3fbdae6355bd462.png}} ==== UNOCONV : UN AUTRE OUTIL EN LIGNE DE COMMANDE ==== apt-get install unoconv unoconv -f pdf votrefichier.odt unoconv -f pdf votrefichier.odt unoconv -f xls votrefichier.csv unoconv -f rtf votrefichier.odt unoconv -f png votreimage.jpg unoconv -f jpg votreimage.png **qpdf** - un autre outils pour modifier et examiner des fichiers PDF