(gelöst) ImageMagick/convert jpg zu pdf Fehlermeldung

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

(gelöst) ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von Steve1 » 01.07.2023 05:58:11

Guten Morgen,

ich bekomme bei dem Versuch mit convert mehrere jpg aus einem Ordner in eine PDF zu wandeln diese Fehlermeldung:

Code: Alles auswählen

convert *.jpg ziel.pdf 
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421.
Was bedeutet das?

Gruß, Steve
Zuletzt geändert von Steve1 am 01.07.2023 09:06:35, insgesamt 1-mal geändert.
Dell 7480:
Debian 12 Bookworm GNOME

Benutzeravatar
thunder11
Beiträge: 1348
Registriert: 19.04.2023 09:08:30

Re: ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von thunder11 » 01.07.2023 07:41:38

Habe dies gefunden:
https://askubuntu.com/questions/1127260 ... ot-allowed

Code: Alles auswählen

# Open the file 
sudo nano /etc/ImageMagick-6/policy.xml

# find and edit the line
<policy domain="coder" rights="none" pattern="PDF" />
# to :
<policy domain="coder" rights="read|write" pattern="PDF" />
Funktioniert dann wieder :mrgreen:

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von Steve1 » 01.07.2023 09:06:20

Danke, jetzt funktioniert es.
Dell 7480:
Debian 12 Bookworm GNOME

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: (gelöst) ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von Livingston » 01.07.2023 14:39:57

Das sind ganz schön heftige Einschränkungen, mit denen man bei einfachem, lokalem Gebrauch erst mal nicht rechnet.
Jetzt weiß ich, dass es diese Policies gibt, aber ohne die Hinweise hier hätte ich mich wahrscheinlich dumm und dusselig gesucht, wenn ich darüber gestolpert wäre.
Unter /usr/share/doc oder den man-pages gibt's jedenfalls keinen Hinweis (oder ich habe Tomaten auf den Augen - möchte ich ja nicht ausschließen).
Ist der fehlende Hinweis einen Bug-Report wert?
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: (gelöst) ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von MaGe » 01.07.2023 15:22:45

Steve1 hat geschrieben: ich bekomme bei dem Versuch mit convert mehrere jpg aus einem Ordner in eine PDF zu wandeln diese Fehlermeldung:
Ich benutze die Spiegelverkehrte version (graphicsmagick),
nicht imagemagick und da habe ich das nicht.

Code: Alles auswählen

 convert *.jpg ziel.pdf 



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
thunder11
Beiträge: 1348
Registriert: 19.04.2023 09:08:30

Re: (gelöst) ImageMagick/convert jpg zu pdf Fehlermeldung

Beitrag von thunder11 » 01.07.2023 17:40:11

Nur, falls es jemanden Interessiert. Ich hatte mir vor Jahren mal für Thunar irgendwoher von Github Custom Actions runter geladen, und einige davon in meine
~/.config/Thunar/uca.xml integriert

Der komplette Befehl dafür wäre dann (beim kopieren aufpassen: ewig lang !):

Code: Alles auswählen

(set -e;export TEXTDOMAIN='thunar-custom-actions';export TEXTDOMAINDIR='/usr/local/share/locale';. /usr/bin/gettext.sh;    FORMAT=$(        /usr/bin/convert -list format |         /usr/bin/perl -ane '($f,$m,$c,$d)=m/^\s*(\S*?)\**\s*(\S*)\s*([r-][w-][+-])\s*(.*)$/g;if($c=~m/^.w.$/){print join "\n",$f,$d,""}' |         /usr/bin/zenity --list             --print-column=1             --column="$(eval_gettext 'Format')"             --column="$(eval_gettext 'Description')"             --text="$(eval_gettext 'Select format:')"             --title="$(eval_gettext 'Format')"         );    if test $? -ne 0;then         exit;    fi;    FORMAT=$(echo $FORMAT | /usr/bin/perl -ne 'print lc');    if test -z "$FORMAT";then         /usr/bin/zenity --error --text="$(echo $(eval_gettext 'No format selected.') $(eval_gettext 'If you see this message, please contact the developer on https://github.com/nobodyinperson/thunar-custom-actions.'))";        exit 1;    fi;     (AMOUNT=$(for file in %F;do echo "$file";done | wc -l);NR=0;for file in %F;do  NR="$(echo "$NR+1" | /usr/bin/bc)"; PERCENTAGE="$(echo "$NR*100/$AMOUNT" | /usr/bin/bc)"; filebase=$(basename "$file"); echo '#'$(eval_gettext 'Converting to $FORMAT') ... "$filebase";  (fileinput="$(echo                 "$file")";filefinalout="$(echo                 $(dirname "$file")/$(basename "$file" | /usr/bin/perl -pe 's#\.\w+$##g').${FORMAT})";if test "$fileinput" = "$filefinalout";then  fileout=$(f=$(echo "$filefinalout");while test -e "$f";do f=$(dirname "$f")/.$(basename "$f").tmp;done;echo "$f");else  fileout="$filefinalout";fi;OVERWRITE=yes;if test -e "$filefinalout" -a ! "$fileinput" = "$filefinalout";then  base=$(basename "$filefinalout"); if ! (/usr/bin/zenity --question --text="$(echo $(eval_gettext 'overwrite $base?'))");then   OVERWRITE=no; fi;fi;if test "$OVERWRITE" = "yes";then  (CONVERT_OUTPUT=$(/usr/bin/convert "$fileinput" "$fileout" 2>&1;) ||                     /usr/bin/zenity --error --text="$(echo $(eval_gettext 'Could not convert $fileinput to $FORMAT: $CONVERT_OUTPUT'))";                );fi;if ! test "$fileout" = "$filefinalout";then  if cp "$fileout" "$filefinalout";then   rm "$fileout"; else   /usr/bin/zenity --error --text="$(echo $(eval_gettext 'something went wrong copying the file $fileout over to $filefinalout.'))"; fi;fi );  echo $PERCENTAGE;done        )|/usr/bin/zenity --progress --auto-kill --auto-close    )
Angeboten wird einem dann via Debianzenity
diese schöne Liste aus dem Befehl:

Code: Alles auswählen

convert -list format
Ist natürlich sehr praktisch, da man nicht mühsam im Terminal herumhacken muss.
Einfach Dateien markieren, über Rechstklick Aktion auswählen und ab geht es.

Antworten