Exemplo n.º 1
0
        // Compression functions

        public int PutStream(byte [] data)
        {
            int result = StartObj();

            Put("<<");
            if (Compress)
            {
                Put("/Filter/FlateDecode");
      #if ( UseZLib )
                {
                    data = Deflate(data);
                    Put("/Length " + data.Length + ">>stream\n");
                    Put(data);
                }
      #else
                {
                    MemoryBitStream bb = new MemoryBitStream();
                    Deflator.Deflate(data, bb);
                    int clen = bb.ByteSize();
                    Put("/Length " + clen + ">>stream\n");
                    bb.CopyTo(OS);
                    OS_Total += clen;
                }
      #endif
            }
            else
            {
                Put("/Length " + data.Length + ">>stream\n");
                Put(data);
            }
            Put("\nendstream");
            EndObj();
            return(result);
        }
Exemplo n.º 2
0
     public static byte [] Deflate(byte [] data)
     {
 #if ( UseZLib )
         IO.MemoryStream            cs  = new IO.MemoryStream();
         Zlib.ZDeflaterOutputStream zip = new Zlib.ZDeflaterOutputStream(cs);
         zip.Write(data, 0, data.Length);
         zip.Finish();
         return(cs.ToArray());
 #else
         MemoryBitStream mbs = new MemoryBitStream();
         Deflator.Deflate(data, mbs);
         return(mbs.ToArray());
 #endif
     }