Zend_Pdf添加文本链接到pdf页面

时间:2009-07-27 07:52:26

标签: php zend-framework pdf zend-pdf

是否可以在Zend_PDF页面中添加锚文本(链接)? 我无法在Zend_Pdf在线手册或阅读代码中找到任何相关信息,所以我想这是不可能的。

如果有办法,请建议!

谢谢!

4 个答案:

答案 0 :(得分:5)

禁用边框:

...
$target = Zend_Pdf_Action_URI::create('http://example.com');
$annotation = Zend_Pdf_Annotation_Link::create(0,0,100,100,$target);
$annotation->getResource()->Border = new Zend_Pdf_Element_Array();
$pdf->pages[0]->attachAnnotation($annotation);
...

答案 1 :(得分:3)

以下代码将创建一个空白页面,其左下角有一个包含超链接的可点击区域:

$pdf = new Zend_Pdf();
$pdf->pages[0] = new Zend_Pdf_Page( Zend_Pdf_Page::SIZE_A4 );
$target = Zend_Pdf_Action_URI :: create( 'http://example.com' );
$annotation = Zend_Pdf_Annotation_Link :: create( 0, 0, 100, 100, $target );
$pdf->pages[0]->attachAnnotation( $annotation );
$pdf->save( 'test.pdf' );

上面的代码片段使用Zend Framework 1.10.7进行了测试,但是从1.9.7开始应该适用于所有版本的Zend Framework。

答案 2 :(得分:1)

这是不可能的 - 我试图自己做类似的事情,不幸的是不得不求助于FPDF,这不如Zend_Pdf好。

我考虑在Zend_Pdf中实现链接功能,结构太复杂,无法找到解决方案的时间。

答案 3 :(得分:1)

我一直在努力解决边界问题,并通过一个相当简单的黑客来解决它:

echo str_replace('/Annot /Subtype /Link', '/Annot /Subtype /Link /Border[0 0 0]', $pdf->render());

这将使所有类型链接的anotations没有边框。