iTextSharp.text.pdf.PdfName.DecodeName C# (CSharp) Метод

DecodeName() публичный статический Метод

public static DecodeName ( string name ) : string
name string
Результат string
        public static string DecodeName(string name) {
            StringBuilder buf = new StringBuilder();
            int len = name.Length;
            for (int k = 1; k < len; ++k) {
                char c = name[k];
                if (c == '#') {
                    c = (char)((PRTokeniser.GetHex(name[k + 1]) << 4) + PRTokeniser.GetHex(name[k + 2]));
                    k += 2;
                }
                buf.Append(c);
            }
            return buf.ToString();
        }
    }

Usage Example

Пример #1
0
        /// <summary>
        /// Gets the field value or  null  if the field does not
        /// exist or has no value defined.
        /// </summary>
        /// <param name="name">the fully qualified field name</param>
        /// <returns>the field value or  null </returns>
        public string GetFieldValue(string name)
        {
            var field = (PdfDictionary)fields[name];

            if (field == null)
            {
                return(null);
            }

            var v = GetPdfObject(field.Get(PdfName.V));

            if (v == null)
            {
                return(null);
            }

            if (v.IsName())
            {
                return(PdfName.DecodeName(((PdfName)v).ToString()));
            }
            else if (v.IsString())
            {
                var vs = (PdfString)v;
                if (Encoding == null || vs.Encoding != null)
                {
                    return(vs.ToUnicodeString());
                }

                var b = vs.GetBytes();
                if (b.Length >= 2 && b[0] == 254 && b[1] == 255)
                {
                    return(vs.ToUnicodeString());
                }

                try
                {
                    if (Encoding.Equals(PdfName.ShiftJis))
                    {
                        return(EncodingsRegistry.Instance.GetEncoding(932).GetString(b));
                    }
                    else if (Encoding.Equals(PdfName.Uhc))
                    {
                        return(EncodingsRegistry.Instance.GetEncoding(949).GetString(b));
                    }
                    else if (Encoding.Equals(PdfName.Gbk))
                    {
                        return(EncodingsRegistry.Instance.GetEncoding(936).GetString(b));
                    }
                    else if (Encoding.Equals(PdfName.Bigfive))
                    {
                        return(EncodingsRegistry.Instance.GetEncoding(950).GetString(b));
                    }
                }
                catch
                {
                }
                return(vs.ToUnicodeString());
            }
            return(null);
        }
All Usage Examples Of iTextSharp.text.pdf.PdfName::DecodeName