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!'); }
/** * * @param PdfStreamObject $streamObj * @return type */ public function decodeStream(PdfStreamObject $streamObj) { return $this->streamDecoder->decodeStream($streamObj); }