Ejemplo n.º 1
0
        /// <summary>
        /// Toes the PDF.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void ToPdf(PdfWriter writer)
        {
            PdfArray  array2 = new PdfArray();
            PdfString item   = new PdfString(Guid.NewGuid().ToString())
            {
                IsHexMode = true
            };

            array2.Add(item);
            PdfString str2 = new PdfString(Guid.NewGuid().ToString())
            {
                IsHexMode = true
            };

            array2.Add(str2);
            PdfArray array = array2;

            this.dic[PdfName.ID] = array;
            PdfStreamWriter psw = writer.Psw;

            psw.WriteLineEnd();
            psw.WriteBytes(trailer).WriteLineEnd();
            writer.WriteObject(this.dic);
            psw.WriteLineEnd();
            psw.WriteBytes(startxref).WriteLineEnd();
            psw.WriteInt(this.Offset).WriteLineEnd();
            psw.WriteBytes(eof).WriteLineEnd();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Toes the PDF.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void ToPdf(PdfWriter writer)
        {
            this.ValidateEntries();
            base.Sort();
            PdfStreamWriter psw = writer.Psw;

            psw.WriteLineEnd();
            psw.WriteBytes(xref).WriteLineEnd();
            int index = 0;
            int count = 1;
            int num3  = 1;

            while (num3 < base.Count)
            {
                if ((base[index].ObjectIndex + count) != base[num3].ObjectIndex)
                {
                    this.WriteCrossBlock(index, count, psw);
                    index = num3;
                    count = 0;
                }
                num3++;
                count++;
            }
            this.WriteCrossBlock(index, count, psw);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Write Pdf object to Pdf writer
        /// </summary>
        /// <param name="writer">Pdf Writer</param>
        public override void ToPdf(PdfWriter writer)
        {
            MemoryStream data = this.data;

            if ((this.filters != null) && (this.filters.Count > 0))
            {
                data = new MemoryStream();
                this.data.WriteTo(data);
                PdfArray array = new PdfArray();
                while (this.filters.Count > 0)
                {
                    using (MemoryStream stream2 = new MemoryStream())
                    {
                        data.Seek(0L, SeekOrigin.Begin);
                        data.WriteTo(stream2);
                        stream2.Seek(0L, SeekOrigin.Begin);
                        data.Dispose();
                        data.Dispose();
                        data = new MemoryStream();
                        PdfFilter filter = this.filters.Dequeue();
                        filter.Encode(stream2, data, null);
                        array.Insert(0, filter.GetName());
                        continue;
                    }
                }
                if (array.Count == 1)
                {
                    this.properties.Add(PdfName.Filter, array[0]);
                }
                else
                {
                    this.properties.Add(PdfName.Filter, array);
                }
            }
            this.properties[PdfName.Length] = new PdfNumber((double)data.Length);
            PdfStreamWriter psw = writer.Psw;

            this.properties.ToPdf(writer);
            psw.WriteLineEnd();
            psw.WriteBytes(streamPrefix).WriteLineEnd();
            data.WriteTo(psw.Stream);
            psw.WriteLineEnd().WriteBytes(streamSuffix);
            psw.WriteLineEnd();
            if (data != this.data)
            {
                data.Dispose();
            }
        }
Ejemplo n.º 4
0
 /// <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);
     }
 }