2009-07-27 7 views
5

Zend_PDFページにアンカーテキスト(リンク)を追加することはできますか? Zend_Pdfのオンラインマニュアルやコードを読んでもこれに関する情報を見つけることができませんでした。Zend_Pdf pdfへのテキストリンクを追加

方法がある場合は、お勧めします!

ありがとうございます!

+0

あなたがこの問題を解決しましたか? – Guus

答えて

1

これはできません - 私は自分自身で同様のことをやろうとしましたが、残念ながらFPDFに頼らざるを得ず、Zend_Pdfほど良くはありません。

私はZend_Pdfでリンク機能を実装してみましたが、解決策を見つけるのに時間がかかりすぎて構造が複雑すぎました。

+1

これは、Zend Framework 1.9のリリースと注釈のサポートの追加で可能になりました。もっと読むhttp://framework.zend.com/manual/en/zend.pdf.interactive-features.html#zend.pdf.pages.interactive-features.annotations –

3

次のコードは、ハイパーリンクを含む左下隅にクリック可能なエリアで、空白のページが作成されます:上記のスニペットは、Zend Frameworkの1.10.7でテストしましたが、すべてのバージョンで動作するはず

$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.9.7以降。

1

私は、国境問題で苦労してきたし、むしろ簡単なハックでそれを解決しています

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

これは、タイプリンクのすべてanotationsが国境を持たないようになります。

5

無効に国境:

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

ありがとう、$ annotation-> getResource() - > Border = new Zend_Pdf_Element_Array();私のために働く:) –

関連する問題