0

我已经使用此代码将 PDF 文件转换为 JPEG 图像

$im = new Imagick();
$im->setResolution(90,90);
$im->readImage($pdf_file);
$im->setImageFormat('jpeg');
$im->writeImages($save_to,false);
$im->clear(); 
$im->destroy();

它可以工作,但我有一个问题,当有一个白色背景的文本时,它不会很清楚,但是当我有色 BG 时我没有这个问题。

这张图片会让一切变得清晰 在此处输入图像描述

4

2 回答 2

1

JPEG 压缩会在颜色差异很大的边缘(例如黑色文本和白色背景之间)生成此类伪影。尝试提高压缩质量 或对包含文本的图像使用其他图像格式(例如 png)

于 2012-10-19T14:56:31.523 回答
0

添加此功能:

$im = new Imagick();
$im->setResolution(90,90);

if ($width < 300) $im->sharpenImage(4, 1);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(100); // or some alse 

$im->readImage($pdf_file);
$im->setImageFormat('jpeg');
$im->writeImages($save_to,false);
$im->clear(); 
$im->destroy();
于 2012-10-19T15:02:13.140 回答