我在客户项目中遇到了同样的问题。即使是雇佣图像,生成的 pdf 文档中的图片也会变得模糊。
我花了几个小时,但这对我有用。
我查看了代码,发现在 pdf 文档的构造函数中设置了比例因子:
//Scale factor
if($unit=='pt')
$this->k=1;
elseif($unit=='mm')
$this->k=72/25.4;
elseif($unit=='cm')
$this->k=72/2.54;
elseif($unit=='in')
$this->k=72;
else
$this->Error('Incorrect unit: '.$unit);
比例因子取决于 pdf 文档的构造函数中给出的值:
function FPDF($orientation='P',$unit='mm',$format='A4')
默认值为“毫米”。在我的大多数文档中,我都会创建一个 pdf 文档,例如:
$pdf = new PDF('P');
这意味着将使用 72/25.4 = 2.83 的比例因子。当我在刚刚使用之前放置图像时:
$this->Image('path/to/file', 0, 0);
这样我得到了模糊的图像。也可以在命令中给出图片的宽度
$this->Image('path/to/file', 0, 0, 200); // for a image width 200
这给了我一个太大的图像。但是 - 诀窍来了 - 当您将实际宽度除以比例因子(在我的情况下为 2.83)并将其放在此语句中时,它会给出一个非常清晰的图像:
$this->Image('path/to/file', 0, 0, 71); // for a image width 200 / 2.83 = app 71
我希望这也适用于你!