在zend_pdf中生成完整大小和高质量的图像

Nid*_*ida 3 php zend-framework magento zend-pdf

我尝试过类似的东西

public function getPdf()
{
  $imagePath=C:\Users\Hp\Desktop\image.jpg;
  $image = Zend_Pdf_Image::imageWithPath($imagePath);
  $page->drawImage($image, 40,764,240, 820);
  $pdf->pages[] = $page;
  $pdf->save('new.pdf');
}
Run Code Online (Sandbox Code Playgroud)

它成功生成PDF图像.但它不能保持图像质量.即图像的高度和宽度变形并显示小图像.

任何人都可以帮我解决这些问题.我希望显示的图像在页面上应该是完整的大小.另请注意,横向或纵向图像应相应地适合页面.

dre*_*010 5

我怀疑图像出现小的另一个原因是因为您使用像素绘制图像的高度和宽度,但是drawImage如果使用像素测量,则使用将使图像显得更小的点.

在绘制图像之前,您可以使用以下代码将像素转换为点:

$imgWidthPts  = $image->getPixelWidth() * 72 / 96;
$imgHeightPts = $image->getPixelHeight() * 72 / 96;
$x1           = 40;
$y1           = 764;

$page->drawImage($image, $x1, $y1, $x1 + $imgWidthPts, $y1 + $imgHeightPts);
Run Code Online (Sandbox Code Playgroud)

Mihai关于300DPI的观点也是有效的,所以如果你使用72DPI图像,它会显得有些混浊,但这应该照顾它的实际尺寸.