1

我正在使用 fpdf AddLink 函数创建一个内部链接,并且在所有页面生成结束时,我使用以下函数在链接不起作用后重新排序页面。可能是什么原因。谢谢

public function movePages($oldIndex, $nrPages, $newIndex) {

    $newPages = array();

    for($i=1; $i<=sizeof($this->pages); $i++) {
        if($i < $newIndex) {

            $newPages[$i] = $this->pages[$i];
        } elseif($i < $newIndex+$nrPages) {
            $newPages[$i] = $this->pages[$oldIndex+$i-$newIndex+1];
        } else {
            $newPages[$i] = $this->pages[$i-$nrPages];
        }

        $newPages[$i] = str_replace('{pageNr}', $i, $newPages[$i]);
    }

    $this->pages = $newPages;

}
4

1 回答 1

0

正确的。

我自己也遇到了这个。找到了解决方案。

当页面切换发生时,似乎文本元素存储在一种映射方案中,而视觉元素存储在另一种映射方案中。切换页面时,文本会移动,而热点不会。他们仍然链接和工作,但现在很难在他们的原始页面上找到。

我发现有效的技巧是将横坐标和要链接到的页码存储在数组中(由原始页码索引的哈希),在循环内进行切换(手动设置$this->page每个链接的页码)并用于$this->Link($x, $y, $w, $h, $link)在我想要的位置创建热点,然后$this->SetLink($link, 0, $pageNo)将其设置到正确的页面。

然后重置页数,否则将无法正确呈现。

于 2013-09-05T20:24:59.650 回答