使用Zend_PDF将PDF放置在另一个PDF文档中

时间:2020-03-05 18:53:59  来源:igfitidea点击:

我有一个徽标的pdf文件,尺寸约为1" x2"。谁能提供代码片段,使用Zend_PDF API将PDF徽标导入另一个PDF文件?

理想情况下,我希望能够使用Zend_Pdf_Image对象将其像PNG,TIFF或者JPG对象一样放置。

换句话说,我希望能够将1x2"的pdf小文件放在8.5x11"的页面顶部,而不要使用原始的pdf作为背景。

谢谢!

解决方案

回答

我相信我们可以克隆页面-就像模板一样。不确定这是否足以满足需求,但看起来确实是首选的处理方式。当然,如果我们要在pdf上添加水印(例如),这显然是不够的-但在这种情况下,高分辨率png可能就足够了。

回答

截至目前为止,尚无法使用Zend_PDF API做到这一点。 Zend_Pdf_Page类有一个drawContentStream()看起来很有希望,但是当我检查它时,方法主体为空。也许更高版本的API会支持它。

因此,如果要将另一个PDF放在另一个动态生成的PDF文档(例如图像)中,请使用FPDI + FPDF / TCPDF。

$pdf = & new FPDI ('P', 'in', 'Letter' );
$pagecount = $pdf->setSourceFile ( APP . 'logo.pdf' );
$tplidx = $pdf->importPage ( 1, '/MediaBox' );

$pdf->addPage ();
$pdf->useTemplate ( $tplidx, 1, 1 );
$pdf->Output ( 'output.pdf', 'F' );

回答

不是我们要的,但可能是我们需要的(:

将较小的徽标pdf转换为TIFF / PNG / WhatEver(例如,使用imagemagick的convert或者GIMP)。然后,将该图像与普通的Zend API放置在一起。

我想,也可以使用Imagick php类即时进行此转换。