2009-07-27 12 views
5

E 'possibile aggiungere il testo di ancoraggio (link) nella pagina Zend_PDF? Non ero in grado di trovare alcuna informazione al riguardo nel manuale online Zend_Pdf, o nel leggere il codice, quindi immagino che non sia possibile.Zend_Pdf Aggiungi il link per il testo alla pagina pdf

Se c'è modo, si prega di suggerire!

Grazie!

+0

avete risolto questo? – Guus

risposta

1

Questo non è possibile - Ho provato a fare qualcosa di simile anch'io e purtroppo ho dovuto ricorrere a FPDF che non è buono come Zend_Pdf.

Ho cercato di implementare la funzionalità di collegamento in Zend_Pdf e la struttura era troppo complicata per il tempo necessario a trovare una soluzione.

+1

Questo è ora possibile con il rilascio di Zend Framework 1.9 e l'aggiunta del supporto per le annotazioni. Maggiori informazioni su http://framework.zend.com/manual/en/zend.pdf.interactive-features.html#zend.pdf.pages.interactive-features.annotations –

3

Il seguente codice creerà una pagina vuota con una zona cliccabile nell'angolo in basso a sinistra che contiene un collegamento ipertestuale:

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

È possibile che questo frammento è stato testato con Zend Framework 1.10.7, ma dovrebbe funzionare su tutte le versioni di Zend Framework dalla 1.9.7 in poi.

1

ho lottato con la questione dei confini e hanno risolto con una piuttosto semplice trucco:

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

questo renderà tutti anotations di tipo di collegamento di non avere un bordo.

5

Disabilita confine:

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

Grazie, $ annotation-> getResource() -> Border = new Zend_Pdf_Element_Array(); per me va bene :) –