指定目标页码的目标

时间:2014-05-15 09:11:35

标签: vb.net itextsharp

我正在尝试查找pdf上的死书签和链接,因为我将所有已命名的目的地存储在字典中并尝试存储目标页面,以便我可以验证其有效页面?我正在尝试这样的事情......

       For Each named As KeyValuePair(Of String, PdfObject) In reader.GetNamedDestinationFromStrings()

            If Not namedDestinations.ContainsKey(named.Key) Then
                namedDestinations.Add(named.Key, named.Value)

                Dim thisDest As PdfArray = DirectCast(named.Value, PdfArray)

                Dim a As PdfIndirectReference = DirectCast(thisDest(0), PdfIndirectReference)

                Dim thisPage As PdfDictionary = PdfReader.GetPdfObject(a)

            End If
        Next

此代码我已从其他线程复制,我需要赶上页码。或者我们还有其他任何方法来验证死链接和书签..

1 个答案:

答案 0 :(得分:1)

要重新解释您的问题:您希望从PDF文档中获取所有已命名的目标,但是您希望获取页码,而不是页面引用。

但是,您正在使用返回页面引用的reader.GetNamedDestinationFromStrings()

相反,你应该使用:

Dictionary<string,string> map = SimpleNamedDestination.GetNamedDestination(reader, false);

以“字符串”的形式为您提供目的地(Dictionary的值)。

这样的string如下所示:3 XYZ 36 802 0其中第一个元素(3)是页码。