ToPdf() public méthode

public ToPdf ( PdfWriter writer, Stream os ) : void
writer PdfWriter
os Stream
Résultat void
Exemple #1
0
 /**
  * Writes eficiently to a stream
  *
  * @param os the stream to write to
  * @throws IOException on write error
  */
 internal protected void WriteTo(Stream os)
 {
     byte[] tmp = DocWriter.GetISOBytes(number.ToString());
     os.Write(tmp, 0, tmp.Length);
     os.WriteByte((byte)' ');
     tmp = DocWriter.GetISOBytes(generation.ToString());
     os.Write(tmp, 0, tmp.Length);
     os.Write(STARTOBJ, 0, STARTOBJ.Length);
     objecti.ToPdf(writer, os);
     os.Write(ENDOBJ, 0, ENDOBJ.Length);
 }
Exemple #2
0
 /// <summary>
 /// Writes eficiently to a stream
 /// @throws IOException on write error
 /// </summary>
 /// <param name="os">the stream to write to</param>
 internal void WriteTo(Stream os)
 {
     byte[] tmp = DocWriter.GetIsoBytes(Number.ToString());
     os.Write(tmp, 0, tmp.Length);
     os.WriteByte((byte)' ');
     tmp = DocWriter.GetIsoBytes(Generation.ToString());
     os.Write(tmp, 0, tmp.Length);
     os.Write(Startobj, 0, Startobj.Length);
     Objecti.ToPdf(Writer, os);
     os.Write(Endobj, 0, Endobj.Length);
 }
Exemple #3
0
        /**
         * Writes eficiently to a stream
         *
         * @param os the stream to write to
         * @throws IOException on write error
         */
        internal void WriteTo(Stream os)
        {
            byte[] tmp = DocWriter.GetISOBytes(number.ToString());
            os.Write(tmp, 0, tmp.Length);
            os.WriteByte((byte)' ');
            tmp = DocWriter.GetISOBytes(generation.ToString());
            os.Write(tmp, 0, tmp.Length);
            os.Write(STARTOBJ, 0, STARTOBJ.Length);
            int type = objecti.Type;

            if (type != PdfObject.ARRAY && type != PdfObject.DICTIONARY && type != PdfObject.NAME && type != PdfObject.STRING)
            {
                os.WriteByte((byte)' ');
            }
            objecti.ToPdf(writer, os);
            os.Write(ENDOBJ, 0, ENDOBJ.Length);
        }
Exemple #4
0
        // methods overriding some methods in PdfObject

/**
 * Returns the PDF representation of this <CODE>PdfArray</CODE>.
 *
 * @return        an array of <CODE>byte</CODE>s
 */

        public override void ToPdf(PdfWriter writer, Stream os)
        {
            os.WriteByte((byte)'[');
            bool      first = true;
            PdfObject obj   = null;

            foreach (PdfObject obja in arrayList)
            {
                obj  = (obja == null) ? PdfNull.PDFNULL : obja;
                type = obj.Type;
                if (!first && type != PdfObject.ARRAY && type != PdfObject.DICTIONARY && type != PdfObject.NAME && type != PdfObject.STRING)
                {
                    os.WriteByte((byte)' ');
                }
                first = false;
                obj.ToPdf(writer, os);
            }
            os.WriteByte((byte)']');
        }
Exemple #5
0
 protected PdfWriter.PdfBody.PdfCrossReference AddToObjStm(PdfObject obj, int nObj) {
     if (numObj >= OBJSINSTREAM)
         FlushObjStm();
     if (index == null) {
         index = new ByteBuffer();
         streamObjects = new ByteBuffer();
         currentObjNum = IndirectReferenceNumber;
         numObj = 0;
     }
     int p = streamObjects.Size;
     int idx = numObj++;
     PdfEncryption enc = writer.crypto;
     writer.crypto = null;
     obj.ToPdf(writer, streamObjects);
     writer.crypto = enc;
     streamObjects.Append(' ');
     index.Append(nObj).Append(' ').Append(p).Append(' ');
     return new PdfWriter.PdfBody.PdfCrossReference(2, nObj, currentObjNum, idx);
 }
        /** 
         * Overriding standard PdfObject.ToPdf because we need sorted PdfDictionaries.
         */
        private static void ToPdf(PdfObject @object, PdfWriter writer, ByteBuffer os) {
            if (@object is PdfDictionary) {
                os.Append('<');
                os.Append('<');

                List<PdfName> keys = new List<PdfName>(((PdfDictionary) @object).Keys);
                keys.Sort();

                foreach (PdfName key in keys) {
                    ToPdf(key, writer, os);
                    PdfObject value = ((PdfDictionary) @object).Get(key);
                    int type = value.Type;

                    if (type != PdfObject.ARRAY && type != PdfObject.DICTIONARY && type != PdfObject.NAME &&
                            type != PdfObject.STRING) {
                        os.Append(' ');
                    }

                    ToPdf(value, writer, os);
                }

                os.Append('>');
                os.Append('>');
            } else {
                @object.ToPdf(writer, os);
            }
        }
Exemple #7
0
 /// <summary>
 /// Writes a PDF object to the OutputStream, followed by a newline character. </summary>
 /// <param name="o"> </param>
 /// <exception cref="IOException"> </exception>
 protected internal virtual void PrintLn(PdfObject o) {
     o.ToPdf(null, baos);
     baos.WriteByte((byte) '\n');
 }