Example #1
0
    public function testFilterCombinations()
    {
        $dataHex = '48 65 6c 6c 6f 20 57 6f 72 6c 64 21>';
        $dataHexFlate = gzcompress($dataHex);
        $streamObjectTemplate = <<<EOT
1 0 obj
<<
    /Length %s
    /Filter [ /FlateDecode /ASCIIHexDecode ]
>>
stream
%s
endstream
endobj
EOT;
        $streamObject = sprintf($streamObjectTemplate, strlen($dataHexFlate), $dataHexFlate);
        $streamData = 'data://text/plain;base64,' . base64_encode($streamObject);
        $handle = fopen($streamData, 'rb');
        $pdfStream = new PdfStream($handle);
        $crossReferenceTable = new CrossReferenceTable();
        $crossReferenceTable[] = new CrossReferenceTableEntry(1, 0, 0, 'n');
        $objectRepository = new ObjectRepository($pdfStream, $crossReferenceTable);
        $pdfStreamObject = $objectRepository->getObjectByIdAndRevision(1, 0)->getValue();
        $streamDecoder = new StreamDecoder($pdfStream);
        $dataDecoded = $streamDecoder->decodeStream($pdfStreamObject);
        $this->assertEquals($dataDecoded, 'Hello World!');
    }
Example #2
0
 /**
  *
  * @param PdfStreamObject $streamObj
  * @return type
  */
 public function decodeStream(PdfStreamObject $streamObj)
 {
     return $this->streamDecoder->decodeStream($streamObj);
 }