Esempio n. 1
0
 function onSubmit($p)
 {
     $error = ErrorHandler::getInstance();
     $res = base64_decode($p['data'], true);
     if ($res === false) {
         $error->add('Input is not base64 encoded');
         return false;
     }
     echo dh($res);
 }
Esempio n. 2
0
 private function parseRow($row)
 {
     if (!$row) {
         return;
     }
     //echo "RAW: (".strlen($row).") ".$row."\n";
     //dh($row); echo "\n";
     if (substr($row, 0, 1) == '%') {
         //echo "%comment\n";
         //dh($row);
         return;
     }
     if ($row == "xref") {
         //XXX: code is unused
         //            d($row);
         //"base index" "number of entries"
         $row = $this->readRow();
         //d($row);
         list($idx, $cnt) = explode(' ', $row);
         //            echo "DBG: Reading ".$cnt." lines of xref:\n";
         for ($i = 0; $i < $cnt; $i++) {
             $row = trim(fgets($this->fp, 1000));
             //                echo "\t".($idx+$i).":\t".$row."\n";
         }
         return;
     }
     if ($row == "startxref") {
         //XXX: code is unused
         //offset to xref header
         $row = trim(fgets($this->fp, 1000));
         //            echo "DBG STARTXREF: ".$row."\n";
         return;
     }
     if ($row == "trailer") {
         //XXX: code is unused
         $row = trim(fgets($this->fp, 1000));
         //            echo "DBG TRAILER: ".$row."\n";
         //            $dict = pdf_parse_dict($row);
         return;
     }
     // 1 0 obj <</Filter/DCTDecode/Type/XObject/Length 17619/BitsPerComponent 8/Height 181/ColorSpace/DeviceRGB/Subtype/Image/Width 420>>stream
     // 8 0 obj<</Type/Page/Contents 6 0 R/Parent 7 0 R/Resources<</XObject<</img0 1 0 R>>/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 2 0 R/F3 4 0 R/F2 3 0 R/F4 5 0 R>>>>/MediaBox[0 0 595 842]>>
     list($n1, $n2, $s) = explode(' ', $row, 3);
     //        echo "DBG: ".$n1.",".$n2.": ".$s."\n";
     if (substr($s, 0, 3) == 'obj') {
         $s = trim(substr($s, 3));
         if (substr($s, -6) == "stream") {
             $s = substr($s, 0, -6);
             $this->parseStream($s);
             //            } else {
             //                dh($s);
             //                $dict = pdf_parse_dict($s);
             //d($dict);
         }
         $data = fgets($this->fp, 7);
         if ($data != "endobj") {
             throw new \Exception('unexpected end obj: ' . $data);
         }
         return;
     } else {
         if (trim($row)) {
             // a pdf 1.3 sample has a row with 9 spaces+linefeed
             echo "DUNNO WHAT DO!\n";
             dh($row);
             die;
         }
     }
 }