コード例 #1
0
ファイル: StreamDecoderTest.php プロジェクト: b4upradeep/Pdf
    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!');
    }
コード例 #2
0
ファイル: PdfDocument.php プロジェクト: b4upradeep/Pdf
 public function resolveRef($value)
 {
     return $this->objectRepository->resolveRef($value);
 }