__construct()
(mPDF ≥ 7.0)
@todo
__construct – Initialise an instance of mPDF class
Description
\Mpdf\Mpdf::__construct([array $config = []])
Initialise an instance of mPDF class.
Parameters
- $config
-
This parameter specifies configuration of the new document.
-
Apart from configuration variables defined in
ConfigVariablesandFontVariablesclasses it can obtain variables which where the arguments from the constructor of mPDF < 7.0:mode,format,default_font_size,default_font,margin_left(formerly$mgl),margin_right(formerly$mgr),margin_top(formerly$mgt),$margin_bottom(formerlymgb),$margin_header(formerly$mgh),margin_footer(formerly$mgf),orientation. These variables with their defaults are described in the next section. -
The other configuration keys are listed at the configuration overview.
-
Variables with defaults from constructor
mode-
Mode of the document. Is parsed from values of various formats:
-
Codepage Values (case-insensitive)
'c''...-x''...-s'or's''...+aCJK'or'+aCJK''...-aCJK'or'-aCJK'where
...can be any string. Only language/country codes will have any effect, but other strings are parsed for backwards compatability (but have no effect).Only some combinations make sense. See Choosing a configuration for more details.
-
Country/Language code values (case-insensitive)
Country/language codes are defined in
\Mpdf\LangToFontclassA country/language code can be passed as e.g.
'en-GB'or'en_GB'or'en'Note: If the mode is set by passing a country/language string, this may also set: available fonts, text justification, and directionality RTL
Note: There is a useful list of language/country codes at: http://www.i18nguy.com/unicode/language-identifiers.html
-
format-
Can be specified either as a pre-defined page size, or as an array of width and height in millimetres (see Example #2 below).
Default value:
'A4'Values (case-insensitive)
'A0’ -'A10','B0'-'B10','C0'-'C10''4A0','2A0','RA0'-'RA4','SRA0'-'SRA4''Letter','Legal','Executive','Folio''Demy','Royal''A'(Type A paperback 111x178mm)'B'(Type B paperback 128x198mm)'Ledger'*,'Tabloid'*
All of the above values can be suffixed with
'-L'to force a Landscape page orientation document e.g.'A4-L'.If format is defined as a string, the orientation parameter will be ignored.
* Ledger and Tabloid are standard formats with the same page size but different orientation (Ledger is landscape, and Tabloid is portrait). Prior to mPDF 6.1, mPDF treats these identically; if you wished to use Ledger, you should have specified
'Ledger-L'for landscape. default_font_size-
Sets the default document font size in points (pt)
BLANK or omitted or
0uses the default value set in defaultCSS configuration variable for the font-size of the BODY. default_font-
Sets the default font-family for the new document.
BLANK or omitted uses default value set in defaultCSS for the font-family of BODY unless codepage has been set to
'win-1252'(e.g. by using'mode' => 'c'). If'codepage' => "win-1252", the appropriate core Adobe font will be set i.e. Helvetica, Times, or Courier. margin_leftmargin_rightmargin_topmargin_bottommargin_headermargin_footer-
Set the page margins for the new document.
All values should be specified as LENGTH in millimetres.
If you are creating a DOUBLE-SIDED document, the margin values specified will be used for ODD pages; left and right margins will be mirrored for EVEN pages.
BLANK or omitted uses the default values.
Default values:
- margin_left:
15 - margin_right:
15 - margin_top:
16 - margin_bottom:
16 - margin_header:
9 - margin_footer:
9
- margin_left:
orientation-
This attribute specifies the default page orientation of the new document if format is defined as an array. This value will be ignored if format is a string value.
Default value:
'P'Values (case-insensitive)
'P': Portrait'L': Landscape
Changelog
| Version | Description |
|---|---|
| 6.1 | Introduced to support higher versions of PHP |
| 7.0 |
Parameters replaced with single |
Examples
Warning: mPDF is not meant to receive HMTL/CSS from an outside user.
All user input passed to mPDF should be vetted and sanitized properly above the level
of standard browser-level sanitization (such is htmlspecialchars).
Example #1
<?php
// Require composer autoload
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('Hello World');
$mpdf->Output('filename.pdf');
Example #2
<?php
// Define a new \Mpdf\Mpdf document using utf-8 fonts
$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8']);
// Define a new \Mpdf\Mpdf document using win-1252 fonts based on a language/country code
$mpdf = new \Mpdf\Mpdf(['mode' => 'en-GB']);
// Define a Landscape page size/format by name
$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8', 'format' => 'A4-L']);
// Define a page size/format by array - page will be 190mm wide x 236mm height
$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8', 'format' => [190, 236]]);
// Define a page using all default values except "L" for Landscape orientation
$mpdf = new \Mpdf\Mpdf(['orientation' => 'L']);
Notes
Note: _MPDF_PATH was required to be
defined explicitly prior to mPDF 4.0 e.g. define('_MPDF_PATH','../'). From mPDF 4.0 the value should be automatically
defined by the script itself when including the mpdf.php file.
See Also
- WriteHTML() - Write HTML to the document
- Output() - Finalise and output the document