我确实将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
的值设置为500
和500
,然后字体稍微好一些,但Image的分辨率也要大得多。这是一个屏幕截图:http://imgur.com/5U88bx5
我的目标:小图像(1000像素* 1000像素),但具有尽可能最大的字体质量。
希望有人有想法。
问候,lippoliv
答案 0 :(得分:1)
$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。
谢谢大家。