aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php')
-rw-r--r--srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php24569
1 files changed, 24569 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php b/srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php
new file mode 100644
index 0000000..0ee30bc
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php
@@ -0,0 +1,24569 @@
+<?php
+//============================================================+
+// File name : tcpdf.php
+// Version : 6.3.2
+// Begin : 2002-08-03
+// Last Update : 2019-09-20
+// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
+// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
+// -------------------------------------------------------------------
+// Copyright (C) 2002-2019 Nicola Asuni - Tecnick.com LTD
+//
+// This file is part of TCPDF software library.
+//
+// TCPDF is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// TCPDF is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the License
+// along with TCPDF. If not, see
+// <http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>.
+//
+// See LICENSE.TXT file for more information.
+// -------------------------------------------------------------------
+//
+// Description :
+// This is a PHP class for generating PDF documents without requiring external extensions.
+//
+// NOTE:
+// This class was originally derived in 2002 from the Public
+// Domain FPDF class by Olivier Plathey (http://www.fpdf.org),
+// but now is almost entirely rewritten and contains thousands of
+// new lines of code and hundreds new features.
+//
+// Main features:
+// * no external libraries are required for the basic functions;
+// * all standard page formats, custom page formats, custom margins and units of measure;
+// * UTF-8 Unicode and Right-To-Left languages;
+// * TrueTypeUnicode, TrueType, Type1 and CID-0 fonts;
+// * font subsetting;
+// * methods to publish some XHTML + CSS code, Javascript and Forms;
+// * images, graphic (geometric figures) and transformation methods;
+// * supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImageMagick (http://www.imagemagick.org/www/formats.html)
+// * 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
+// * JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
+// * automatic page header and footer management;
+// * document encryption up to 256 bit and digital signature certifications;
+// * transactions to UNDO commands;
+// * PDF annotations, including links, text and file attachments;
+// * text rendering modes (fill, stroke and clipping);
+// * multiple columns mode;
+// * no-write page regions;
+// * bookmarks, named destinations and table of content;
+// * text hyphenation;
+// * text stretching and spacing (tracking);
+// * automatic page break, line break and text alignments including justification;
+// * automatic page numbering and page groups;
+// * move and delete pages;
+// * page compression (requires php-zlib extension);
+// * XOBject Templates;
+// * Layers and object visibility.
+// * PDF/A-1b support
+//============================================================+
+
+/**
+ * @file
+ * This is a PHP class for generating PDF documents without requiring external extensions.<br>
+ * TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
+ * <h3>TCPDF main features are:</h3>
+ * <ul>
+ * <li>no external libraries are required for the basic functions;</li>
+ * <li>all standard page formats, custom page formats, custom margins and units of measure;</li>
+ * <li>UTF-8 Unicode and Right-To-Left languages;</li>
+ * <li>TrueTypeUnicode, TrueType, Type1 and CID-0 fonts;</li>
+ * <li>font subsetting;</li>
+ * <li>methods to publish some XHTML + CSS code, Javascript and Forms;</li>
+ * <li>images, graphic (geometric figures) and transformation methods;
+ * <li>supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImageMagick (http://www.imagemagick.org/www/formats.html)</li>
+ * <li>1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;</li>
+ * <li>JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;</li>
+ * <li>automatic page header and footer management;</li>
+ * <li>document encryption up to 256 bit and digital signature certifications;</li>
+ * <li>transactions to UNDO commands;</li>
+ * <li>PDF annotations, including links, text and file attachments;</li>
+ * <li>text rendering modes (fill, stroke and clipping);</li>
+ * <li>multiple columns mode;</li>
+ * <li>no-write page regions;</li>
+ * <li>bookmarks, named destinations and table of content;</li>
+ * <li>text hyphenation;</li>
+ * <li>text stretching and spacing (tracking);</li>
+ * <li>automatic page break, line break and text alignments including justification;</li>
+ * <li>automatic page numbering and page groups;</li>
+ * <li>move and delete pages;</li>
+ * <li>page compression (requires php-zlib extension);</li>
+ * <li>XOBject Templates;</li>
+ * <li>Layers and object visibility;</li>
+ * <li>PDF/A-1b support.</li>
+ * </ul>
+ * Tools to encode your unicode fonts are on fonts/utils directory.</p>
+ * @package com.tecnick.tcpdf
+ * @author Nicola Asuni
+ * @version 6.3.2
+ */
+
+// TCPDF configuration
+require_once(dirname(__FILE__).'/tcpdf_autoconfig.php');
+// TCPDF static font methods and data
+require_once(dirname(__FILE__).'/include/tcpdf_font_data.php');
+// TCPDF static font methods and data
+require_once(dirname(__FILE__).'/include/tcpdf_fonts.php');
+// TCPDF static color methods and data
+require_once(dirname(__FILE__).'/include/tcpdf_colors.php');
+// TCPDF static image methods and data
+require_once(dirname(__FILE__).'/include/tcpdf_images.php');
+// TCPDF static methods and data
+require_once(dirname(__FILE__).'/include/tcpdf_static.php');
+
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+/**
+ * @class TCPDF
+ * PHP class for generating PDF documents without requiring external extensions.
+ * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
+ * @package com.tecnick.tcpdf
+ * @brief PHP class for generating PDF documents without requiring external extensions.
+ * @version 6.3.2
+ * @author Nicola Asuni - info@tecnick.com
+ * @IgnoreAnnotation("protected")
+ * @IgnoreAnnotation("public")
+ * @IgnoreAnnotation("pre")
+ */
+class TCPDF {
+
+ // Protected properties
+
+ /**
+ * Current page number.
+ * @protected
+ */
+ protected $page;
+
+ /**
+ * Current object number.
+ * @protected
+ */
+ protected $n;
+
+ /**
+ * Array of object offsets.
+ * @protected
+ */
+ protected $offsets = array();
+
+ /**
+ * Array of object IDs for each page.
+ * @protected
+ */
+ protected $pageobjects = array();
+
+ /**
+ * Buffer holding in-memory PDF.
+ * @protected
+ */
+ protected $buffer;
+
+ /**
+ * Array containing pages.
+ * @protected
+ */
+ protected $pages = array();
+
+ /**
+ * Current document state.
+ * @protected
+ */
+ protected $state;
+
+ /**
+ * Compression flag.
+ * @protected
+ */
+ protected $compress;
+
+ /**
+ * Current page orientation (P = Portrait, L = Landscape).
+ * @protected
+ */
+ protected $CurOrientation;
+
+ /**
+ * Page dimensions.
+ * @protected
+ */
+ protected $pagedim = array();
+
+ /**
+ * Scale factor (number of points in user unit).
+ * @protected
+ */
+ protected $k;
+
+ /**
+ * Width of page format in points.
+ * @protected
+ */
+ protected $fwPt;
+
+ /**
+ * Height of page format in points.
+ * @protected
+ */
+ protected $fhPt;
+
+ /**
+ * Current width of page in points.
+ * @protected
+ */
+ protected $wPt;
+
+ /**
+ * Current height of page in points.
+ * @protected
+ */
+ protected $hPt;
+
+ /**
+ * Current width of page in user unit.
+ * @protected
+ */
+ protected $w;
+
+ /**
+ * Current height of page in user unit.
+ * @protected
+ */
+ protected $h;
+
+ /**
+ * Left margin.
+ * @protected
+ */
+ protected $lMargin;
+
+ /**
+ * Right margin.
+ * @protected
+ */
+ protected $rMargin;
+
+ /**
+ * Cell left margin (used by regions).
+ * @protected
+ */
+ protected $clMargin;
+
+ /**
+ * Cell right margin (used by regions).
+ * @protected
+ */
+ protected $crMargin;
+
+ /**
+ * Top margin.
+ * @protected
+ */
+ protected $tMargin;
+
+ /**
+ * Page break margin.
+ * @protected
+ */
+ protected $bMargin;
+
+ /**
+ * Array of cell internal paddings ('T' => top, 'R' => right, 'B' => bottom, 'L' => left).
+ * @since 5.9.000 (2010-10-03)
+ * @protected
+ */
+ protected $cell_padding = array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0);
+
+ /**
+ * Array of cell margins ('T' => top, 'R' => right, 'B' => bottom, 'L' => left).
+ * @since 5.9.000 (2010-10-04)
+ * @protected
+ */
+ protected $cell_margin = array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0);
+
+ /**
+ * Current horizontal position in user unit for cell positioning.
+ * @protected
+ */
+ protected $x;
+
+ /**
+ * Current vertical position in user unit for cell positioning.
+ * @protected
+ */
+ protected $y;
+
+ /**
+ * Height of last cell printed.
+ * @protected
+ */
+ protected $lasth;
+
+ /**
+ * Line width in user unit.
+ * @protected
+ */
+ protected $LineWidth;
+
+ /**
+ * Array of standard font names.
+ * @protected
+ */
+ protected $CoreFonts;
+
+ /**
+ * Array of used fonts.
+ * @protected
+ */
+ protected $fonts = array();
+
+ /**
+ * Array of font files.
+ * @protected
+ */
+ protected $FontFiles = array();
+
+ /**
+ * Array of encoding differences.
+ * @protected
+ */
+ protected $diffs = array();
+
+ /**
+ * Array of used images.
+ * @protected
+ */
+ protected $images = array();
+
+ /**
+ * Depth of the svg tag, to keep track if the svg tag is a subtag or the root tag.
+ * @protected
+ */
+ protected $svg_tag_depth = 0;
+
+ /**
+ * Array of Annotations in pages.
+ * @protected
+ */
+ protected $PageAnnots = array();
+
+ /**
+ * Array of internal links.
+ * @protected
+ */
+ protected $links = array();
+
+ /**
+ * Current font family.
+ * @protected
+ */
+ protected $FontFamily;
+
+ /**
+ * Current font style.
+ * @protected
+ */
+ protected $FontStyle;
+
+ /**
+ * Current font ascent (distance between font top and baseline).
+ * @protected
+ * @since 2.8.000 (2007-03-29)
+ */
+ protected $FontAscent;
+
+ /**
+ * Current font descent (distance between font bottom and baseline).
+ * @protected
+ * @since 2.8.000 (2007-03-29)
+ */
+ protected $FontDescent;
+
+ /**
+ * Underlining flag.
+ * @protected
+ */
+ protected $underline;
+
+ /**
+ * Overlining flag.
+ * @protected
+ */
+ protected $overline;
+
+ /**
+ * Current font info.
+ * @protected
+ */
+ protected $CurrentFont;
+
+ /**
+ * Current font size in points.
+ * @protected
+ */
+ protected $FontSizePt;
+
+ /**
+ * Current font size in user unit.
+ * @protected
+ */
+ protected $FontSize;
+
+ /**
+ * Commands for drawing color.
+ * @protected
+ */
+ protected $DrawColor;
+
+ /**
+ * Commands for filling color.
+ * @protected
+ */
+ protected $FillColor;
+
+ /**
+ * Commands for text color.
+ * @protected
+ */
+ protected $TextColor;
+
+ /**
+ * Indicates whether fill and text colors are different.
+ * @protected
+ */
+ protected $ColorFlag;
+
+ /**
+ * Automatic page breaking.
+ * @protected
+ */
+ protected $AutoPageBreak;
+
+ /**
+ * Threshold used to trigger page breaks.
+ * @protected
+ */
+ protected $PageBreakTrigger;
+
+ /**
+ * Flag set when processing page header.
+ * @protected
+ */
+ protected $InHeader = false;
+
+ /**
+ * Flag set when processing page footer.
+ * @protected
+ */
+ protected $InFooter = false;
+
+ /**
+ * Zoom display mode.
+ * @protected
+ */
+ protected $ZoomMode;
+
+ /**
+ * Layout display mode.
+ * @protected
+ */
+ protected $LayoutMode;
+
+ /**
+ * If true set the document information dictionary in Unicode.
+ * @protected
+ */
+ protected $docinfounicode = true;
+
+ /**
+ * Document title.
+ * @protected
+ */
+ protected $title = '';
+
+ /**
+ * Document subject.
+ * @protected
+ */
+ protected $subject = '';
+
+ /**
+ * Document author.
+ * @protected
+ */
+ protected $author = '';
+
+ /**
+ * Document keywords.
+ * @protected
+ */
+ protected $keywords = '';
+
+ /**
+ * Document creator.
+ * @protected
+ */
+ protected $creator = '';
+
+ /**
+ * Starting page number.
+ * @protected
+ */
+ protected $starting_page_number = 1;
+
+ /**
+ * The right-bottom (or left-bottom for RTL) corner X coordinate of last inserted image.
+ * @since 2002-07-31
+ * @author Nicola Asuni
+ * @protected
+ */
+ protected $img_rb_x;
+
+ /**
+ * The right-bottom corner Y coordinate of last inserted image.
+ * @since 2002-07-31
+ * @author Nicola Asuni
+ * @protected
+ */
+ protected $img_rb_y;
+
+ /**
+ * Adjusting factor to convert pixels to user units.
+ * @since 2004-06-14
+ * @author Nicola Asuni
+ * @protected
+ */
+ protected $imgscale = 1;
+
+ /**
+ * Boolean flag set to true when the input text is unicode (require unicode fonts).
+ * @since 2005-01-02
+ * @author Nicola Asuni
+ * @protected
+ */
+ protected $isunicode = false;
+
+ /**
+ * PDF version.
+ * @since 1.5.3
+ * @protected
+ */
+ protected $PDFVersion = '1.7';
+
+ /**
+ * ID of the stored default header template (-1 = not set).
+ * @protected
+ */
+ protected $header_xobjid = false;
+
+ /**
+ * If true reset the Header Xobject template at each page
+ * @protected
+ */
+ protected $header_xobj_autoreset = false;
+
+ /**
+ * Minimum distance between header and top page margin.
+ * @protected
+ */
+ protected $header_margin;
+
+ /**
+ * Minimum distance between footer and bottom page margin.
+ * @protected
+ */
+ protected $footer_margin;
+
+ /**
+ * Original left margin value.
+ * @protected
+ * @since 1.53.0.TC013
+ */
+ protected $original_lMargin;
+
+ /**
+ * Original right margin value.
+ * @protected
+ * @since 1.53.0.TC013
+ */
+ protected $original_rMargin;
+
+ /**
+ * Default font used on page header.
+ * @protected
+ */
+ protected $header_font;
+
+ /**
+ * Default font used on page footer.
+ * @protected
+ */
+ protected $footer_font;
+
+ /**
+ * Language templates.
+ * @protected
+ */
+ protected $l;
+
+ /**
+ * Barcode to print on page footer (only if set).
+ * @protected
+ */
+ protected $barcode = false;
+
+ /**
+ * Boolean flag to print/hide page header.
+ * @protected
+ */
+ protected $print_header = true;
+
+ /**
+ * Boolean flag to print/hide page footer.
+ * @protected
+ */
+ protected $print_footer = true;
+
+ /**
+ * Header image logo.
+ * @protected
+ */
+ protected $header_logo = '';
+
+ /**
+ * Width of header image logo in user units.
+ * @protected
+ */
+ protected $header_logo_width = 30;
+
+ /**
+ * Title to be printed on default page header.
+ * @protected
+ */
+ protected $header_title = '';
+
+ /**
+ * String to pring on page header after title.
+ * @protected
+ */
+ protected $header_string = '';
+
+ /**
+ * Color for header text (RGB array).
+ * @since 5.9.174 (2012-07-25)
+ * @protected
+ */
+ protected $header_text_color = array(0,0,0);
+
+ /**
+ * Color for header line (RGB array).
+ * @since 5.9.174 (2012-07-25)
+ * @protected
+ */
+ protected $header_line_color = array(0,0,0);
+
+ /**
+ * Color for footer text (RGB array).
+ * @since 5.9.174 (2012-07-25)
+ * @protected
+ */
+ protected $footer_text_color = array(0,0,0);
+
+ /**
+ * Color for footer line (RGB array).
+ * @since 5.9.174 (2012-07-25)
+ * @protected
+ */
+ protected $footer_line_color = array(0,0,0);
+
+ /**
+ * Text shadow data array.
+ * @since 5.9.174 (2012-07-25)
+ * @protected
+ */
+ protected $txtshadow = array('enabled'=>false, 'depth_w'=>0, 'depth_h'=>0, 'color'=>false, 'opacity'=>1, 'blend_mode'=>'Normal');
+
+ /**
+ * Default number of columns for html table.
+ * @protected
+ */
+ protected $default_table_columns = 4;
+
+ // variables for html parser
+
+ /**
+ * HTML PARSER: array to store current link and rendering styles.
+ * @protected
+ */
+ protected $HREF = array();
+
+ /**
+ * List of available fonts on filesystem.
+ * @protected
+ */
+ protected $fontlist = array();
+
+ /**
+ * Current foreground color.
+ * @protected
+ */
+ protected $fgcolor;
+
+ /**
+ * HTML PARSER: array of boolean values, true in case of ordered list (OL), false otherwise.
+ * @protected
+ */
+ protected $listordered = array();
+
+ /**
+ * HTML PARSER: array count list items on nested lists.
+ * @protected
+ */
+ protected $listcount = array();
+
+ /**
+ * HTML PARSER: current list nesting level.
+ * @protected
+ */
+ protected $listnum = 0;
+
+ /**
+ * HTML PARSER: indent amount for lists.
+ * @protected
+ */
+ protected $listindent = 0;
+
+ /**
+ * HTML PARSER: current list indententation level.
+ * @protected
+ */
+ protected $listindentlevel = 0;
+
+ /**
+ * Current background color.
+ * @protected
+ */
+ protected $bgcolor;
+
+ /**
+ * Temporary font size in points.
+ * @protected
+ */
+ protected $tempfontsize = 10;
+
+ /**
+ * Spacer string for LI tags.
+ * @protected
+ */
+ protected $lispacer = '';
+
+ /**
+ * Default encoding.
+ * @protected
+ * @since 1.53.0.TC010
+ */
+ protected $encoding = 'UTF-8';
+
+ /**
+ * PHP internal encoding.
+ * @protected
+ * @since 1.53.0.TC016
+ */
+ protected $internal_encoding;
+
+ /**
+ * Boolean flag to indicate if the document language is Right-To-Left.
+ * @protected
+ * @since 2.0.000
+ */
+ protected $rtl = false;
+
+ /**
+ * Boolean flag used to force RTL or LTR string direction.
+ * @protected
+ * @since 2.0.000
+ */
+ protected $tmprtl = false;
+
+ // --- Variables used for document encryption:
+
+ /**
+ * IBoolean flag indicating whether document is protected.
+ * @protected
+ * @since 2.0.000 (2008-01-02)
+ */
+ protected $encrypted;
+
+ /**
+ * Array containing encryption settings.
+ * @protected
+ * @since 5.0.005 (2010-05-11)
+ */
+ protected $encryptdata = array();
+
+ /**
+ * Last RC4 key encrypted (cached for optimisation).
+ * @protected
+ * @since 2.0.000 (2008-01-02)
+ */
+ protected $last_enc_key;
+
+ /**
+ * Last RC4 computed key.
+ * @protected
+ * @since 2.0.000 (2008-01-02)
+ */
+ protected $last_enc_key_c;
+
+ /**
+ * File ID (used on document trailer).
+ * @protected
+ * @since 5.0.005 (2010-05-12)
+ */
+ protected $file_id;
+
+ // --- bookmark ---
+
+ /**
+ * Outlines for bookmark.
+ * @protected
+ * @since 2.1.002 (2008-02-12)
+ */
+ protected $outlines = array();
+
+ /**
+ * Outline root for bookmark.
+ * @protected
+ * @since 2.1.002 (2008-02-12)
+ */
+ protected $OutlineRoot;
+
+ // --- javascript and form ---
+
+ /**
+ * Javascript code.
+ * @protected
+ * @since 2.1.002 (2008-02-12)
+ */
+ protected $javascript = '';
+
+ /**
+ * Javascript counter.
+ * @protected
+ * @since 2.1.002 (2008-02-12)
+ */
+ protected $n_js;
+
+ /**
+ * line through state
+ * @protected
+ * @since 2.8.000 (2008-03-19)
+ */
+ protected $linethrough;
+
+ /**
+ * Array with additional document-wide usage rights for the document.
+ * @protected
+ * @since 5.8.014 (2010-08-23)
+ */
+ protected $ur = array();
+
+ /**
+ * DPI (Dot Per Inch) Document Resolution (do not change).
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $dpi = 72;
+
+ /**
+ * Array of page numbers were a new page group was started (the page numbers are the keys of the array).
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $newpagegroup = array();
+
+ /**
+ * Array that contains the number of pages in each page group.
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $pagegroups = array();
+
+ /**
+ * Current page group number.
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $currpagegroup = 0;
+
+ /**
+ * Array of transparency objects and parameters.
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $extgstates;
+
+ /**
+ * Set the default JPEG compression quality (1-100).
+ * @protected
+ * @since 3.0.000 (2008-03-27)
+ */
+ protected $jpeg_quality;
+
+ /**
+ * Default cell height ratio.
+ * @protected
+ * @since 3.0.014 (2008-05-23)
+ */
+ protected $cell_height_ratio = K_CELL_HEIGHT_RATIO;
+
+ /**
+ * PDF viewer preferences.
+ * @protected
+ * @since 3.1.000 (2008-06-09)
+ */
+ protected $viewer_preferences;
+
+ /**
+ * A name object specifying how the document should be displayed when opened.
+ * @protected
+ * @since 3.1.000 (2008-06-09)
+ */
+ protected $PageMode;
+
+ /**
+ * Array for storing gradient information.
+ * @protected
+ * @since 3.1.000 (2008-06-09)
+ */
+ protected $gradients = array();
+
+ /**
+ * Array used to store positions inside the pages buffer (keys are the page numbers).
+ * @protected
+ * @since 3.2.000 (2008-06-26)
+ */
+ protected $intmrk = array();
+
+ /**
+ * Array used to store positions inside the pages buffer (keys are the page numbers).
+ * @protected
+ * @since 5.7.000 (2010-08-03)
+ */
+ protected $bordermrk = array();
+
+ /**
+ * Array used to store page positions to track empty pages (keys are the page numbers).
+ * @protected
+ * @since 5.8.007 (2010-08-18)
+ */
+ protected $emptypagemrk = array();
+
+ /**
+ * Array used to store content positions inside the pages buffer (keys are the page numbers).
+ * @protected
+ * @since 4.6.021 (2009-07-20)
+ */
+ protected $cntmrk = array();
+
+ /**
+ * Array used to store footer positions of each page.
+ * @protected
+ * @since 3.2.000 (2008-07-01)
+ */
+ protected $footerpos = array();
+
+ /**
+ * Array used to store footer length of each page.
+ * @protected
+ * @since 4.0.014 (2008-07-29)
+ */
+ protected $footerlen = array();
+
+ /**
+ * Boolean flag to indicate if a new line is created.
+ * @protected
+ * @since 3.2.000 (2008-07-01)
+ */
+ protected $newline = true;
+
+ /**
+ * End position of the latest inserted line.
+ * @protected
+ * @since 3.2.000 (2008-07-01)
+ */
+ protected $endlinex = 0;
+
+ /**
+ * PDF string for width value of the last line.
+ * @protected
+ * @since 4.0.006 (2008-07-16)
+ */
+ protected $linestyleWidth = '';
+
+ /**
+ * PDF string for CAP value of the last line.
+ * @protected
+ * @since 4.0.006 (2008-07-16)
+ */
+ protected $linestyleCap = '0 J';
+
+ /**
+ * PDF string for join value of the last line.
+ * @protected
+ * @since 4.0.006 (2008-07-16)
+ */
+ protected $linestyleJoin = '0 j';
+
+ /**
+ * PDF string for dash value of the last line.
+ * @protected
+ * @since 4.0.006 (2008-07-16)
+ */
+ protected $linestyleDash = '[] 0 d';
+
+ /**
+ * Boolean flag to indicate if marked-content sequence is open.
+ * @protected
+ * @since 4.0.013 (2008-07-28)
+ */
+ protected $openMarkedContent = false;
+
+ /**
+ * Count the latest inserted vertical spaces on HTML.
+ * @protected
+ * @since 4.0.021 (2008-08-24)
+ */
+ protected $htmlvspace = 0;
+
+ /**
+ * Array of Spot colors.
+ * @protected
+ * @since 4.0.024 (2008-09-12)
+ */
+ protected $spot_colors = array();
+
+ /**
+ * Symbol used for HTML unordered list items.
+ * @protected
+ * @since 4.0.028 (2008-09-26)
+ */
+ protected $lisymbol = '';
+
+ /**
+ * String used to mark the beginning and end of EPS image blocks.
+ * @protected
+ * @since 4.1.000 (2008-10-18)
+ */
+ protected $epsmarker = 'x#!#EPS#!#x';
+
+ /**
+ * Array of transformation matrix.
+ * @protected
+ * @since 4.2.000 (2008-10-29)
+ */
+ protected $transfmatrix = array();
+
+ /**
+ * Current key for transformation matrix.
+ * @protected
+ * @since 4.8.005 (2009-09-17)
+ */
+ protected $transfmatrix_key = 0;
+
+ /**
+ * Booklet mode for double-sided pages.
+ * @protected
+ * @since 4.2.000 (2008-10-29)
+ */
+ protected $booklet = false;
+
+ /**
+ * Epsilon value used for float calculations.
+ * @protected
+ * @since 4.2.000 (2008-10-29)
+ */
+ protected $feps = 0.005;
+
+ /**
+ * Array used for custom vertical spaces for HTML tags.
+ * @protected
+ * @since 4.2.001 (2008-10-30)
+ */
+ protected $tagvspaces = array();
+
+ /**
+ * HTML PARSER: custom indent amount for lists. Negative value means disabled.
+ * @protected
+ * @since 4.2.007 (2008-11-12)
+ */
+ protected $customlistindent = -1;
+
+ /**
+ * Boolean flag to indicate if the border of the cell sides that cross the page should be removed.
+ * @protected
+ * @since 4.2.010 (2008-11-14)
+ */
+ protected $opencell = true;
+
+ /**
+ * Array of files to embedd.
+ * @protected
+ * @since 4.4.000 (2008-12-07)
+ */
+ protected $embeddedfiles = array();
+
+ /**
+ * Boolean flag to indicate if we are inside a PRE tag.
+ * @protected
+ * @since 4.4.001 (2008-12-08)
+ */
+ protected $premode = false;
+
+ /**
+ * Array used to store positions of graphics transformation blocks inside the page buffer.
+ * keys are the page numbers
+ * @protected
+ * @since 4.4.002 (2008-12-09)
+ */
+ protected $transfmrk = array();
+
+ /**
+ * Default color for html links.
+ * @protected
+ * @since 4.4.003 (2008-12-09)
+ */
+ protected $htmlLinkColorArray = array(0, 0, 255);
+
+ /**
+ * Default font style to add to html links.
+ * @protected
+ * @since 4.4.003 (2008-12-09)
+ */
+ protected $htmlLinkFontStyle = 'U';
+
+ /**
+ * Counts the number of pages.
+ * @protected
+ * @since 4.5.000 (2008-12-31)
+ */
+ protected $numpages = 0;
+
+ /**
+ * Array containing page lengths in bytes.
+ * @protected
+ * @since 4.5.000 (2008-12-31)
+ */
+ protected $pagelen = array();
+
+ /**
+ * Counts the number of pages.
+ * @protected
+ * @since 4.5.000 (2008-12-31)
+ */
+ protected $numimages = 0;
+
+ /**
+ * Store the image keys.
+ * @protected
+ * @since 4.5.000 (2008-12-31)
+ */
+ protected $imagekeys = array();
+
+ /**
+ * Length of the buffer in bytes.
+ * @protected
+ * @since 4.5.000 (2008-12-31)
+ */
+ protected $bufferlen = 0;
+
+ /**
+ * Counts the number of fonts.
+ * @protected
+ * @since 4.5.000 (2009-01-02)
+ */
+ protected $numfonts = 0;
+
+ /**
+ * Store the font keys.
+ * @protected
+ * @since 4.5.000 (2009-01-02)
+ */
+ protected $fontkeys = array();
+
+ /**
+ * Store the font object IDs.
+ * @protected
+ * @since 4.8.001 (2009-09-09)
+ */
+ protected $font_obj_ids = array();
+
+ /**
+ * Store the fage status (true when opened, false when closed).
+ * @protected
+ * @since 4.5.000 (2009-01-02)
+ */
+ protected $pageopen = array();
+
+ /**
+ * Default monospace font.
+ * @protected
+ * @since 4.5.025 (2009-03-10)
+ */
+ protected $default_monospaced_font = 'courier';
+
+ /**
+ * Cloned copy of the current class object.
+ * @protected
+ * @since 4.5.029 (2009-03-19)
+ */
+ protected $objcopy;
+
+ /**
+ * Array used to store the lengths of cache files.
+ * @protected
+ * @since 4.5.029 (2009-03-19)
+ */
+ protected $cache_file_length = array();
+
+ /**
+ * Table header content to be repeated on each new page.
+ * @protected
+ * @since 4.5.030 (2009-03-20)
+ */
+ protected $thead = '';
+
+ /**
+ * Margins used for table header.
+ * @protected
+ * @since 4.5.030 (2009-03-20)
+ */
+ protected $theadMargins = array();
+
+ /**
+ * Boolean flag to enable document digital signature.
+ * @protected
+ * @since 4.6.005 (2009-04-24)
+ */
+ protected $sign = false;
+
+ /**
+ * Digital signature data.
+ * @protected
+ * @since 4.6.005 (2009-04-24)
+ */
+ protected $signature_data = array();
+
+ /**
+ * Digital signature max length.
+ * @protected
+ * @since 4.6.005 (2009-04-24)
+ */
+ protected $signature_max_length = 11742;
+
+ /**
+ * Data for digital signature appearance.
+ * @protected
+ * @since 5.3.011 (2010-06-16)
+ */
+ protected $signature_appearance = array('page' => 1, 'rect' => '0 0 0 0');
+
+ /**
+ * Array of empty digital signature appearances.
+ * @protected
+ * @since 5.9.101 (2011-07-06)
+ */
+ protected $empty_signature_appearance = array();
+
+ /**
+ * Boolean flag to enable document timestamping with TSA.
+ * @protected
+ * @since 6.0.085 (2014-06-19)
+ */
+ protected $tsa_timestamp = false;
+
+ /**
+ * Timestamping data.
+ * @protected
+ * @since 6.0.085 (2014-06-19)
+ */
+ protected $tsa_data = array();
+
+ /*