Можно ли добавить якорный текст (ссылку) на страницу Zend_PDF? Я не смог найти информацию об этом в онлайн-руководстве Zend_Pdf или прочитать код, поэтому, я думаю, это невозможно.
Если есть способ, пожалуйста, предложите!
Благодаря!
Отключить границу:
... $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); ...
Следующий код создаст пустую страницу с интерактивной областью в левом нижнем углу, которая содержит гиперссылку:
$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, но должен работать со всеми версиями Zend Framework с версии 1.9.7 и далее.
Это невозможно – я попытался сделать что-то подобное себе и, к сожалению, пришлось прибегать к FPDF, который не так хорош, как Zend_Pdf.
Я изучил реализацию функциональных возможностей ссылок в Zend_Pdf, и структура была слишком сложной в течение того времени, когда мне приходилось находить решение.
Я боролся с проблемой границы и разрешил ее с довольно простым взломом:
echo str_replace('/Annot /Subtype /Link', '/Annot /Subtype /Link /Border[0 0 0]', $pdf->render());
Это приведет к тому, что все аннотации типа link не будут иметь границу.