You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么target-counter返回锚点最后出现的页码而非首次出现的页码

iText 跨页锚点target-counter返回页码异常问题说明
  • 问题场景:带有指定锚点/id的div内部内容跨多页分布时,通过自定义CSS样式获取对应锚点页码,使用代码content: target-counter(attr(href), page);执行后返回的是锚点内容覆盖的最后一页页码,不符合目录构建等场景下需要返回引用目标首次出现的首页页码的预期。
  • 根因定位:问题出在com.itextpdf.layout.renderer.TargetCounterHandler.addPageByID(IRenderer)方法的实现逻辑,同一个页面id对应的后续页面页码会直接覆盖已记录的旧页码,后续注入页码的逻辑会直接调用被覆盖后的页码值,导致最终返回最后一页的页码。
  • 修复方案:自定义修改TargetCounterHandler的addPageByID方法逻辑,将原有无差别更新同id页码的逻辑,调整为仅当对应id没有已记录的页码时才写入当前页码,已存在记录则跳过更新,即可保留锚点首次出现的首页页码。

内容的提问来源于stack exchange,提问作者jan.swaelens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:06:05