1<?php 2namespace Dompdf; 3 4class Options 5{ 6 /** 7 * The root of your DOMPDF installation 8 * 9 * @var string 10 */ 11 private $rootDir; 12 13 /** 14 * The location of a temporary directory. 15 * 16 * The directory specified must be writable by the webserver process. 17 * The temporary directory is required to download remote images and when 18 * using the PFDLib back end. 19 * 20 * @var string 21 */ 22 private $tempDir; 23 24 /** 25 * The location of the DOMPDF font directory 26 * 27 * The location of the directory where DOMPDF will store fonts and font metrics 28 * Note: This directory must exist and be writable by the webserver process. 29 * 30 * @var string 31 */ 32 private $fontDir; 33 34 /** 35 * The location of the DOMPDF font cache directory 36 * 37 * This directory contains the cached font metrics for the fonts used by DOMPDF. 38 * This directory can be the same as $fontDir 39 * 40 * Note: This directory must exist and be writable by the webserver process. 41 * 42 * @var string 43 */ 44 private $fontCache; 45 46 /** 47 * dompdf's "chroot" 48 * 49 * Prevents dompdf from accessing system files or other files on the webserver. 50 * All local files opened by dompdf must be in a subdirectory of this directory. 51 * DO NOT set it to '/' since this could allow an attacker to use dompdf to 52 * read any files on the server. This should be an absolute path. 53 * 54 * ==== IMPORTANT ==== 55 * This setting may increase the risk of system exploit. Do not change 56 * this settings without understanding the consequences. Additional 57 * documentation is available on the dompdf wiki at: 58 * https://github.com/dompdf/dompdf/wiki 59 * 60 * @var string 61 */ 62 private $chroot; 63 64 /** 65 * @var string 66 */ 67 private $logOutputFile; 68 69 /** 70 * html target media view which should be rendered into pdf. 71 * List of types and parsing rules for future extensions: 72 * http://www.w3.org/TR/REC-html40/types.html 73 * screen, tty, tv, projection, handheld, print, braille, aural, all 74 * Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3. 75 * Note, even though the generated pdf file is intended for print output, 76 * the desired content might be different (e.g. screen or projection view of html file). 77 * Therefore allow specification of content here. 78 * 79 * @var string 80 */ 81 private $defaultMediaType = "screen"; 82 83 /** 84 * The default paper size. 85 * 86 * North America standard is "letter"; other countries generally "a4" 87 * @see \Dompdf\Adapter\CPDF::PAPER_SIZES for valid sizes 88 * 89 * @var string 90 */ 91 private $defaultPaperSize = "letter"; 92 93 /** 94 * The default paper orientation. 95 * 96 * The orientation of the page (portrait or landscape). 97 * 98 * @var string 99 */ 100 private $defaultPaperOrientation = "portrait"; 101 102 /** 103 * The default font family 104 * 105 * Used if no suitable fonts can be found. This must exist in the font folder. 106 * 107 * @var string 108 */ 109 private $defaultFont = "serif"; 110 111 /** 112 * Image DPI setting 113 * 114 * This setting determines the default DPI setting for images and fonts. The 115 * DPI may be overridden for inline images by explicitly setting the 116 * image's width & height style attributes (i.e. if the image's native 117 * width is 600 pixels and you specify the image's width as 72 points, 118 * the image will have a DPI of 600 in the rendered PDF. The DPI of 119 * background images can not be overridden and is controlled entirely 120 * via this parameter. 121 * 122 * For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI). 123 * If a size in html is given as px (or without unit as image size), 124 * this tells the corresponding size in pt at 72 DPI. 125 * This adjusts the relative sizes to be similar to the rendering of the 126 * html page in a reference browser. 127 * 128 * In pdf, always 1 pt = 1/72 inch 129 * 130 * @var int 131 */ 132 private $dpi = 96; 133 134 /** 135 * A ratio applied to the fonts height to be more like browsers' line height 136 * 137 * @var float 138 */ 139 private $fontHeightRatio = 1.1; 140 141 /** 142 * Enable embedded PHP 143 * 144 * If this setting is set to true then DOMPDF will automatically evaluate 145 * embedded PHP contained within <script type="text/php"> ... </script> tags. 146 * 147 * ==== IMPORTANT ==== 148 * Enabling this for documents you do not trust (e.g. arbitrary remote html 149 * pages) is a security risk. Embedded scripts are run with the same level of 150 * system access available to dompdf. Set this option to false (recommended) 151 * if you wish to process untrusted documents. 152 * 153 * This setting may increase the risk of system exploit. Do not change 154 * this settings without understanding the consequences. Additional 155 * documentation is available on the dompdf wiki at: 156 * https://github.com/dompdf/dompdf/wiki 157 * 158 * @var bool 159 */ 160 private $isPhpEnabled = false; 161 162 /** 163 * Enable remote file access 164 * 165 * If this setting is set to true, DOMPDF will access remote sites for 166 * images and CSS files as required. 167 * 168 * ==== IMPORTANT ==== 169 * This can be a security risk, in particular in combination with isPhpEnabled and 170 * allowing remote html code to be passed to $dompdf = new DOMPDF(); $dompdf->load_html(...); 171 * This allows anonymous users to download legally doubtful internet content which on 172 * tracing back appears to being downloaded by your server, or allows malicious php code 173 * in remote html pages to be executed by your server with your account privileges. 174 * 175 * This setting may increase the risk of system exploit. Do not change 176 * this settings without understanding the consequences. Additional 177 * documentation is available on the dompdf wiki at: 178 * https://github.com/dompdf/dompdf/wiki 179 * 180 * @var bool 181 */ 182 private $isRemoteEnabled = false; 183 184 /** 185 * Enable inline Javascript 186 * 187 * If this setting is set to true then DOMPDF will automatically insert 188 * JavaScript code contained within <script type="text/javascript"> ... </script> tags. 189 * 190 * @var bool 191 */ 192 private $isJavascriptEnabled = true; 193 194 /** 195 * Use the more-than-experimental HTML5 Lib parser 196 * 197 * @var bool 198 */ 199 private $isHtml5ParserEnabled = false; 200 201 /** 202 * Whether to enable font subsetting or not. 203 * 204 * @var bool 205 */ 206 private $isFontSubsettingEnabled = false; 207 208 /** 209 * @var bool 210 */ 211 private $debugPng = false; 212 213 /** 214 * @var bool 215 */ 216 private $debugKeepTemp = false; 217 218 /** 219 * @var bool 220 */ 221 private $debugCss = false; 222 223 /** 224 * @var bool 225 */ 226 private $debugLayout = false; 227 228 /** 229 * @var bool 230 */ 231 private $debugLayoutLines = true; 232 233 /** 234 * @var bool 235 */ 236 private $debugLayoutBlocks = true; 237 238 /** 239 * @var bool 240 */ 241 private $debugLayoutInline = true; 242 243 /** 244 * @var bool 245 */ 246 private $debugLayoutPaddingBox = true; 247 248 /** 249 * The PDF rendering backend to use 250 * 251 * Valid settings are 'PDFLib', 'CPDF', 'GD', and 'auto'. 'auto' will 252 * look for PDFLib and use it if found, or if not it will fall back on 253 * CPDF. 'GD' renders PDFs to graphic files. {@link Dompdf\CanvasFactory} 254 * ultimately determines which rendering class to instantiate 255 * based on this setting. 256 * 257 * @var string 258 */ 259 private $pdfBackend = "CPDF"; 260 261 /** 262 * PDFlib license key 263 * 264 * If you are using a licensed, commercial version of PDFlib, specify 265 * your license key here. If you are using PDFlib-Lite or are evaluating 266 * the commercial version of PDFlib, comment out this setting. 267 * 268 * @link http://www.pdflib.com 269 * 270 * If pdflib present in web server and auto or selected explicitly above, 271 * a real license code must exist! 272 * 273 * @var string 274 */ 275 private $pdflibLicense = ""; 276 277 /** 278 * @var string 279 * @deprecated 280 */ 281 private $adminUsername = "user"; 282 283 /** 284 * @var string 285 * @deprecated 286 */ 287 private $adminPassword = "password"; 288 289 /** 290 * @param array $attributes 291 */ 292 public function __construct(array $attributes = null) 293 { 294 $this->setChroot(realpath(__DIR__ . "/../")); 295 $this->setRootDir($this->getChroot()); 296 $this->setTempDir(sys_get_temp_dir()); 297 $this->setFontDir($this->chroot . DIRECTORY_SEPARATOR . "lib" . DIRECTORY_SEPARATOR . "fonts"); 298 $this->setFontCache($this->getFontDir()); 299 $this->setLogOutputFile($this->getTempDir() . DIRECTORY_SEPARATOR . "log.htm"); 300 301 if (null !== $attributes) { 302 $this->set($attributes); 303 } 304 } 305 306 /** 307 * @param array|string $attributes 308 * @param null|mixed $value 309 * @return $this 310 */ 311 public function set($attributes, $value = null) 312 { 313 if (!is_array($attributes)) { 314 $attributes = array($attributes => $value); 315 } 316 foreach ($attributes as $key => $value) { 317 if ($key === 'tempDir' || $key === 'temp_dir') { 318 $this->setTempDir($value); 319 } elseif ($key === 'fontDir' || $key === 'font_dir') { 320 $this->setFontDir($value); 321 } elseif ($key === 'fontCache' || $key === 'font_cache') { 322 $this->setFontCache($value); 323 } elseif ($key === 'chroot') { 324 $this->setChroot($value); 325 } elseif ($key === 'logOutputFile' || $key === 'log_output_file') { 326 $this->setLogOutputFile($value); 327 } elseif ($key === 'defaultMediaType' || $key === 'default_media_type') { 328 $this->setDefaultMediaType($value); 329 } elseif ($key === 'defaultPaperSize' || $key === 'default_paper_size') { 330 $this->setDefaultPaperSize($value); 331 } elseif ($key === 'defaultPaperOrientation' || $key === 'default_paper_orientation') { 332 $this->setDefaultPaperOrientation($value); 333 } elseif ($key === 'defaultFont' || $key === 'default_font') { 334 $this->setDefaultFont($value); 335 } elseif ($key === 'dpi') { 336 $this->setDpi($value); 337 } elseif ($key === 'fontHeightRatio' || $key === 'font_height_ratio') { 338 $this->setFontHeightRatio($value); 339 } elseif ($key === 'isPhpEnabled' || $key === 'is_php_enabled' || $key === 'enable_php') { 340 $this->setIsPhpEnabled($value); 341 } elseif ($key === 'isRemoteEnabled' || $key === 'is_remote_enabled' || $key === 'enable_remote') { 342 $this->setIsRemoteEnabled($value); 343 } elseif ($key === 'isJavascriptEnabled' || $key === 'is_javascript_enabled' || $key === 'enable_javascript') { 344 $this->setIsJavascriptEnabled($value); 345 } elseif ($key === 'isHtml5ParserEnabled' || $key === 'is_html5_parser_enabled' || $key === 'enable_html5_parser') { 346 $this->setIsHtml5ParserEnabled($value); 347 } elseif ($key === 'isFontSubsettingEnabled' || $key === 'is_font_subsetting_enabled' || $key === 'enable_font_subsetting') { 348 $this->setIsFontSubsettingEnabled($value); 349 } elseif ($key === 'debugPng' || $key === 'debug_png') { 350 $this->setDebugPng($value); 351 } elseif ($key === 'debugKeepTemp' || $key === 'debug_keep_temp') { 352 $this->setDebugKeepTemp($value); 353 } elseif ($key === 'debugCss' || $key === 'debug_css') { 354 $this->setDebugCss($value); 355 } elseif ($key === 'debugLayout' || $key === 'debug_layout') { 356 $this->setDebugLayout($value); 357 } elseif ($key === 'debugLayoutLines' || $key === 'debug_layout_lines') { 358 $this->setDebugLayoutLines($value); 359 } elseif ($key === 'debugLayoutBlocks' || $key === 'debug_layout_blocks') { 360 $this->setDebugLayoutBlocks($value); 361 } elseif ($key === 'debugLayoutInline' || $key === 'debug_layout_inline') { 362 $this->setDebugLayoutInline($value); 363 } elseif ($key === 'debugLayoutPaddingBox' || $key === 'debug_layout_padding_box') { 364 $this->setDebugLayoutPaddingBox($value); 365 } elseif ($key === 'pdfBackend' || $key === 'pdf_backend') { 366 $this->setPdfBackend($value); 367 } elseif ($key === 'pdflibLicense' || $key === 'pdflib_license') { 368 $this->setPdflibLicense($value); 369 } elseif ($key === 'adminUsername' || $key === 'admin_username') { 370 $this->setAdminUsername($value); 371 } elseif ($key === 'adminPassword' || $key === 'admin_password') { 372 $this->setAdminPassword($value); 373 } 374 } 375 return $this; 376 } 377 378 /** 379 * @param string $key 380 * @return mixed 381 */ 382 public function get($key) 383 { 384 if ($key === 'tempDir' || $key === 'temp_dir') { 385 return $this->getTempDir(); 386 } elseif ($key === 'fontDir' || $key === 'font_dir') { 387 return $this->getFontDir(); 388 } elseif ($key === 'fontCache' || $key === 'font_cache') { 389 return $this->getFontCache(); 390 } elseif ($key === 'chroot') { 391 return $this->getChroot(); 392 } elseif ($key === 'logOutputFile' || $key === 'log_output_file') { 393 return $this->getLogOutputFile(); 394 } elseif ($key === 'defaultMediaType' || $key === 'default_media_type') { 395 return $this->getDefaultMediaType(); 396 } elseif ($key === 'defaultPaperSize' || $key === 'default_paper_size') { 397 return $this->getDefaultPaperSize(); 398 } elseif ($key === 'defaultPaperOrientation' || $key === 'default_paper_orientation') { 399 return $this->getDefaultPaperOrientation(); 400 } elseif ($key === 'defaultFont' || $key === 'default_font') { 401 return $this->getDefaultFont(); 402 } elseif ($key === 'dpi') { 403 return $this->getDpi(); 404 } elseif ($key === 'fontHeightRatio' || $key === 'font_height_ratio') { 405 return $this->getFontHeightRatio(); 406 } elseif ($key === 'isPhpEnabled' || $key === 'is_php_enabled' || $key === 'enable_php') { 407 return $this->getIsPhpEnabled(); 408 } elseif ($key === 'isRemoteEnabled' || $key === 'is_remote_enabled' || $key === 'enable_remote') { 409 return $this->getIsRemoteEnabled(); 410 } elseif ($key === 'isJavascriptEnabled' || $key === 'is_javascript_enabled' || $key === 'enable_javascript') { 411 return $this->getIsJavascriptEnabled(); 412 } elseif ($key === 'isHtml5ParserEnabled' || $key === 'is_html5_parser_enabled' || $key === 'enable_html5_parser') { 413 return $this->getIsHtml5ParserEnabled(); 414 } elseif ($key === 'isFontSubsettingEnabled' || $key === 'is_font_subsetting_enabled' || $key === 'enable_font_subsetting') { 415 return $this->getIsFontSubsettingEnabled(); 416 } elseif ($key === 'debugPng' || $key === 'debug_png') { 417 return $this->getDebugPng(); 418 } elseif ($key === 'debugKeepTemp' || $key === 'debug_keep_temp') { 419 return $this->getDebugKeepTemp(); 420 } elseif ($key === 'debugCss' || $key === 'debug_css') { 421 return $this->getDebugCss(); 422 } elseif ($key === 'debugLayout' || $key === 'debug_layout') { 423 return $this->getDebugLayout(); 424 } elseif ($key === 'debugLayoutLines' || $key === 'debug_layout_lines') { 425 return $this->getDebugLayoutLines(); 426 } elseif ($key === 'debugLayoutBlocks' || $key === 'debug_layout_blocks') { 427 return $this->getDebugLayoutBlocks(); 428 } elseif ($key === 'debugLayoutInline' || $key === 'debug_layout_inline') { 429 return $this->getDebugLayoutInline(); 430 } elseif ($key === 'debugLayoutPaddingBox' || $key === 'debug_layout_padding_box') { 431 return $this->getDebugLayoutPaddingBox(); 432 } elseif ($key === 'pdfBackend' || $key === 'pdf_backend') { 433 return $this->getPdfBackend(); 434 } elseif ($key === 'pdflibLicense' || $key === 'pdflib_license') { 435 return $this->getPdflibLicense(); 436 } elseif ($key === 'adminUsername' || $key === 'admin_username') { 437 return $this->getAdminUsername(); 438 } elseif ($key === 'adminPassword' || $key === 'admin_password') { 439 return $this->getAdminPassword(); 440 } 441 return null; 442 } 443 444 /** 445 * @param string $adminPassword 446 * @return $this 447 */ 448 public function setAdminPassword($adminPassword) 449 { 450 $this->adminPassword = $adminPassword; 451 return $this; 452 } 453 454 /** 455 * @return string 456 */ 457 public function getAdminPassword() 458 { 459 return $this->adminPassword; 460 } 461 462 /** 463 * @param string $adminUsername 464 * @return $this 465 */ 466 public function setAdminUsername($adminUsername) 467 { 468 $this->adminUsername = $adminUsername; 469 return $this; 470 } 471 472 /** 473 * @return string 474 */ 475 public function getAdminUsername() 476 { 477 return $this->adminUsername; 478 } 479 480 /** 481 * @param string $pdfBackend 482 * @return $this 483 */ 484 public function setPdfBackend($pdfBackend) 485 { 486 $this->pdfBackend = $pdfBackend; 487 return $this; 488 } 489 490 /** 491 * @return string 492 */ 493 public function getPdfBackend() 494 { 495 return $this->pdfBackend; 496 } 497 498 /** 499 * @param string $pdflibLicense 500 * @return $this 501 */ 502 public function setPdflibLicense($pdflibLicense) 503 { 504 $this->pdflibLicense = $pdflibLicense; 505 return $this; 506 } 507 508 /** 509 * @return string 510 */ 511 public function getPdflibLicense() 512 { 513 return $this->pdflibLicense; 514 } 515 516 /** 517 * @param string $chroot 518 * @return $this 519 */ 520 public function setChroot($chroot) 521 { 522 $this->chroot = $chroot; 523 return $this; 524 } 525 526 /** 527 * @return string 528 */ 529 public function getChroot() 530 { 531 return $this->chroot; 532 } 533 534 /** 535 * @param boolean $debugCss 536 * @return $this 537 */ 538 public function setDebugCss($debugCss) 539 { 540 $this->debugCss = $debugCss; 541 return $this; 542 } 543 544 /** 545 * @return boolean 546 */ 547 public function getDebugCss() 548 { 549 return $this->debugCss; 550 } 551 552 /** 553 * @param boolean $debugKeepTemp 554 * @return $this 555 */ 556 public function setDebugKeepTemp($debugKeepTemp) 557 { 558 $this->debugKeepTemp = $debugKeepTemp; 559 return $this; 560 } 561 562 /** 563 * @return boolean 564 */ 565 public function getDebugKeepTemp() 566 { 567 return $this->debugKeepTemp; 568 } 569 570 /** 571 * @param boolean $debugLayout 572 * @return $this 573 */ 574 public function setDebugLayout($debugLayout) 575 { 576 $this->debugLayout = $debugLayout; 577 return $this; 578 } 579 580 /** 581 * @return boolean 582 */ 583 public function getDebugLayout() 584 { 585 return $this->debugLayout; 586 } 587 588 /** 589 * @param boolean $debugLayoutBlocks 590 * @return $this 591 */ 592 public function setDebugLayoutBlocks($debugLayoutBlocks) 593 { 594 $this->debugLayoutBlocks = $debugLayoutBlocks; 595 return $this; 596 } 597 598 /** 599 * @return boolean 600 */ 601 public function getDebugLayoutBlocks() 602 { 603 return $this->debugLayoutBlocks; 604 } 605 606 /** 607 * @param boolean $debugLayoutInline 608 * @return $this 609 */ 610 public function setDebugLayoutInline($debugLayoutInline) 611 { 612 $this->debugLayoutInline = $debugLayoutInline; 613 return $this; 614 } 615 616 /** 617 * @return boolean 618 */ 619 public function getDebugLayoutInline() 620 { 621 return $this->debugLayoutInline; 622 } 623 624 /** 625 * @param boolean $debugLayoutLines 626 * @return $this 627 */ 628 public function setDebugLayoutLines($debugLayoutLines) 629 { 630 $this->debugLayoutLines = $debugLayoutLines; 631 return $this; 632 } 633 634 /** 635 * @return boolean 636 */ 637 public function getDebugLayoutLines() 638 { 639 return $this->debugLayoutLines; 640 } 641 642 /** 643 * @param boolean $debugLayoutPaddingBox 644 * @return $this 645 */ 646 public function setDebugLayoutPaddingBox($debugLayoutPaddingBox) 647 { 648 $this->debugLayoutPaddingBox = $debugLayoutPaddingBox; 649 return $this; 650 } 651 652 /** 653 * @return boolean 654 */ 655 public function getDebugLayoutPaddingBox() 656 { 657 return $this->debugLayoutPaddingBox; 658 } 659 660 /** 661 * @param boolean $debugPng 662 * @return $this 663 */ 664 public function setDebugPng($debugPng) 665 { 666 $this->debugPng = $debugPng; 667 return $this; 668 } 669 670 /** 671 * @return boolean 672 */ 673 public function getDebugPng() 674 { 675 return $this->debugPng; 676 } 677 678 /** 679 * @param string $defaultFont 680 * @return $this 681 */ 682 public function setDefaultFont($defaultFont) 683 { 684 $this->defaultFont = $defaultFont; 685 return $this; 686 } 687 688 /** 689 * @return string 690 */ 691 public function getDefaultFont() 692 { 693 return $this->defaultFont; 694 } 695 696 /** 697 * @param string $defaultMediaType 698 * @return $this 699 */ 700 public function setDefaultMediaType($defaultMediaType) 701 { 702 $this->defaultMediaType = $defaultMediaType; 703 return $this; 704 } 705 706 /** 707 * @return string 708 */ 709 public function getDefaultMediaType() 710 { 711 return $this->defaultMediaType; 712 } 713 714 /** 715 * @param string $defaultPaperSize 716 * @return $this 717 */ 718 public function setDefaultPaperSize($defaultPaperSize) 719 { 720 $this->defaultPaperSize = $defaultPaperSize; 721 return $this; 722 } 723 724 /** 725 * @param string $defaultPaperOrientation 726 * @return $this 727 */ 728 public function setDefaultPaperOrientation($defaultPaperOrientation) 729 { 730 $this->defaultPaperOrientation = $defaultPaperOrientation; 731 return $this; 732 } 733 734 /** 735 * @return string 736 */ 737 public function getDefaultPaperSize() 738 { 739 return $this->defaultPaperSize; 740 } 741 742 /** 743 * @return string 744 */ 745 public function getDefaultPaperOrientation() 746 { 747 return $this->defaultPaperOrientation; 748 } 749 750 /** 751 * @param int $dpi 752 * @return $this 753 */ 754 public function setDpi($dpi) 755 { 756 $this->dpi = $dpi; 757 return $this; 758 } 759 760 /** 761 * @return int 762 */ 763 public function getDpi() 764 { 765 return $this->dpi; 766 } 767 768 /** 769 * @param string $fontCache 770 * @return $this 771 */ 772 public function setFontCache($fontCache) 773 { 774 $this->fontCache = $fontCache; 775 return $this; 776 } 777 778 /** 779 * @return string 780 */ 781 public function getFontCache() 782 { 783 return $this->fontCache; 784 } 785 786 /** 787 * @param string $fontDir 788 * @return $this 789 */ 790 public function setFontDir($fontDir) 791 { 792 $this->fontDir = $fontDir; 793 return $this; 794 } 795 796 /** 797 * @return string 798 */ 799 public function getFontDir() 800 { 801 return $this->fontDir; 802 } 803 804 /** 805 * @param float $fontHeightRatio 806 * @return $this 807 */ 808 public function setFontHeightRatio($fontHeightRatio) 809 { 810 $this->fontHeightRatio = $fontHeightRatio; 811 return $this; 812 } 813 814 /** 815 * @return float 816 */ 817 public function getFontHeightRatio() 818 { 819 return $this->fontHeightRatio; 820 } 821 822 /** 823 * @param boolean $isFontSubsettingEnabled 824 * @return $this 825 */ 826 public function setIsFontSubsettingEnabled($isFontSubsettingEnabled) 827 { 828 $this->isFontSubsettingEnabled = $isFontSubsettingEnabled; 829 return $this; 830 } 831 832 /** 833 * @return boolean 834 */ 835 public function getIsFontSubsettingEnabled() 836 { 837 return $this->isFontSubsettingEnabled; 838 } 839 840 /** 841 * @return boolean 842 */ 843 public function isFontSubsettingEnabled() 844 { 845 return $this->getIsFontSubsettingEnabled(); 846 } 847 848 /** 849 * @param boolean $isHtml5ParserEnabled 850 * @return $this 851 */ 852 public function setIsHtml5ParserEnabled($isHtml5ParserEnabled) 853 { 854 $this->isHtml5ParserEnabled = $isHtml5ParserEnabled; 855 return $this; 856 } 857 858 /** 859 * @return boolean 860 */ 861 public function getIsHtml5ParserEnabled() 862 { 863 return $this->isHtml5ParserEnabled; 864 } 865 866 /** 867 * @return boolean 868 */ 869 public function isHtml5ParserEnabled() 870 { 871 return $this->getIsHtml5ParserEnabled(); 872 } 873 874 /** 875 * @param boolean $isJavascriptEnabled 876 * @return $this 877 */ 878 public function setIsJavascriptEnabled($isJavascriptEnabled) 879 { 880 $this->isJavascriptEnabled = $isJavascriptEnabled; 881 return $this; 882 } 883 884 /** 885 * @return boolean 886 */ 887 public function getIsJavascriptEnabled() 888 { 889 return $this->isJavascriptEnabled; 890 } 891 892 /** 893 * @return boolean 894 */ 895 public function isJavascriptEnabled() 896 { 897 return $this->getIsJavascriptEnabled(); 898 } 899 900 /** 901 * @param boolean $isPhpEnabled 902 * @return $this 903 */ 904 public function setIsPhpEnabled($isPhpEnabled) 905 { 906 $this->isPhpEnabled = $isPhpEnabled; 907 return $this; 908 } 909 910 /** 911 * @return boolean 912 */ 913 public function getIsPhpEnabled() 914 { 915 return $this->isPhpEnabled; 916 } 917 918 /** 919 * @return boolean 920 */ 921 public function isPhpEnabled() 922 { 923 return $this->getIsPhpEnabled(); 924 } 925 926 /** 927 * @param boolean $isRemoteEnabled 928 * @return $this 929 */ 930 public function setIsRemoteEnabled($isRemoteEnabled) 931 { 932 $this->isRemoteEnabled = $isRemoteEnabled; 933 return $this; 934 } 935 936 /** 937 * @return boolean 938 */ 939 public function getIsRemoteEnabled() 940 { 941 return $this->isRemoteEnabled; 942 } 943 944 /** 945 * @return boolean 946 */ 947 public function isRemoteEnabled() 948 { 949 return $this->getIsRemoteEnabled(); 950 } 951 952 /** 953 * @param string $logOutputFile 954 * @return $this 955 */ 956 public function setLogOutputFile($logOutputFile) 957 { 958 $this->logOutputFile = $logOutputFile; 959 return $this; 960 } 961 962 /** 963 * @return string 964 */ 965 public function getLogOutputFile() 966 { 967 return $this->logOutputFile; 968 } 969 970 /** 971 * @param string $tempDir 972 * @return $this 973 */ 974 public function setTempDir($tempDir) 975 { 976 $this->tempDir = $tempDir; 977 return $this; 978 } 979 980 /** 981 * @return string 982 */ 983 public function getTempDir() 984 { 985 return $this->tempDir; 986 } 987 988 /** 989 * @param string $rootDir 990 * @return $this 991 */ 992 public function setRootDir($rootDir) 993 { 994 $this->rootDir = $rootDir; 995 return $this; 996 } 997 998 /** 999 * @return string 1000 */ 1001 public function getRootDir() 1002 { 1003 return $this->rootDir; 1004 } 1005}