2012-02-27 22 views
0

pdfファイルのページにブックマークがあり、そのブックマークに何が含まれているかを確認しようとしています。私は "iTextSharp.text.pdf"を使ってPDFを読み込んで操作していますが、ページにブックマークがあるかどうかを確認する方法。pdfページにブックマークがあるかどうかを確認するにはどうすればいいですか?

お手数ですが ありがとうございました!

私はブックマークを取得しようとしたが、それは私のすべてのコレクションを取得し、私はそれがブックマークの特定のページのために取得する方法がわからない、私はこのコードを使用:

public void Bookmarks(string pdfSourceFile) 
    { 
     PdfReader reader = new PdfReader(pdfSourceFile, new System.Text.ASCIIEncoding().GetBytes("")); 
     IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(reader); 
     foreach (IDictionary<String, Object> bmProperty in bookmarks) 
     { 

      foreach (var fileProperty in bmProperty.Keys) 
      { 

       if (fileProperty == "File") 
       { 
        // need the edit the value of Key-"File". Will it be possible to alter the value using pdfwriter 
       } 
      } 
     } 
+1

試したコードはありますか? –

+0

私はブックマークを取得しようとしましたが、それは私にすべてのコレクションを取得し、私はブックマークの特定のページを取得する方法がわかりません – XandrUu

答えて

1

することができます各ブックマーク辞書のページキーから各ブックマークのページを抽出します。例えば

public bool isBookmarked(string pdfSourceFile, int pageNumber) 
{ 
    var reader = new PdfReader(pdfSourceFile, new System.Text.ASCIIEncoding().GetBytes("")); 
    var bookmarks = SimpleBookmark.GetBookmark(reader); 
    foreach (var bookmark in bookmarks) 
     if (Int32.Parse(bookmark["Page"].ToString().Split(' ')[0]) == pageNumber) 
      return true; 

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

使用これ。

関連する問題