我正在撕裂我的頭髮。使用PHP和ImageMagick將PDF轉換爲高質量JPG
我有一個300 DPI PDF,我想變成300 DPI JPG,這是2550x3300。我被告知ImageMagick可以做到這一點,所以我讓ImageMagick工作,但它只返回一個大小約爲原始PDF大小1/5的JPG。
這不是源圖像 - 我用幾個高質量的PDF完成了它們,它們都有相同的問題。
精練的StackOverflow的想法之後,這是我想出了使用方法:
$im = new imagick($srcimg);
$im->setImageResolution(2550,3300);
$im->setImageFormat('jpeg');
$im->setImageCompression(imagick::COMPRESSION_JPEG);
$im->setImageCompressionQuality(100);
$im->writeImage($targetimg);
$im->clear();
$im->destroy();
但它仍然無法正常工作。
我也嘗試過使用$ img-> resizeImage()來調整JPG格式的大小,但是如果尺寸正確,它會以非常差的質量出現。
完全難住。感謝你的幫助!
如果我先放置setImageResolution,那麼這個類還沒有被聲明。如果我做$ im = new imagick(),那麼$ im-> setImageResolution,然後$ im-> readImage($ srcimg),我得到這個錯誤:致命錯誤:未捕獲異常'ImagickException'帶消息'無法處理空Imagick對象'in ... – 2013-03-06 03:07:28
嘗試在空對象上使用'$ im-> setResolution()'(請參閱手冊中的'Imagick :: setResolution' notif) – dakdad 2013-03-06 03:28:33
是的 - 只是做了這個,我得到它的工作,儘管只需要300,300。技巧是切換順序並使用setResolution而不是setImageResolution。謝謝! – 2013-03-06 03:29:24