private static IList<AttachmentFile> extractDocumentLevelAttachments(PdfReader reader)
{
var results = new List<AttachmentFile>();
var names = PdfReader.GetPdfObject(reader.Catalog.Get(PdfName.NAMES)) as PdfDictionary;
if (names == null)
return null;
var files = PdfReader.GetPdfObject(names.Get(PdfName.EMBEDDEDFILES)) as PdfDictionary;
if (files == null)
return null;
var filesMap = PdfNameTree.ReadTree(files);
foreach (var item in filesMap)
{
var filespec = PdfReader.GetPdfObject(item.Value) as PdfDictionary;
var file = extractFile(filespec);
if (file == null)
continue;
results.Add(file);
}
return results;
}