iTextSharp 5.5.10を使用して、PDFファイル内にネストされたブックマークのタイトルを取得するプログラムを作成しています。PDFファイルでネストされたブックマークを取得する
入力パラメータとしてDictionary<string, object>
オブジェクトを受け取り、List<string>
オブジェクトを返しますが、機能しない反復関数を書きました。
public static List<string> bookmarksList(Dictionary<string, object> parent)
{
List<string> PDFbookmarks = new List<string>();
if (parent.ContainsKey("Kids"))
{
PDFbookmarks.Add(parent["Kids"].ToString());
Dictionary<string, object> child = parent["Kids"] as Dictionary<string, object>;
bookmarksList(child);
}
return PDFbookmarks;
}
Dictionary<string, object>
オブジェクト私はGetBookmark(PDFReader)
メソッドからそれを得ました。
ToString()
メソッドが明らかに私に実際の子のタイトルを与えていないという事実を除いて、最初の繰り返し呼び出しでNullReferenceException
が得られます。関数の子変数を初期化しようとすると、 null
ポインタ。デバッグウィンドウに示すように
Kids
キーに関連付けられた値は、IList<Dictionary<string, object>>
オブジェクトそのものです:
System.Collections.Generic.List'1[System.Collections.Generic.Dictionary'2[System.String,System.Object]]]
(これはList
オブジェクトではなく、IList
する必要がありますが、私は間違っている?)私が代わりにnull
ポインタを得た理由
ので、私は
任意のヒント...それを取得しないのですか?
ありがとう、 Davide。
最終的な解決策は、*質問*の一部を追加するのではなく、*回答*として投稿してください。 – mkl