Differences Between: [Versions 310 and 311] [Versions 39 and 311]
1 <?php 2 3 /** 4 * This file is part of FPDI 5 * 6 * @package setasign\Fpdi 7 * @copyright Copyright (c) 2020 Setasign GmbH & Co. KG (https://www.setasign.com) 8 * @license http://opensource.org/licenses/mit-license The MIT License 9 */ 10 11 namespace setasign\Fpdi\PdfParser\Type; 12 13 use setasign\Fpdi\PdfParser\PdfParser; 14 use setasign\Fpdi\PdfParser\StreamReader; 15 use setasign\Fpdi\PdfParser\Tokenizer; 16 17 /** 18 * Class representing an indirect object 19 */ 20 class PdfIndirectObject extends PdfType 21 { 22 /** 23 * Parses an indirect object from a tokenizer, parser and stream-reader. 24 * 25 * @param int $objectNumberToken 26 * @param int $objectGenerationNumberToken 27 * @param PdfParser $parser 28 * @param Tokenizer $tokenizer 29 * @param StreamReader $reader 30 * @return bool|self 31 * @throws PdfTypeException 32 */ 33 public static function parse( 34 $objectNumberToken, 35 $objectGenerationNumberToken, 36 PdfParser $parser, 37 Tokenizer $tokenizer, 38 StreamReader $reader 39 ) { 40 $value = $parser->readValue(); 41 if ($value === false) { 42 return false; 43 } 44 45 $nextToken = $tokenizer->getNextToken(); 46 if ($nextToken === 'stream') { 47 $value = PdfStream::parse($value, $reader, $parser); 48 } elseif ($nextToken !== false) { 49 $tokenizer->pushStack($nextToken); 50 } 51 52 $v = new self(); 53 $v->objectNumber = (int) $objectNumberToken; 54 $v->generationNumber = (int) $objectGenerationNumberToken; 55 $v->value = $value; 56 57 return $v; 58 } 59 60 /** 61 * Helper method to create an instance. 62 * 63 * @param int $objectNumber 64 * @param int $generationNumber 65 * @param PdfType $value 66 * @return self 67 */ 68 public static function create($objectNumber, $generationNumber, PdfType $value) 69 { 70 $v = new self(); 71 $v->objectNumber = (int) $objectNumber; 72 $v->generationNumber = (int) $generationNumber; 73 $v->value = $value; 74 75 return $v; 76 } 77 78 /** 79 * Ensures that the passed value is a PdfIndirectObject instance. 80 * 81 * @param mixed $indirectObject 82 * @return self 83 * @throws PdfTypeException 84 */ 85 public static function ensure($indirectObject) 86 { 87 return PdfType::ensureType(self::class, $indirectObject, 'Indirect object expected.'); 88 } 89 90 /** 91 * The object number. 92 * 93 * @var int 94 */ 95 public $objectNumber; 96 97 /** 98 * The generation number. 99 * 100 * @var int 101 */ 102 public $generationNumber; 103 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body