Ejemplo n.º 1
0
function decode_stream_data($stream)
{
    $filters = $stream->data['/Filter'];
    if (!$filters) {
        $filters = array();
    }
    if (count($filters) && !is_a($filters[0], 'NameObject')) {
        $filters = array($filters);
    }
    $data = $stream->stream;
    foreach ($filters as $filter_type) {
        if ($filter_type == '/FlateDecode') {
            $data = FlateDecode::decode($data, $stream->data['/DecodeParms']);
        }
    }
    return $data;
}
Ejemplo n.º 2
0
 function flate_encode()
 {
     if (in_array('/Filter', array_keys($this->data))) {
         $f = $this->data['/Filter'];
         if (is_array($f)) {
             array_unshift($f, new NameObject('/FlateDecode'));
         } else {
             $newf = array();
             $newf[] = new NameObject('/FlateDecode');
             $newf[] = $f;
             $f = $newf;
         }
     } else {
         $f = new NameObject('/FlateDecode');
     }
     $retval = new EncodedStreamObject();
     $filter = new NameObject('/Filter');
     $retval[$filter] = $f;
     $retval->stream = FlateDecode::encode($this->stream);
     return $retval;
 }