iTextSharp - PDF书签未指向页面

时间:2015-03-30 14:30:27

标签: c# itextsharp

我已经构建了一个树视图来显示给定PDF文档的书签。

使用iTextSharp我在List对象中获取书签并使用Title值在树视图上显示,没问题。

当我希望树视图节点引用PDF文档中的页码时,问题出现了。

有些PDF文档的标题,页面和操作值如下:
标题:“标题页”,
页面:“1 XYZ -3 845 1.0”,
行动:“GoTo”

但是,其他人采用这种格式:
标题:“标题页”,
命名:“G1.1009819”,
操作:“GoTo”

我不知道该怎么做“命名”值。我已经尝试浏览文档中的所有链接,并将值与链接的目标值进行比较,但没有运气。

有谁知道这个“命名”属性代表什么?

1 个答案:

答案 0 :(得分:2)

这是一个命名目的地,有关示例,请参阅the keyword list。这是在文档中标记目的地的一种非常常见的方式。

您想对指定的目的地做什么?

是否要consolidateNamedDestinations()以便它们不再被命名为目的地,而是指向文档中特定位置的链接。

或者您想创建指向目的地的链接? (这可能是更多的工作。我认为手头没有例子。)

如果您浏览the examples,您将发现LinkActions我们使用SimpleNamedDestination对象检索指定目标的方式与使用{{1}检索书签的方式几乎相同} class。

此代码段以XML文件的形式为我们提供了书签:

SimpleBookmark

请参阅destinations.xml了解结果。

代码更容易,因为结构没有嵌套:每个名称对应一个目的地。