PDF にリンク/ターゲット/アウトライン エントリがあるかどうかを確認しようとしています。私は次のようなコードを使用します (Monotouch ですが、ObjC でも似ているはずです):
public bool HasOutlineEntries()
{
CGPDFDictionary oCatalogDic = oPdfDoc.GetCatalog ();
CGPDFDictionary oOutlinesDic = null;
oCatalogDic.GetDictionary ("Outlines", out oOutlinesDic);
if(oOutlinesDic != null && oOutlinesDic.Count > 0)
{
return true;
}
return false;
}
残念ながら、ドキュメントに (目に見える) エントリがない場合でも、これは常に true を返します。(oOutlinesDic.Count は 2 になります)。ディクショナリのエントリの詳細を取得すると、名前と説明のない 2 つのエントリと、不明なターゲットが常に見つかります。
探しているものを見つけるためのより良い方法はありますか? それとも、常に 2 を減算する必要がありますか?