Zend_Pdf Add text link to pdf page

烂漫一生 提交于 2019-12-12 11:08:36

问题


Is it possible to add anchor text(link) in Zend_PDF page? I wasn't be able to find any information about this in Zend_Pdf online manual, or reading code, so I guess it is not possible.

If there is way, please suggest!

Thanks!


回答1:


Disable border:

...
$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);
...



回答2:


The following code will create a blank page with a clickable area at the bottom left corner that contains a hyperlink:

$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' );

The above snippet was tested with Zend Framework 1.10.7 but should work on all versions of Zend Framework from 1.9.7 onwards.




回答3:


This isn't possible - I tried to do something similar myself and unfortunately had to resort to FPDF which isn't as good as Zend_Pdf.

I looked into implementing the link functionality in Zend_Pdf and the structure was too complicated for the amount of time I had to find a solution.




回答4:


I've been struggling with the border issue and have resolved it with a rather simple hack:

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

This will make all anotations of type link to not have a border.



来源:https://stackoverflow.com/questions/1186955/zend-pdf-add-text-link-to-pdf-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!