91 abstract public function screen();
100 abstract public function parse();
115 if ($dataSource->
getSize() == 0) {
116 #require_once 'Zend/Pdf/Exception.php'; 120 $this->_dataSource = $dataSource;
130 $this->_dataSource =
null;
177 $this->_dataSource->moveToOffset($offset);
181 return $this->_dataSource->getOffset();
185 return $this->_dataSource->getSize();
197 return $this->_dataSource->readBytes($byteCount);
208 $this->_dataSource->skipBytes($byteCount);
230 if (($size < 1) || ($size > 4)) {
231 #require_once 'Zend/Pdf/Exception.php'; 235 $bytes = $this->_dataSource->readBytes($size);
242 if ((
$number & 0x80) == 0x80) {
246 for (
$i = 1;
$i < $size;
$i++) {
256 for (
$i = 1;
$i < $size;
$i++) {
261 $number = ord($bytes[$size - 1]);
262 if ((
$number & 0x80) == 0x80) {
266 for (
$i = --$size;
$i >= 0;
$i--) {
267 $number |= ((~ ord($bytes[
$i])) & 0xff) << (
$i * 8);
272 for (
$i = --$size;
$i >= 0;
$i--) {
277 #require_once 'Zend/Pdf/Exception.php'; 305 if (($size < 1) || ($size > 4)) {
306 #require_once 'Zend/Pdf/Exception.php'; 310 $bytes = $this->_dataSource->readBytes($size);
316 for (
$i = 1;
$i < $size;
$i++) {
321 for (
$i = --$size;
$i >= 0;
$i--) {
325 #require_once 'Zend/Pdf/Exception.php'; 341 $bitMask = 1 << $bit;
342 $isSet = (($bitField & $bitMask) == $bitMask);
366 $bitsToRead = $mantissaBits + $fractionBits;
367 if (($bitsToRead % 8) !== 0) {
368 #require_once 'Zend/Pdf/Exception.php'; 372 $number = $this->
readInt(($bitsToRead >> 3), $byteOrder) / (1 << $fractionBits);
405 if ($byteCount == 0) {
408 $bytes = $this->_dataSource->readBytes($byteCount);
410 if ($characterSet ==
'UTF-16BE') {
413 return iconv(
'UTF-16BE', $characterSet, $bytes);
415 if ($characterSet ==
'UTF-16LE') {
418 return iconv(
'UTF-16LE', $characterSet, $bytes);
420 #require_once 'Zend/Pdf/Exception.php'; 444 if ($byteCount == 0) {
447 $bytes = $this->_dataSource->readBytes($byteCount);
448 if ($characterSet ==
'MacRoman') {
451 return iconv(
'MacRoman', $characterSet, $bytes);
474 $byteCount = $this->
readUInt($lengthBytes);
475 if ($byteCount == 0) {
478 $bytes = $this->_dataSource->readBytes($byteCount);
479 if ($characterSet ==
'ASCII') {
482 return iconv(
'ASCII', $characterSet, $bytes);
readInt($size, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)
isBitSet($bit, $bitField)
readStringMacRoman($byteCount, $characterSet='')
const INVALID_INTEGER_SIZE
readStringPascal($characterSet='', $lengthBytes=1)
const BAD_FIXED_POINT_SIZE
const BYTE_ORDER_BIG_ENDIAN
readFixed($mantissaBits, $fractionBits, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)
__construct(Zend_Pdf_FileParserDataSource $dataSource)
const BYTE_ORDER_LITTLE_ENDIAN
readStringUTF16($byteCount, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN, $characterSet='')
readUInt($size, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)