Saya ingin membuat gambar captcha dengan menggunakan convert
dari ImageMagick.
Dan saya mengikuti ini , tetapi ada beberapa masalah.
Masukan di shell linux saya:
convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
Kesalahannya adalah:
convert: tidak diotorisasi
adfgh
@ error / merupakan.c / ReadImage / 453. convert: tidak ada nama file gambar./test.png
@ error / convert.c / ConvertImageCommand / 3015
ImageMagick Saya: Versi: 6.7.2-7, saya menginstalnya dengan yum install ImageMagick
.
Saya tidak tahu apa-apa. Ada saran?
imagemagick
imagemagick-convert
Jianwei
sumber
sumber
policy.xml
. Opsi keamanan dapat mencegahlabel:
protokol.Jawaban:
Saya menggunakan ImageMagick di php (v.7.1) untuk mengiris file PDF ke gambar.
Pertama saya mendapat kesalahan seperti:
Setelah beberapa perubahan
/etc/ImageMagick-6/policy.xml
saya mulai mendapatkan erroes seperti:Perbaikan saya :
Dalam file
/etc/ImageMagick-6/policy.xml
(atau/etc/ImageMagick/policy.xml
)baris komentar
ubah jalur
untuk
tambahkan baris
Kemudian restart server web Anda (nginx, apache).
sumber
policy.xml
file terakhir diperbarui pada 29 September, tetapi masalah baru saja muncul hari ini. Saya menggunakan server ubuntu 14.04.5, tetapi mengatur pembaruan otomatis. Dalam log apt, saya menemukan tentang pembaruan ini:imagemagick-common:amd64 (6.7.7.10-6ubuntu3.12, 6.7.7.10-6ubuntu3.13),
Saya menggunakan berkali-kali
convert
perintah ImageMagic untuk mengkonversi*.tif
file ke*.pdf
file.Saya tidak tahu mengapa, tetapi hari ini saya mulai menerima kesalahan berikut:
Setelah mengeluarkan perintah:
Setelah membaca jawaban di atas saya mengedit file
/etc/ImageMagick-6/policy.xml
dan mengubah garis:
untuk
dan sekarang semuanya berfungsi dengan baik.
Saya memiliki "ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28" pada "Ubuntu 16.04.5 LTS".
sumber
convert
ke PDF.Jika Anda masih di sini, Anda mencoba mengedit gambar yang Anda kontrol penuh, tahu aman, dan tidak dapat diedit oleh pengguna.
Ada
/etc/ImageMagick/policy.xml
file yang diinstal oleh yum. Ini melarang hampir semua hal (untuk keamanan dan untuk melindungi sistem Anda dari kelebihan beban dengan panggilan ImageMagick).Jika Anda mendapatkan
ReadImage
kesalahan seperti di atas, Anda dapat mengubah baris menjadi:yang harus memperbaiki masalah ini.
File tersebut memiliki banyak dokumentasi di dalamnya, jadi Anda harus membacanya. Misalnya, jika Anda memerlukan lebih banyak izin, Anda dapat menggabungkannya seperti:
... yang lebih disukai untuk menghapus semua pemeriksaan izin (yaitu, menghapus atau mengomentari saluran).
sumber
poppler
adalah alternatif untuk GhostScript (yangconvert
bergantung pada rasterisasi halaman PDF ke gambar)Jika seseorang perlu melakukannya dengan satu perintah setelah menginstal, jalankan ini!
sumber
sed -i 's/\(<policy domain="coder" rights=\)"none" \(pattern="PDF" \/>\)/\1"read|write"\2/g' /etc/ImageMagick-6/policy.xml
sudo sed -i '/PDF/s/none/read|write/' /etc/ImageMagick-6/policy.xml
Jawaban dengan suara tertinggi (saya tidak punya cukup reputasi untuk menambahkan komentar di sana) menyarankan untuk berkomentar di luar garis MVG, tetapi ada dalam pikiran ini:
Dan
Sumber
sumber
$convert --version Version: ImageMagick 6.7.7-10 2018-09-28 Q16 http://www.imagemagick.org
Setelah pembaruan terbaru pada sistem Ubuntu 16.04 saya, saya juga mulai mendapatkan kesalahan ini ketika mencoba menjalankan konversi pada file .ps untuk mengubahnya menjadi pdf.
Perbaikan ini berhasil untuk saya:
Dalam terminal run:
Ini harus membuka file policy.xml di editor teks gedit. Jika tidak, tenung gambar Anda mungkin dipasang di tempat yang berbeda. Kemudian ubah
untuk
untuk garis PDF, EPS, dan PS di dekat bagian bawah file. Simpan dan keluar, dan gambar sulung kemudian harus bekerja lagi.
sumber
Hapus saja file /etc/ImageMagick/policy.xml.
sumber
policy-disabled.xml
. Saya pikir saya akan mengembalikannya sampai saya yakin bahwa masalah keamanan telah diatasiSetelah membaca beberapa saran di sini dan menggabungkan ide-ide, bagi saya mengikuti perubahan di /etc/ImageMagick-6/policy.xml diperlukan:
... rights = "none" tidak membantu. ... pattern = "LABEL" tidak perlu. Meskipun saya tidak bekerja dengan file png besar (hanya ~ 1 Mb) beberapa perubahan dalam batas memori juga diperlukan:
(bukan 256Mib), dan
(bukannya 128 MB)
sumber
Saya mengalami kesalahan ini ketika mencoba mengkonversi pdf ke jpg dan menyelesaikannya menggunakan metode ini: sudo vi /etc/ImageMagick*/policy.xml
perubahan:
domain kebijakan = "coder" rights = "none" pattern = "PDF"
untuk:
domain kebijakan = "coder" rights = "baca | tulis" pola = "PDF"
Sumber: http://realtechtalk.com/ImageMagick_Convert_PDF_Not_Authorized-2217-articles
sumber
Jika Anda tidak perlu menangani file raster dan PDF / PS / EPS melalui alat yang sama, jangan kendurkan keamanan ImageMagick.
Alih-alih, pertahankan pertahanan Anda agar aplikasi web Anda tetap utuh, periksa apakah Ghostscript Anda telah ditambal untuk semua
-dSAFER
kerentanan yang diketahui dan kemudian panggil secara langsung.-dSAFER
memilih Anda keluar dari kompatibilitas legacy "jalankan Postscript akan izin penuh untuk berinteraksi dengan dunia luar sebagai mode" bahasa pemrograman turing-complete.-r300
mengatur DPI yang diinginkan ke 300 (standarnya adalah 72)-sDEVICE
menentukan format output (Lihat bagian Perangkat manual ini untuk pilihan lain.)-o
adalah singkatan untuk-dBATCH -dNOPAUSE -sOutputFile=
Jika Anda merender file EPS, tambahkan
-dEPSCrop
jadi itu tidak akan menambah output Anda ke ukuran halaman dan digunakan-sDEVICE=pngalpha
untuk mendapatkan latar belakang transparan.sumber
-r600 -dDownScaleFactor=4
untuk membuat file dengan 150 dpi tetapi lebih baik anti-aliasing.Saya juga memiliki kesalahan
error/constitute.c/ReadImage/453
ketika mencoba untuk mengubah eps ke gif dengan gambar magick. Saya mencoba solusi yang diusulkan oleh sNICkerssss tetapi masih memiliki kesalahan (meskipun berbeda dari yang pertama) eerror/constitute.c/ReadImage/412
Apa yang memecahkan masalahnya adalah untuk dimasukkanread
ke entri lainsumber