Pdf sayfa metin link ekle Zend_Pdf

4 Cevap php

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.

Yolu varsa, tavsiye lütfen!

Teşekkürler!

4 Cevap

Aşağıdaki kodu bir köprü içeren sol alt köşesinde bir tıklanabilir alanı ile boş bir sayfa oluşturur:

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

Yukarıdaki pasajı Zend Framework 1.10.7 ile test edildi, ancak sonrasında 1.9.7 Zend Framework tüm sürümlerinde çalışması gerekir.

Border devre dışı bırakın:

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

Bu mümkün değildir - Ben de benzer bir şey kendimi yapmaya çalıştım ve ne yazık ki Zend_Pdf kadar iyi değil ki FPDF başvurmak zorunda kaldı.

Ben Zend_Pdf de bağlantı işlevselliği uygulama içine baktı ve yapısı ben bir çözüm bulmak zorundaydı zaman miktarı için çok karmaşık oldu.

Ben sınır sorunu ile mücadele ettik ve oldukça basit bir hack ile giderilmiştir:

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

Bu tip bağlantı tüm anotations bir sınır var değil yapacaktır.