2009-07-27 16 views
5

¿Es posible agregar texto de anclaje (enlace) en la página Zend_PDF? No pude encontrar ninguna información sobre esto en el manual en línea de Zend_Pdf ni en el código de lectura, así que supongo que no es posible.Zend_Pdf Agregar el enlace de texto a la página pdf

¡Si hay manera, sugiérelo!

Gracias!

+0

los solucionaron esto? – Guus

Respuesta

1

Esto no es posible - Traté de hacer algo similar y lamentablemente tuve que recurrir a FPDF que no es tan bueno como Zend_Pdf.

Intenté implementar la funcionalidad del enlace en Zend_Pdf y la estructura era demasiado complicada por el tiempo que tuve que encontrar una solución.

+1

Esto ahora es posible con el lanzamiento de Zend Framework 1.9 y la adición de soporte para anotaciones. Obtenga más información en http://framework.zend.com/manual/en/zend.pdf.interactive-features.html#zend.pdf.pages.interactive-features.annotaciones –

3

El siguiente código creará una página en blanco con un área seleccionable en la esquina inferior izquierda que contiene un hipervínculo:

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

El fragmento anterior se probó con Zend Framework 1.10.7, pero debería funcionar en todas las versiones de Zend Framework desde 1.9.7 en adelante.

1

He estado luchando con el tema de la frontera y han resuelto con un truco bastante simple:

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

Esto hará que todos los anotations de enlace de tipo no tener una frontera.

5

frontera Desactivar:

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

Gracias, $ anotación-> getResource() -> Border = new Zend_Pdf_Element_Array(); funciona para mi :) –

Cuestiones relacionadas