使用ExtractTextFromPage添加书签

This article was translated from English: Does it need improvement?
Translated
View the article in English

当您根据文本内容添加书签时,使用Pages.Lines属性进行搜索可能会失败,因为返回的文本乱码或顺序混乱,因此基于标题的搜索永远无法匹配。 使用ExtractTextFromPage()提取页面文本,以逻辑顺序读取每一页并为您提供可信赖的字符串用于搜索。

请注意在版本2026.5.x及以上,使用LinkAnnotation类代替。 它内置了支持可点击链接的功能,这些链接可导航到特定页面和位置,并在可用时是推荐的方法。

Pages.Lines从文本在页面上的视觉呈现方式重建文本。 当文本以非线性顺序绘制时,当使用自定义字体或编码时,或者当PDF是从HTML或具有复杂布局的第三方工具生成时,这会崩溃。 结果是不完整或混乱的文本,您无法可靠地搜索。

解决方案

1. 使用ExtractTextFromPage()读取每一页

从每页提取原始嵌入文本,而不是视觉重建。 ExtractTextFromPage()以逻辑阅读顺序返回页面内容,使得在不同PDF结构中页眉搜索更加可靠。

2. 循环每一页并为每个独特页眉添加书签

遍历所有页面,以便无论其落在哪里,都不会错过任何部分,并追踪您已看到的页眉,以便每一个仅添加一次书签。 使用"ARTICLE 2"等,它能保证每篇文章有一个书签。

输出是一组指向每个指定标题的书签,即使PDF来自动态HTML源或带有复杂格式。

使用ExtractTextFromPage和HashSet为每个文章标题添加PDF书签的C#代码

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。