Изменение размера изображения при подключении его с онлайн-PDF (MPDF)

Я создаю PDF с некоторыми изображениями в нем. Поскольку изображения имеют большой размер, размер созданного PDF также будет очень большим. Есть ли способ динамически уменьшить размер изображения при присоединении его к PDF.

Я попробовал что-то подобное из Вот

`header('Content-Type: image/jpeg');`
`include('SimpleImage.php');`
`$image = new SimpleImage();`
`$image->load($imgPath);`
`$image->resizeToWidth(150);`
`$image->output();`

note1: $ imgPath передается из цикла, и я использую MPDF для создания PDF.

0

Решение

Если вы посмотрите в коде Simple_Image, который вы используете, вы увидите imagecopyresampled функция в resize метод. Это называется в свою очередь resizeToWidth метод — так что ваш образ пересэмплируется.

0

Другие решения

Это работает хорошо и довольно быстро.

$img = imagecreatefromjpeg('image.jpg');
$originalWidth  = imagesx($image);
$originalHeight = imagesy($image);
$scale      = min($previewWidth/$originalWidth, $previewHeight/$originalHeight);
$newWidth  = ceil($scale*$originalWidth);
$newHeight = ceil($scale*$originalHeight);
$newPic = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newPic, $image,0, 0, 0, 0,$newWidth, $newHeight, $originalWidth, $originalHeight);
ob_start();
imagejpeg($newPic, NULL, 70);
$jpg = ob_get_clean();
ob_clean();
$fp = fopen('newPic.jpg','w');
fwrite($fp,$jpg);
fclose($fp);
0

Вот мой заголовок, и вот как я использовал mpdf надеюсь, это поможет вам

$htmlTable_header='<style></style><table width="100%" border="0" style="border-collapse:collapse;margin-top:-40px;font-family:arial !important; font-size:11px;" cellspacing="0" cellpadding="0">
<tr>
<td width="10">&nbsp;</td>
<td width="150" valign="top"><img src="http://localhost/abc/images/abc_logo.png" width="150" height="100" border="0" alt="" title="abc" />';


$mpdf->SetHTMLHeader($htmlTable_header);
$mpdf->SetHTMLFooter($htmlTable_footer);

$mpdf->WriteHTML($htmlTable_body);
$mpdf->SetDisplayMode('fullpage');

$mpdf->Output('service_report_pdf/'.$_REQUEST['id'].'.pdf',F);
0
По вопросам рекламы [email protected]