See Release Notes
Long Term Support Release
Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]
1 <?php 2 /** 3 * This file is part of FPDI 4 * 5 * @package setasign\Fpdi 6 * @copyright Copyright (c) 2019 Setasign - Jan Slabon (https://www.setasign.com) 7 * @license http://opensource.org/licenses/mit-license The MIT License 8 */ 9 10 namespace setasign\Fpdi\PdfParser\Type; 11 12 use setasign\Fpdi\PdfParser\CrossReference\CrossReferenceException; 13 use setasign\Fpdi\PdfParser\PdfParser; 14 use setasign\Fpdi\PdfParser\PdfParserException; 15 16 /** 17 * A class defining a PDF data type 18 * 19 * @package setasign\Fpdi\PdfParser\Type 20 */ 21 class PdfType 22 { 23 /** 24 * Resolves a PdfType value to its value. 25 * 26 * This method is used to evaluate indirect and direct object references until a final value is reached. 27 * 28 * @param PdfType $value 29 * @param PdfParser $parser 30 * @param bool $stopAtIndirectObject 31 * @return PdfType 32 * @throws CrossReferenceException 33 * @throws PdfParserException 34 */ 35 public static function resolve(PdfType $value, PdfParser $parser, $stopAtIndirectObject = false) 36 { 37 if ($value instanceof PdfIndirectObject) { 38 if ($stopAtIndirectObject === true) { 39 return $value; 40 } 41 42 return self::resolve($value->value, $parser, $stopAtIndirectObject); 43 } 44 45 if ($value instanceof PdfIndirectObjectReference) { 46 return self::resolve($parser->getIndirectObject($value->value), $parser, $stopAtIndirectObject); 47 } 48 49 return $value; 50 } 51 52 /** 53 * Ensure that a value is an instance of a specific PDF type. 54 * 55 * @param string $type 56 * @param PdfType $value 57 * @param string $errorMessage 58 * @return mixed 59 * @throws PdfTypeException 60 */ 61 protected static function ensureType($type, $value, $errorMessage) 62 { 63 if (!($value instanceof $type)) { 64 throw new PdfTypeException( 65 $errorMessage, 66 PdfTypeException::INVALID_DATA_TYPE 67 ); 68 } 69 70 return $value; 71 } 72 73 /** 74 * The value of the PDF type. 75 * 76 * @var mixed 77 */ 78 public $value; 79 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body