Problemi con la conversione batch di .png in .pdf usando convert


113
convert /home/bill/TempScan/*.png  myfile.pdf

dà un messaggio di errore:

convert-im6.q16: not authorized `myfile.pdf' @ error/constitute.c/WriteImage/1037.

Qualsiasi aiuto sarebbe apprezzato!

Risposte:


157

convertè un potente strumento da riga di comando per convertire la grafica. Presumibilmente, ciò comporta rischi per la sicurezza, in particolare laddove utilizzato insieme a un server Web. Nelle recenti versioni di Ubuntu, viene implementato un file delle politiche, in cui alcuni usi di convertsono limitati. Apparentemente, quel file di default proibisce di "convertire" più file grafici in un unico file PDF.

Il file delle politiche è /etc/ImageMagick-6/policy.xml. È possibile modificare quel file come utente root per cambiare i criteri.

Eliminare tutte le restrizioni d'uso

Per gli utenti desktop che non eseguono un server web, la semplice eliminazione di queste restrizioni potrebbe essere abbastanza buona. A tale scopo, è possibile eliminare il file, ma è consigliabile "spostare il file" rinominandolo. Con questo comando, stai rinominando il file. Di conseguenza, tutte le politiche vengono revocate, ma è comunque possibile ripristinare se necessario:

sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout

Per ripristinare la situazione originale, basta rinominare il nome originale:

sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml

Eliminando solo la restrizione da combinare in PDF

Per il tuo caso specifico, gene_wood in un commento ha sottolineato la possibilità di rilassare selettivamente la politica per lavorare con i file PDF commentando una riga:

<policy domain="coder" rights="none" pattern="PDF" />

Modifica il file e posiziona i segni di commento attorno a questa riga per disabilitare questa regola:

<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->

Se non si desidera eliminare tutte le politiche di sicurezza, questa è la strada da percorrere.

Dichiarazione di non responsabilità: ti è stato avvertito che la rimozione di questo file di politica rimuove determinate politiche di sicurezza.


Grazie vanadio, ho rinominato il file come suggerito e ha funzionato a meraviglia.
bill-lancaster

4
Sono entrato nel policy.xmlfile e ho trovato la riga che mi impediva di combinare i pngfile in pdfse lo commentavo. Quella linea era <policy domain="coder" rights="none" pattern="PDF" />se desideri lasciare intatte le altre regole ma permetti di lavorare con pdfs.
gene_wood

1
@gene_wood, grazie: ho aggiunto al post perché fornisce maggiori informazioni e opzioni per gli utenti che vogliono essere più attenti nell'eliminazione delle restrizioni.
vanadio,

2
Ok, funziona in Ubuntu 18.04 con imagemagick 8: 6.9.7.4 + dfsg-16ubuntu6.4. Grazie.
Geppettvs D'Constanzo,

Il secondo metodo ha funzionato per me, ma il primo no.
The Ledge,

35

Come pubblicato da vanadio , è necessario modificare la politica di ImageMagick.

sudo vim /etc/ImageMagick-6/policy.xml

e sostituisci la linea

<policy domain="coder" rights="none" pattern="PDF" />

con

<policy domain="coder" rights="read|write" pattern="PDF" />

Se si desidera solo consentire la scrittura e non leggere, è anche possibile cancellare la read|parte nella riga sopra.


A proposito, per coloro che sono interessati alla vulnerabilità di ImageMagick, ecco 2 collegamenti informativi:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.