1<?php 2/** 3 * This file is part of FPDI 4 * 5 * @package setasign\Fpdi 6 * @copyright Copyright (c) 2020 Setasign GmbH & Co. KG (https://www.setasign.com) 7 * @license http://opensource.org/licenses/mit-license The MIT License 8 */ 9 10namespace setasign\Fpdi\PdfReader; 11 12/** 13 * An abstract class for page boundary constants and some helper methods 14 * 15 * @package setasign\Fpdi\PdfReader 16 */ 17abstract class PageBoundaries 18{ 19 /** 20 * MediaBox 21 * 22 * The media box defines the boundaries of the physical medium on which the page is to be printed. 23 * 24 * @see PDF 32000-1:2008 - 14.11.2 Page Boundaries 25 * @var string 26 */ 27 const MEDIA_BOX = 'MediaBox'; 28 29 /** 30 * CropBox 31 * 32 * The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or 33 * printed. 34 * 35 * @see PDF 32000-1:2008 - 14.11.2 Page Boundaries 36 * @var string 37 */ 38 const CROP_BOX = 'CropBox'; 39 40 /** 41 * BleedBox 42 * 43 * The bleed box defines the region to which the contents of the page shall be clipped when output in a 44 * production environment. 45 * 46 * @see PDF 32000-1:2008 - 14.11.2 Page Boundaries 47 * @var string 48 */ 49 const BLEED_BOX = 'BleedBox'; 50 51 /** 52 * TrimBox 53 * 54 * The trim box defines the intended dimensions of the finished page after trimming. 55 * 56 * @see PDF 32000-1:2008 - 14.11.2 Page Boundaries 57 * @var string 58 */ 59 const TRIM_BOX = 'TrimBox'; 60 61 /** 62 * ArtBox 63 * 64 * The art box defines the extent of the page’s meaningful content (including potential white space) as intended 65 * by the page’s creator. 66 * 67 * @see PDF 32000-1:2008 - 14.11.2 Page Boundaries 68 * @var string 69 */ 70 const ART_BOX = 'ArtBox'; 71 72 /** 73 * All page boundaries 74 * 75 * @var array 76 */ 77 public static $all = array( 78 self::MEDIA_BOX, 79 self::CROP_BOX, 80 self::BLEED_BOX, 81 self::TRIM_BOX, 82 self::ART_BOX 83 ); 84 85 /** 86 * Checks if a name is a valid page boundary name. 87 * 88 * @param string $name The boundary name 89 * @return boolean A boolean value whether the name is valid or not. 90 */ 91 public static function isValidName($name) 92 { 93 return \in_array($name, self::$all, true); 94 } 95} 96