/// <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; }
/// <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 }
/// <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; }
/// <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; }