Membuat thumbnail PDF dengan imagemagick terkadang membuat warna yang salah. Kami menggunakan versi imagemagick lama (6.5.7-8, itu adalah versi yang diinstal pada server heroku). Ini adalah perintah yang saat ini kami gunakan:
convert \
-size "725x1200>" \
-colorspace RGB \
-flatten \
-density 300 \
-quality 100 \
input.pdf \
output.jpg
Saya sudah mencoba menggunakan berbagai ruang warna seperti sRGB, YIQ, .. tetapi tidak satupun dari mereka yang merender warna dengan benar.
Menggunakan imagemagick-6.7.7-6 berfungsi secara lokal jadi saya sudah mencoba untuk menggabungkan perintah 'convert' di dalam direktori aplikasi / bin saya, perintah itu berfungsi tetapi hasilnya masih salah, jadi sepertinya masalahnya berasal dari imagemagick lain perintah yang digunakan oleh 'convert' atau dari perpustakaan lain.
Berikut adalah contoh dari output:
- Output yang benar: di sebelah kiri
- Output salah: di sebelah kanan
Anehnya, dengan beberapa halaman pdf yang sama hasilnya selalu benar. Adakah gagasan perpustakaan atau perintah mana yang bisa menjadi masalah, atau jika ada serangkaian opsi yang tepat untuk diteruskan ke imagemagick untuk selalu memperbaikinya?
sumber
-colors 32
tetapi tidak berhasil. Dari asumsi bahwa imagemagick menggunakan ghostscript saya kemudian mencoba untuk melihat output langsung dari itugs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=out.jpg in.pdf
untuk mengidentifikasi ruang warna. Outputnya sudah salah! Melewati-dUseCIEColor
perbaikan itu. Tapi bagaimana saya bisa memberi tahu imagemagick untuk meneruskan opsi ini ke gs?Jawaban:
Setelah beberapa penyelidikan lebih lanjut, tampaknya masalahnya berasal dari ghostscript yang tidak ada
-dUseCIEColor
opsi. Dan dari apa yang saya kumpulkan di web, tidak mungkin untuk mengirimkan parameter ke ghostscript melalui imagemagick. Apa yang mungkin dilakukan adalah memanggil 2 perintah bersamaan dengan sebuah pipa: https://stackoverflow.com/questions/653380/converting-a-pdf-to-pngKasus penggunaan khusus saya
Ini sedikit lebih spesifik untuk kasus penggunaan saya, tetapi saya pikir seseorang mungkin tertarik. Saat kami membuat thumbnail melalui Penjepit Kertas di aplikasi rel kami, saya membuat prosesor penjepit kertas baru untuk menangani konversi pdf ke jpg dan kemudian imagemagick mengambil alih untuk melakukan pengubahan ukuran seperti biasa. Kode saya dengan contoh di sini: https://gist.github.com/3059321
sumber