Masalah dengan konversi batch .png ke .pdf menggunakan konversi

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

memberikan pesan kesalahan:

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

Bantuan apa pun akan dihargai!

tagihan-lancaster
sumber

Jawaban:

157

convertadalah alat baris perintah yang kuat untuk mengkonversi gambar. Diduga, itu memberikan risiko keamanan, terutama jika digunakan bersama dengan server web. Dalam versi terbaru Ubuntu, file kebijakan diterapkan, di mana penggunaan tertentu convertdibatasi. Rupanya, file itu secara default melarang "mengubah" banyak file grafik menjadi satu file PDF.

File kebijakan adalah /etc/ImageMagick-6/policy.xml. Anda dapat mengedit file itu sebagai pengguna root untuk mengubah kebijakan.

Menghilangkan semua batasan penggunaan

Untuk pengguna desktop yang tidak menjalankan server web, cukup menghilangkan pembatasan ini mungkin cukup baik. Untuk tujuan itu, seseorang dapat menghapus file, tetapi lebih baik untuk "memindahkan file" dengan mengubah nama file. Dengan perintah ini, Anda mengganti nama file. Akibatnya, semua kebijakan dicabut, tetapi Anda masih dapat kembali jika diperlukan:

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

Untuk kembali ke situasi semula, cukup ganti nama kembali ke nama aslinya:

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

Hanya menghilangkan batasan untuk menggabungkan ke dalam PDF

Untuk kasus spesifik Anda, gene_wood dalam komentar menunjuk pada kemungkinan untuk melonggarkan kebijakan untuk bekerja dengan file PDF secara selektif dengan mengomentari satu baris:

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

Edit file, dan tempatkan tanda komentar di sekitar baris ini untuk menonaktifkan aturan ini:

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

Jika Anda tidak ingin menghilangkan semua kebijakan keamanan, inilah caranya.

Penafian: Anda telah diperingatkan bahwa menghapus file kebijakan ini menghapus kebijakan keamanan tertentu.

vanadium
sumber
Terima kasih vanadium, saya mengganti nama file seperti yang disarankan dan itu berhasil memperlakukan.
bill-lancaster
4
Saya masuk ke policy.xmlfile dan menemukan baris yang mencegah saya menggabungkan pngfile ke pdfs dan berkomentar. Baris itu adalah <policy domain="coder" rights="none" pattern="PDF" />jika Anda ingin membiarkan aturan lain tetap utuh tetapi izinkan bekerja dengan pdfs.
gene_wood
1
@gene_wood, terima kasih: Saya menambahkan ke posting karena memberikan lebih banyak wawasan dan opsi bagi pengguna yang ingin lebih berhati-hati dalam menghilangkan batasan.
vanadium
2
Oke, ini berfungsi di Ubuntu 18.04 dengan imagemagick 8: 6.9.7.4 + dfsg-16ubuntu6.4. Terima kasih.
Geppettvs D'Constanzo
Metode kedua bekerja untuk saya, tetapi yang pertama tidak.
The Ledge
35

Saat vanadium diposting , Anda harus mengubah kebijakan ImageMagick.

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

dan ganti salurannya

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

dengan

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

Jika Anda hanya ingin mengizinkan penulisan, dan tidak membaca, Anda juga dapat menghapus read|bagian pada baris di atas.


BTW, bagi mereka yang tertarik dengan kerentanan ImageMagick, berikut adalah 2 tautan informasi:

abu_bua
sumber