iTextSharp.text.pdf.PdfReader.GetNamedDestinationFromNames C# (CSharp) Метод

GetNamedDestinationFromNames() публичный Метод

public GetNamedDestinationFromNames ( bool keepNames ) : Hashtable
keepNames bool
Результат Hashtable
        public Hashtable GetNamedDestinationFromNames(bool keepNames) {
            Hashtable names = new Hashtable();
            if (catalog.Get(PdfName.DESTS) != null) {
                PdfDictionary dic = (PdfDictionary)GetPdfObjectRelease(catalog.Get(PdfName.DESTS));
                if (dic == null)
                    return names;
                foreach (PdfName key in dic.Keys) {
                    PdfArray arr = GetNameArray(dic.Get(key));
                    if (arr == null)
                        continue;
                    if (keepNames) {
                        names[key] = arr;
                    }
                    else {
                        String name = PdfName.DecodeName(key.ToString());
                        names[name] = arr;
                    }
                }
            }
            return names;
        }

Same methods

PdfReader::GetNamedDestinationFromNames ( ) : Hashtable

Usage Example

Пример #1
0
        public static Hashtable GetNamedDestination(PdfReader reader, bool fromNames)
        {
            IntHashtable pages    = new IntHashtable();
            int          numPages = reader.NumberOfPages;

            for (int k = 1; k <= numPages; ++k)
            {
                pages[reader.GetPageOrigRef(k).Number] = k;
            }
            Hashtable names = fromNames ? reader.GetNamedDestinationFromNames() : reader.GetNamedDestinationFromStrings();

            string[] keys = new string[names.Count];
            names.Keys.CopyTo(keys, 0);
            foreach (string name in keys)
            {
                PdfArray      arr = (PdfArray)names[name];
                StringBuilder s   = new StringBuilder();
                try
                {
                    s.Append(pages[(arr.GetAsIndirectObject(0)).Number]);
                    s.Append(' ').Append(arr[1].ToString().Substring(1));
                    for (int k = 2; k < arr.Size; ++k)
                    {
                        s.Append(' ').Append(arr[k]);
                    }
                    names[name] = s.ToString();
                }
                catch
                {
                    names.Remove(name);
                }
            }
            return(names);
        }
All Usage Examples Of iTextSharp.text.pdf.PdfReader::GetNamedDestinationFromNames