Zend_Pdf Add text link to pdf page

2019-06-20 16:26发布

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!

4条回答
等我变得足够好
2楼-- · 2019-06-20 16:29

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.

查看更多
对你真心纯属浪费
3楼-- · 2019-06-20 16:44

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楼-- · 2019-06-20 16:49

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);
...
查看更多
\"骚年 ilove
5楼-- · 2019-06-20 16:50

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.

查看更多
登录 后发表回答