【问题标题】:TCPDF How do you make a link to the Table of Contents (TOC)?TCPDF 如何建立指向目录 (TOC) 的链接?
【发布时间】:2014-05-06 01:33:31
【问题描述】:

谁能演示一个基本示例,在 pdf 中的任意页面上添加一个链接,将用户带回目录?

我的一切工作正常,但无法满足这个简单的要求。

一些背景:

你会认为这很简单,关于 TCPDF 的一切似乎都运行良好,也许我今天过得很糟糕。我尝试了以下方法:

从文档看来,创建内部文档链接有 2 个选项

  • 通过方法 addlink() 和 setlink() 来指定目标页面。
  • 通过 pdf 中呈现的 html 锚标记(例如,您将 href 属性指定为第 15 页的 #15)

这些方法基本上都可以正常工作。

作者的一句话——

目录页面是在当前页面上创建的,然后移动到指定页面...要创建指向 TOC 页面的链接,您必须设置指向最后一页的链接(您必须知道之前的总页数)。

我明白这一点,我最后创建了 TOC(使用提供的方法),并创建了指向最后一页的链接,但它是不可点击的(不是呈现文档中的链接)。因此,我必须将引用“您必须知道之前的总页数”解释为 TCPDF 必须知道页数!显然有很大的不同,这意味着对于大多数实际目的来说答案是否定的,而不是通过这种方法(可能是最后一页上的一个链接!)

最后,addTOC 方法的文档提到了 $toc_name 参数:

TCPDF::addTOC   (       
 $page = '',
 $numbersfont = '',
 $filler = '.',
 $toc_name = 'TOC',
 $style = '',
}   

$toc_name (string) name to use for TOC bookmark.

很遗憾,无论如何我都看不到使用这个名称,也没有任何文档、帮助或示例。

有人..请告诉我我很傻..

【问题讨论】:

    标签: php hyperlink tcpdf tableofcontents


    【解决方案1】:

    可能晚了,但这是我使用的(我的目录在第 2 页):

    $pdf->addTOCPage();             
    $link = $pdf->AddLink();
    $pdf->SetLink($link, 0, '*2');
    $pdf->addTOC(2, 'courier', '.', 'INDEX', 'R', array(128,0,0));
    $pdf->endTOCPage();
    

    然后在我想链接回文档中的目录的任何地方,我执行以下操作:

    $html = '<a href="#*2" style="color:blue;">Return to TOC</a>';
    $pdf->writeHTML($html, true, false, true, false, 'R');
    

    【讨论】:

      【解决方案2】:

      TCPPDF 书签:

       $bookmark = "Title of my Bookmark";     
       $pdf->Bookmark($bookmark);
      

      这是添加到 PDF 书签的最佳选择。

      【讨论】:

      • 感谢您的回复,但这并不能回答链接到 TOC 的具体问题。我已经使用了 Bookmark() 方法,它的功能是存储一个引用,以后可以通过调用 addTOC() 方法输出。我认为没有办法使用它来解决这个特定问题。
      猜你喜欢
      • 2012-03-24
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 2011-03-25
      相关资源
      最近更新 更多