Пример #1
0
        /// <summary>
        /// Writes the specified value to the PDF stream.
        /// </summary>
        public void Write(PdfString value)
        {
            WriteSeparator(CharCat.Delimiter);
            PdfStringEncoding encoding = (PdfStringEncoding)(value.Flags & PdfStringFlags.EncodingMask);
            string            pdf      = (value.Flags & PdfStringFlags.HexLiteral) == 0 ?
                                         PdfEncoders.ToStringLiteral(value.Value, encoding, SecurityHandler) :
                                         PdfEncoders.ToHexStringLiteral(value.Value, encoding, SecurityHandler);

            WriteRaw(pdf);
            _lastCat = CharCat.Delimiter;
        }
Пример #2
0
        /// <summary>
        /// Returns the string.
        /// </summary>
        public override string ToString()
        {
#if true
            PdfStringEncoding encoding = (PdfStringEncoding)(_flags & PdfStringFlags.EncodingMask);
            string            pdf      = (_flags & PdfStringFlags.HexLiteral) == 0 ?
                                         PdfEncoders.ToStringLiteral(_value, encoding, null) :
                                         PdfEncoders.ToHexStringLiteral(_value, encoding, null);
            return(pdf);
#else
            return(_value);
#endif
        }
Пример #3
0
        /// <summary>
        /// Writes the specified value to the PDF stream.
        /// </summary>
        public void Write(PdfString value)
        {
            WriteSeparator(CharCat.Delimiter);
#if true
            PdfStringEncoding encoding = (PdfStringEncoding)(value.Flags & PdfStringFlags.EncodingMask);
            string            pdf;
            if ((value.Flags & PdfStringFlags.HexLiteral) == 0)
            {
                pdf = PdfEncoders.ToStringLiteral(value.Value, encoding, SecurityHandler);
            }
            else
            {
                pdf = PdfEncoders.ToHexStringLiteral(value.Value, encoding, SecurityHandler);
            }
            WriteRaw(pdf);
#else
            switch (value.Flags & PdfStringFlags.EncodingMask)
            {
            case PdfStringFlags.Undefined:
            case PdfStringFlags.PDFDocEncoding:
                if ((value.Flags & PdfStringFlags.HexLiteral) == 0)
                {
                    WriteRaw(PdfEncoders.DocEncode(value.Value, false));
                }
                else
                {
                    WriteRaw(PdfEncoders.DocEncodeHex(value.Value, false));
                }
                break;

            case PdfStringFlags.WinAnsiEncoding:
                throw new NotImplementedException("Unexpected encoding: WinAnsiEncoding");

            case PdfStringFlags.Unicode:
                if ((value.Flags & PdfStringFlags.HexLiteral) == 0)
                {
                    WriteRaw(PdfEncoders.DocEncode(value.Value, true));
                }
                else
                {
                    WriteRaw(PdfEncoders.DocEncodeHex(value.Value, true));
                }
                break;

            case PdfStringFlags.StandardEncoding:
            case PdfStringFlags.MacRomanEncoding:
            case PdfStringFlags.MacExpertEncoding:
            default:
                throw new NotImplementedException("Unexpected encoding");
            }
#endif
            this.lastCat = CharCat.Delimiter;
        }
Пример #4
0
        /// <summary>
        /// Writes the specified value to the PDF stream.
        /// </summary>
        public void Write(PdfString value)
        {
            WriteSeparator(CharCat.Delimiter);
//#if true
            PdfStringEncoding encoding = (PdfStringEncoding)(value.Flags & PdfStringFlags.EncodingMask);
            string            pdf      = (value.Flags & PdfStringFlags.HexLiteral) == 0 ?
                                         PdfEncoders.ToStringLiteral(value.Value, encoding, SecurityHandler) :
                                         PdfEncoders.ToHexStringLiteral(value.Value, encoding, SecurityHandler);

            WriteRaw(pdf);
//#else
//            switch (value.Flags & PdfStringFlags.EncodingMask)
//            {
//                case PdfStringFlags.Undefined:
//                case PdfStringFlags.PDFDocEncoding:
//                    if ((value.Flags & PdfStringFlags.HexLiteral) == 0)
//                        WriteRaw(PdfEncoders.DocEncode(value.Value, false));
//                    else
//                        WriteRaw(PdfEncoders.DocEncodeHex(value.Value, false));
//                    break;

//                case PdfStringFlags.WinAnsiEncoding:
//                    throw new NotImplementedException("Unexpected encoding: WinAnsiEncoding");

//                case PdfStringFlags.Unicode:
//                    if ((value.Flags & PdfStringFlags.HexLiteral) == 0)
//                        WriteRaw(PdfEncoders.DocEncode(value.Value, true));
//                    else
//                        WriteRaw(PdfEncoders.DocEncodeHex(value.Value, true));
//                    break;

//                case PdfStringFlags.StandardEncoding:
//                case PdfStringFlags.MacRomanEncoding:
//                case PdfStringFlags.MacExpertEncoding:
//                default:
//                    throw new NotImplementedException("Unexpected encoding");
//            }
//#endif
            _lastCat = CharCat.Delimiter;
        }