Zend_Pdf 添加文本链接到 pdf 页面

发布于 2024-07-29 17:40:14 字数 121 浏览 6 评论 0原文

是否可以在 Zend_PDF 页面中添加锚文本(链接)? 我无法在 Zend_Pdf 在线手册或阅读代码中找到有关此内容的任何信息,所以我想这是不可能的。

如果有办法请推荐!

谢谢!

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.

If there is way, please suggest!

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

面如桃花 2024-08-05 17:40:14

禁用边框:

...
$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([
    new Zend_Pdf_Element_Numeric(0),
    new Zend_Pdf_Element_Numeric(0),
    new Zend_Pdf_Element_Numeric(0)
]);
$pdf->pages[0]->attachAnnotation($annotation);
...

Disable border:

...
$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([
    new Zend_Pdf_Element_Numeric(0),
    new Zend_Pdf_Element_Numeric(0),
    new Zend_Pdf_Element_Numeric(0)
]);
$pdf->pages[0]->attachAnnotation($annotation);
...
棒棒糖 2024-08-05 17:40:14

以下代码将创建一个空白页面,其左下角有一个可单击区域,其中包含一个超链接:

$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 进行了测试,但应该适用于从 1.9.7 开始的所有 Zend Framework 版本。

The following code will create a blank page with a clickable area at the bottom left corner that contains a hyperlink:

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

The above snippet was tested with Zend Framework 1.10.7 but should work on all versions of Zend Framework from 1.9.7 onwards.

戴着白色围巾的女孩 2024-08-05 17:40:14

这是不可能的 - 我尝试自己做类似的事情,不幸的是不得不求助于 FPDF 这不是'与 Zend_Pdf 一样好。

我研究了在 Zend_Pdf 中实现链接功能,但该结构对于我必须找到解决方案的时间来说太复杂了。

This isn't possible - I tried to do something similar myself and unfortunately had to resort to FPDF which isn't as good as Zend_Pdf.

I looked into implementing the link functionality in Zend_Pdf and the structure was too complicated for the amount of time I had to find a solution.

能否归途做我良人 2024-08-05 17:40:14

我一直在努力解决边框问题,并通过一个相当简单的技巧解决了它:

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

这将使所有类型链接的注释都没有边框。

I've been struggling with the border issue and have resolved it with a rather simple hack:

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

This will make all anotations of type link to not have a border.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文