複数ページのPDFをブラウザに表示される一連のPNGに変換する必要があります。
このコードは機能します:
$images = new imagick();
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}
ただし、品質が非常に低く、ほとんど読み取れないPNGが生成されます。
このコード:
$images = new imagick();
$images->setresolution(1024,0);
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}
readimage()で次のエラーを生成します。
Postscript delegate failed `/tmp/magick-bpkD9zy7': @ error/pdf.c/ReadPDFImage/663
PNGを読み取るのに十分な品質を得るには、imagickのデフォルトよりも高い解像度でPDFをラスタライズできる必要があります。どんな助けでも大歓迎です。
編集-以下が解決策です-正しく行われたサイトに感謝します
$images = new imagick();
$images->setimageunits(RESOLUTION_PIXELSPERINCH);
$images->setresolution(150,150);
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}