imagemagick pdf to jpg - 字体质量不好

时间:2015-01-21 16:52:09

标签: php imagemagick ghostscript

我确实将PDF上传到PHP,并通过JS + AJAX调用以不同的分辨率将页面提取为一种批处理,以便在PHP超时工作。

但字体渲染效果不是很好......我该怎么办?

$pdf = new Imagick();
$pdf->setresolution(225, 225);
$pdf->readimage('mypdf[0-5]');
$written = $pdf->writeimages('previewfolder/pages/hq-0.jpg', FALSE);
$pdf->clear();
$pdf->destroy();

我尝试将setresolution的值设置为500500,然后字体稍微好一些,但Image的分辨率也要大得多。这是一个屏幕截图:http://imgur.com/5U88bx5

我的目标:小图像(1000像素* 1000像素),但具有尽可能最大的字体质量。

希望有人有想法。

问候,lippoliv

1 个答案:

答案 0 :(得分:1)

经常出现:错误40(错误位于他的监视器前40厘米)......

$pdf = new Imagick();
$pdf->setresolution(350, 350);
$pdf->readimage('mypdf[0-5]');

// Because we have multiple pages, we have to process each page.
foreach ($pdf as $page) {
    $page->resizeimage(1500, 1500, \Imagick::FILTER_UNDEFINED, 1.1, TRUE);
}

$written = $pdf->writeimages('previewfolder/pages/hq-0.jpg', FALSE);
$pdf->clear();
$pdf->destroy();

感谢Mark Setchell带来了这个想法并让我思考为什么调整大小不起作用。比起另一个小时的谷歌,我发现了一个关于调整图像大小的例子,指出你必须调整每个帧的大小。

所以我想我可能需要调整PDF格式的每一页(在该示例中有6页),现在它可以正常工作:http://imgur.com/UoP3kMK

现在我可以根据需要上调/缩小图像大小并获得漂亮的字体:)即使是JPG。

谢谢大家。