| return [ | |
| /* | |
| |-------------------------------------------------------------------------- | |
| | Settings | |
| |-------------------------------------------------------------------------- | |
| | | |
| | Set some default values. It is possible to add all defines that can be set | |
| | in dompdf_config.inc.php. You can also override the entire config file. | |
| | | |
| */ | |
| 'show_warnings' => false, // Throw an Exception on warnings from dompdf | |
| 'public_path' => null, // Override the public path if needed | |
| /* | |
| * Dejavu Sans font is missing glyphs for converted entities, turn it off if you need to show € and £. | |
| */ | |
| 'convert_entities' => true, | |
| 'options' => [ | |
| /** | |
| * The location of the DOMPDF font directory | |
| * | |
| * The location of the directory where DOMPDF will store fonts and font metrics | |
| * Note: This directory must exist and be writable by the webserver process. | |
| * *Please note the trailing slash.* | |
| * | |
| * Notes regarding fonts: | |
| * Additional .afm font metrics can be added by executing load_font.php from command line. | |
| * | |
| * Only the original "Base 14 fonts" are present on all pdf viewers. Additional fonts must | |
| * be embedded in the pdf file or the PDF may not display correctly. This can significantly | |
| * increase file size unless font subsetting is enabled. Before embedding a font please | |
| * review your rights under the font license. | |
| * | |
| * Any font specification in the source HTML is translated to the closest font available | |
| * in the font directory. | |
| * | |
| * The pdf standard "Base 14 fonts" are: | |
| * Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique, | |
| * Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique, | |
| * Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic, | |
| * Symbol, ZapfDingbats. | |
| */ | |
| 'font_dir' => storage_path('fonts'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782) | |
| /** | |
| * The location of the DOMPDF font cache directory | |
| * | |
| * This directory contains the cached font metrics for the fonts used by DOMPDF. | |
| * This directory can be the same as DOMPDF_FONT_DIR | |
| * | |
| * Note: This directory must exist and be writable by the webserver process. | |
| */ | |
| 'font_cache' => storage_path('fonts'), | |
| /** | |
| * The location of a temporary directory. | |
| * | |
| * The directory specified must be writeable by the webserver process. | |
| * The temporary directory is required to download remote images and when | |
| * using the PDFLib back end. | |
| */ | |
| 'temp_dir' => sys_get_temp_dir(), | |
| /** | |
| * ==== IMPORTANT ==== | |
| * | |
| * dompdf's "chroot": Prevents dompdf from accessing system files or other | |
| * files on the webserver. All local files opened by dompdf must be in a | |
| * subdirectory of this directory. DO NOT set it to '/' since this could | |
| * allow an attacker to use dompdf to read any files on the server. This | |
| * should be an absolute path. | |
| * This is only checked on command line call by dompdf.php, but not by | |
| * direct class use like: | |
| * $dompdf = new DOMPDF(); $dompdf->load_html($htmldata); $dompdf->render(); $pdfdata = $dompdf->output(); | |
| */ | |
| 'chroot' => realpath(base_path()), | |
| /** | |
| * Protocol whitelist | |
| * | |
| * Protocols and PHP wrappers allowed in URIs, and the validation rules | |
| * that determine if a resouce may be loaded. Full support is not guaranteed | |
| * for the protocols/wrappers specified | |
| * by this array. | |
| * | |
| * @var array | |
| */ | |
| 'allowed_protocols' => [ | |
| 'file://' => ['rules' => []], | |
| 'http://' => ['rules' => []], | |
| 'https://' => ['rules' => []], | |
| ], | |
| /** | |
| * Operational artifact (log files, temporary files) path validation | |
| */ | |
| 'artifactPathValidation' => null, | |
| /** | |
| * @var string | |
| */ | |
| 'log_output_file' => null, | |
| /** | |
| * Whether to enable font subsetting or not. | |
| */ | |
| 'enable_font_subsetting' => false, | |
| /** | |
| * The PDF rendering backend to use | |
| * | |
| * Valid settings are 'PDFLib', 'CPDF' (the bundled R&OS PDF class), 'GD' and | |
| * 'auto'. 'auto' will look for PDFLib and use it if found, or if not it will | |
| * fall back on CPDF. 'GD' renders PDFs to graphic files. | |
| * {@link * Canvas_Factory} ultimately determines which rendering class to | |
| * instantiate based on this setting. | |
| * | |
| * Both PDFLib & CPDF rendering backends provide sufficient rendering | |
| * capabilities for dompdf, however additional features (e.g. object, | |
| * image and font support, etc.) differ between backends. Please see | |
| * {@link PDFLib_Adapter} for more information on the PDFLib backend | |
| * and {@link CPDF_Adapter} and lib/class.pdf.php for more information | |
| * on CPDF. Also see the documentation for each backend at the links | |
| * below. | |
| * | |
| * The GD rendering backend is a little different than PDFLib and | |
| * CPDF. Several features of CPDF and PDFLib are not supported or do | |
| * not make any sense when creating image files. For example, | |
| * multiple pages are not supported, nor are PDF 'objects'. Have a | |
| * look at {@link GD_Adapter} for more information. GD support is | |
| * experimental, so use it at your own risk. | |
| * | |
| * @link http://www.pdflib.com | |
| * @link http://www.ros.co.nz/pdf | |
| * @link http://www.php.net/image | |
| */ | |
| 'pdf_backend' => 'CPDF', | |
| /** | |
| * html target media view which should be rendered into pdf. | |
| * List of types and parsing rules for future extensions: | |
| * http://www.w3.org/TR/REC-html40/types.html | |
| * screen, tty, tv, projection, handheld, print, braille, aural, all | |
| * Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3. | |
| * Note, even though the generated pdf file is intended for print output, | |
| * the desired content might be different (e.g. screen or projection view of html file). | |
| * Therefore allow specification of content here. | |
| */ | |
| 'default_media_type' => 'screen', | |
| /** | |
| * The default paper size. | |
| * | |
| * North America standard is "letter"; other countries generally "a4" | |
| * | |
| * @see CPDF_Adapter::PAPER_SIZES for valid sizes ('letter', 'legal', 'A4', etc.) | |
| */ | |
| 'default_paper_size' => 'a4', | |
| /** | |
| * The default paper orientation. | |
| * | |
| * The orientation of the page (portrait or landscape). | |
| * | |
| * @var string | |
| */ | |
| 'default_paper_orientation' => 'portrait', | |
| /** | |
| * The default font family | |
| * | |
| * Used if no suitable fonts can be found. This must exist in the font folder. | |
| * | |
| * @var string | |
| */ | |
| 'default_font' => 'serif', | |
| /** | |
| * Image DPI setting | |
| * | |
| * This setting determines the default DPI setting for images and fonts. The | |
| * DPI may be overridden for inline images by explictly setting the | |
| * image's width & height style attributes (i.e. if the image's native | |
| * width is 600 pixels and you specify the image's width as 72 points, | |
| * the image will have a DPI of 600 in the rendered PDF. The DPI of | |
| * background images can not be overridden and is controlled entirely | |
| * via this parameter. | |
| * | |
| * For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI). | |
| * If a size in html is given as px (or without unit as image size), | |
| * this tells the corresponding size in pt. | |
| * This adjusts the relative sizes to be similar to the rendering of the | |
| * html page in a reference browser. | |
| * | |
| * In pdf, always 1 pt = 1/72 inch | |
| * | |
| * Rendering resolution of various browsers in px per inch: | |
| * Windows Firefox and Internet Explorer: | |
| * SystemControl->Display properties->FontResolution: Default:96, largefonts:120, custom:? | |
| * Linux Firefox: | |
| * about:config *resolution: Default:96 | |
| * (xorg screen dimension in mm and Desktop font dpi settings are ignored) | |
| * | |
| * Take care about extra font/image zoom factor of browser. | |
| * | |
| * In images, <img> size in pixel attribute, img css style, are overriding | |
| * the real image dimension in px for rendering. | |
| * | |
| * @var int | |
| */ | |
| 'dpi' => 96, | |
| /** | |
| * Enable embedded PHP | |
| * | |
| * If this setting is set to true then DOMPDF will automatically evaluate embedded PHP contained | |
| * within <script type="text/php"> ... </script> tags. | |
| * | |
| * ==== IMPORTANT ==== Enabling this for documents you do not trust (e.g. arbitrary remote html pages) | |
| * is a security risk. | |
| * Embedded scripts are run with the same level of system access available to dompdf. | |
| * Set this option to false (recommended) if you wish to process untrusted documents. | |
| * This setting may increase the risk of system exploit. | |
| * Do not change this settings without understanding the consequences. | |
| * Additional documentation is available on the dompdf wiki at: | |
| * https://github.com/dompdf/dompdf/wiki | |
| * | |
| * @var bool | |
| */ | |
| 'enable_php' => false, | |
| /** | |
| * Rnable inline JavaScript | |
| * | |
| * If this setting is set to true then DOMPDF will automatically insert JavaScript code contained | |
| * within <script type="text/javascript"> ... </script> tags as written into the PDF. | |
| * NOTE: This is PDF-based JavaScript to be executed by the PDF viewer, | |
| * not browser-based JavaScript executed by Dompdf. | |
| * | |
| * @var bool | |
| */ | |
| 'enable_javascript' => true, | |
| /** | |
| * Enable remote file access | |
| * | |
| * If this setting is set to true, DOMPDF will access remote sites for | |
| * images and CSS files as required. | |
| * | |
| * ==== IMPORTANT ==== | |
| * This can be a security risk, in particular in combination with isPhpEnabled and | |
| * allowing remote html code to be passed to $dompdf = new DOMPDF(); $dompdf->load_html(...); | |
| * This allows anonymous users to download legally doubtful internet content which on | |
| * tracing back appears to being downloaded by your server, or allows malicious php code | |
| * in remote html pages to be executed by your server with your account privileges. | |
| * | |
| * This setting may increase the risk of system exploit. Do not change | |
| * this settings without understanding the consequences. Additional | |
| * documentation is available on the dompdf wiki at: | |
| * https://github.com/dompdf/dompdf/wiki | |
| * | |
| * @var bool | |
| */ | |
| 'enable_remote' => false, | |
| /** | |
| * List of allowed remote hosts | |
| * | |
| * Each value of the array must be a valid hostname. | |
| * | |
| * This will be used to filter which resources can be loaded in combination with | |
| * isRemoteEnabled. If enable_remote is FALSE, then this will have no effect. | |
| * | |
| * Leave to NULL to allow any remote host. | |
| * | |
| * @var array|null | |
| */ | |
| 'allowed_remote_hosts' => null, | |
| /** | |
| * A ratio applied to the fonts height to be more like browsers' line height | |
| */ | |
| 'font_height_ratio' => 1.1, | |
| /** | |
| * Use the HTML5 Lib parser | |
| * | |
| * @deprecated This feature is now always on in dompdf 2.x | |
| * | |
| * @var bool | |
| */ | |
| 'enable_html5_parser' => true, | |
| ], | |
| ]; | |