【发布时间】:2016-12-23 07:29:27
【问题描述】:
我想使用 imageMagick 为第一页创建在线 PDF 的缩略图。问题是我确实得到了一个缩略图,但不是文档的第一页,或者我可以生成它但不是我想要的大小,即 200 像素宽。
这是下面的代码。
<?php
function createOnlineDocumentThumbnail2($index, $output, $path)
{
$pdf = new \Imagick($path);
$pdf->setIteratorIndex($index);
$pdf->setResolution(320, 320);
//$pdf = $pdf->flattenImages();
$pdf->setBackgroundColor('white');
//$pdf->thumbnailImage(200, 0);
$pdf->setImageColorspace(255);
$pdf->setCompression(\Imagick::COMPRESSION_JPEG);
$pdf->setCompressionQuality(100);
$pdf->setImageFormat('jpeg');
$pdf->writeImage($output);
$pdf->clear();
$pdf->destroy();
}
function createOnlineDocumentThumbnail($index, $output, $path)
{
$pdf = new \Imagick($path);
$pdf->setIteratorIndex($index);
$pdf->setResolution(320, 320);
$pdf = $pdf->flattenImages();
$pdf->setBackgroundColor('white');
$pdf->thumbnailImage(200, 0);
$pdf->setImageColorspace(255);
$pdf->setCompression(\Imagick::COMPRESSION_JPEG);
$pdf->setCompressionQuality(100);
$pdf->setImageFormat('jpeg');
$pdf->writeImage($output);
$pdf->clear();
$pdf->destroy();
}
$link1 = "http://www.flar.net/uploads/default/calendar/99f3a2304c1754aecffab145a5c80b98.pdf";
$link2 = "http://www.pdf995.com/samples/pdf.pdf";
createOnlineDocumentThumbnail2(0, 'output/link1.jpg', $link1);
createOnlineDocumentThumbnail2(0, 'output/link2.jpg', $link2);
createOnlineDocumentThumbnail(0, 'output/link1_small.jpg', $link1);
createOnlineDocumentThumbnail(0, 'output/link2_small.jpg', $link2);
【问题讨论】:
标签: php imagemagick image-manipulation imagick