Conversion pdf dans un programme

Bonjour,

Avant…

$ convert -verbose -density 1000x1000 2020_06_BP_juin.pdf 2020_06_BP_juin02.pdf 

… fonctionnait très bien. Aujourd’hui, ça ne fonctionne plus car :

convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.

security policy fait a priori référence à /etc/ImageMagick-6/policy.xml

J’ai déjà posté à ce sujet dans « Support » (Problème Imagemagick 6 - Convertion de pdf), il n’y a pas de solution : adieu ImageMagick dans mon cas. (https://bugs.debian.org/907336)

Voici ci-dessous mon programme. Je voudrais remplacer la ligne 21 qui ne fonctionne pas comme vu ci-dessus. Je précise que j’ai essayé de faire l’opération de convertion initialement faite avec le convert de ImageMagick avec pdfunite, pdftk, qpdf, gscan2pdf (graphique) et cups (en graphique « Impression dans un fichier ») sans succès. La convertion peut se faire en mode graphique avec gimp mais je n’ai pas trouvé de mode « ligne de commande » pour Gimp (je n’ai peut-être pas suffisamment cherché).

Auriez-vous une idée d’un utilitaire en ligne de commande pour ça ?

Je vous remercie,

Briceco

#!/bin/bash
#Automatisation de convert (Imagemagick)
#
echo -e "\E[6;1m----- PROGRAMME DE CONVERSION IMAGE/DOCUMENT ------\E[6;0m" 
echo -e "\E[6;1mLes fichiers à convertir sont :\E[6;0m" 
for file in "${@}"
do echo -e "${file}"
done
echo -e "\E[6;1mVoulez-vous lancer la conversion ?\E[6;0m"
read choix
case $choix in
[OoYy]*) echo -e "\E[6;1mVers quel format ?\E[6;0m"
         read nextension
         echo -e "\E[6;1mProcédure préventive de renommage : Quel est le format actuel des fichiers ?\E[6;0m"
         read aextension
         rename 's/\.'$aextension'$//' *.$aextension
         #rename 's/\.'$aextension'$/\./' *.$aextension
         echo -e "\E[6;1mExtension format supprimée du nom des fichiers\E[6;0m"
         echo -e "\E[6;1mVerbose de la conversion :\E[6;0m"         
         for file in "${@/\.$aextension/}"
         do convert -verbose -density 1000x1000 "${file}" "${file}.${nextension}"
         done
         echo -e "\E[6;1mConversions terminées\E[6;0m";;
[Nn]*)   echo -e "\E[6;1mFichiers non convertis\nVoulez-vous renommer les fichiers ?\E[6;0m"
       read volonte
       case $volonte in
       [OoYy]*) echo -e "\E[6;1mQuelle est l'ancienne extension ?\E[6;0m" 
                read aextension
                echo -e "\E[6;1mQuelle est la nouvelle extension ?\E[6;0m"
                read nextension
                rename 's/\.'$aextension'.'$nextension'$/\.'$nextension'/' *.$aextension.$nextension
                echo -e "\E[6;1mFichiers renommés\E[6;0m" 
                echo -e "\E[6;1mSupprimer les anciens fichiers ?\E[6;0m"
                read supr
                case $supr in
                [OoYy]*) rm *.$aextension
                         echo -e "\E[6;1mFichiers supprimés\nFin du programme\E[6;0m"
                         exit 0;;
                [Nn]*) echo -e "\E[6;1mFin du programme\E[6;0m"
                       exit 0;;
                esac;;
       [Nn]*) echo -e "\E[6;1mFin du programme\E[6;0m"
              exit 0;;
       esac;;
esac
echo -e "\E[6;1mVoulez-vous supprimer les anciens fichiers ?\E[6;0m"
read volonte
case $volonte in
[OoYy]*) rm ${@/\.$aextension/}
         echo -e "\E[6;1mFichiers supprimés\nFin du programme\E[6;0m"
         exit 0;;
[Nn]*) echo -e "\E[6;1mFin du programme\E[6;0m"
       exit 0;;
esac 

oui : img2pdf
Et vous pourrez enrichir votre script avec un bon nombre d’options relatives aux métadonnées comme
--title title
--author author
--creator creator
–subject « sujet »
–keywords « mot clef 1 » « mot clé 2 »
etc …
Bref, un super outil bien documenté, qui, couplé avec pdfinfo du paquet poppler-utils vous permet d’envisager de générer des PDF faciles à retrouver.
De plus c’est du python, cela ne prend pas beaucoup de place disque.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

1 J'aime

Il y a aussi graphicsMagic qui est un clône d’ ImageMagick, avec possibilité de commandes compatibles (Paquet graphicsmagick-imagemagick-compat)
Mais j’ignore si il résout la question.

pour réduire la taille d’un fichier .pdf je me suis fait ce script

Il y avait pdfopt dans Jessie et avant, remplacé par k2pdfopt dans Buster.

J’avais aussi écrit un script dans cette intention (probablement peu professionnel !)
Réduire le poids d’un fichier pdf

Preuve que ce besoin existe!