c# - 获取每个 Pdf 页面的书签

标签 c# itext

我正在尝试使用“iTextSharp.text.pdf”获取特定 pdf 页面的书签信息,我找到了如何获取 pdf 中书签的集合,但我只想获取特定的pdf 中的页面,这是我对整个 pdf 的代码:

public void ExportBookmarksToXml(string SourcePdfPath, string xmlOutputPath, string Password = "")
    {
        PdfReader reader = new PdfReader(SourcePdfPath, new System.Text.ASCIIEncoding().GetBytes(Password));
        IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(reader);
        using (MemoryStream memoryStream = new MemoryStream())
        {
            SimpleBookmark.ExportToXML(bookmarks, memoryStream, "ISO8859-1", true);
            //MessageBox.Show(bookmarks[0].Values.ToString());
            File.WriteAllBytes(xmlOutputPath, memoryStream.ToArray());
        }
    }

我需要这个,因为我想知道每个书签有多少页和有多少空白页。

谢谢!

最佳答案

使用下面的代码获取pdf每一页中的所有书签。

IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(pdfReader);
foreach (Dictionary<string, object> bk in bookmarks)
{
string bjj = bk.Values.ToArray().GetValue(0).ToString();
}

关于c# - 获取每个 Pdf 页面的书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463052/

相关文章:

c# - Button Style 的内容只出现在一个 Button 实例中

c# - 数据模型未显示在 HttpResponseMessage 中

java - Windows计算机上的iText-PDF中的中文字体问题

c# - 获取创建类的对象的实例

c# - 如何在 C# 中创建一个真正不可变的双向链表?

c# - 您可以为每个 SendEndpoint 定义 UseRawJsonSerializer() 吗?

java - itext多重签名

java - 在itextpdf中应用位置提取策略后,我们可以使用文本提取策略吗?

java - itext7 中嵌套大表

c# - iTextSharp HTMLWorker.ParseToList() 抛出 NullReferenceException