/// <summary> /// Writes the cross block. /// </summary> /// <param name="index">The index.</param> /// <param name="count">The count.</param> /// <param name="psw">The PSW.</param> private void WriteCrossBlock(int index, int count, PdfStreamWriter psw) { psw.WriteInt(base[index].ObjectIndex).WriteSpace().WriteInt(count); for (int i = index; i < count; i++) { psw.WriteLineEnd(); psw.WriteString(((long)base[i].Offset).ToString("0000000000", CultureInfo.InvariantCulture.NumberFormat)); psw.WriteSpace(); psw.WriteString(((int)base[i].Generation).ToString("00000", CultureInfo.InvariantCulture.NumberFormat)); psw.WriteSpace(); psw.WriteByte(base[i].InUse ? nf[0] : nf[1]); } }
public override void ToPdf(PdfWriter writer) { if (this.usedChars.Count > 0) { PdfStreamWriter psw = base.Psw; psw.WriteString("/CIDInit /ProcSet findresource begin 12 dict begin begincmap /CMapType 2 def").WriteLineEnd(); psw.WriteString("1 begincodespacerange <0000> <FFFF> endcodespacerange").WriteLineEnd(); psw.WriteString(((int)this.usedChars.Count) + " beginbfchar").WriteLineEnd(); foreach (KeyValuePair <char, int> pair in this.usedChars) { psw.WriteString(string.Format("<{0:x4}><{1:x4}>", new object[] { (int)pair.Value, (int)pair.Key })).WriteLineEnd(); } psw.WriteString("endbfchar").WriteLineEnd().WriteString("endcmap CMapName currentdict /CMap defineresource pop end end").WriteLineEnd(); } base.ToPdf(writer); }
internal override void pdfWriteToDocument(PdfDocumentWriter document, PdfStreamWriter writer) { writer.WriteDictionaryBegin(); if (_title != null) { writer.WriteName("Title"); writer.WriteString(_title); } if (_author != null) { writer.WriteName("Author"); writer.WriteString(_author); } if (_subject != null) { writer.WriteName("Subject"); writer.WriteString(_subject); } if (_keywords != null) { writer.WriteName("Keywords"); writer.WriteString(_keywords); } if (_creator != null) { writer.WriteName("Creator"); writer.WriteString(_creator); } if (_producer != null) { writer.WriteName("Producer"); writer.WriteString(_producer); } { writer.WriteName("CreationDate"); writer.WriteDate(_creationDate); } { writer.WriteName("ModDate"); writer.WriteDate(_modDate); } writer.WriteDictionaryEnd(); }
/// <summary> /// Writes to. /// </summary> /// <param name="psw">The PSW.</param> internal void WriteTo(PdfStreamWriter psw) { if (this.isHexMode) { psw.WriteByte(60); byte[] byteValue = this.byteValue; for (int i = 0; i < byteValue.Length; i++) { psw.WriteString(((byte)byteValue[i]).ToString("X2")); } psw.WriteByte(0x3e); } else { psw.WriteByte(40); psw.WriteBytes(this.GetEscapedBytes()); psw.WriteByte(0x29); } }