formfeed
(mPDF ≥ 2.3)
formfeed — Add a new page keeping current HTML tags/CSS styles active
Description
<formfeed [ $orientation ] [ $type ] [ $resetpagenum ] [ $pagenumstyle ] [ $suppress ]
[ $margin-left ] [ $margin-right ] [ $margin-top ] [ $margin-bottom ] [ $margin-header ] [ $margin-footer ]
[ $odd-header-name ] [ $odd-header-value ] [ $even-header-name ] [ $even-header-value ] [ $odd-footer-name ] [ $odd-footer-value ] [ $even-footer-name ] [ $even-footer-value ] [ $page-selector ] />
Add a new page to the document. The attributes are the same as for <pagebreak>
, but whereas pagebreak by
default closes any open HTML tags, and does not continue CSS styles after the pagebreak, formfeed reinstates the
active properties and styles on the new page.
The attribute $type can specify certain conditions which determine how many pages are
added. If writing a DOUBLE-SIDED document, a conditional formfeed
($type = "E"
or "O"
) will add a new page only if required to make the current page match
the type (i.e. ODD or EVEN); a formfeed with
$type = "NEXT-ODD"
or "NEXT-EVEN"
will add one or two pages as required to make
the current page match the type (i.e. ODD or EVEN).
Number of pages added:
DOUBLE-SIDED | |||
$type | SINGLE-SIDED | Currently ODD page | Currently EVEN page |
BLANK | 1 | 1 | 1 |
|
0 | 0 | 1 |
|
0 | 1 | 0 |
|
1 | 2 | 1 |
|
1 | 1 | 2 |
Note: If no new page is added, the other parameters will be ignored e.g. resetting page numbers/styles, margins and headers/footers. If 2 pages are added, any changes in page numbers/styles, margins and headers/footers will start on the final added page.
Note: From mPDF ≥ 3.0 the page numbering can be reset to any positive number. Prior to this, it was only possible to reset it to 1.
Attributes
- $orientation =
L|P|landscape|portrait
-
This attribute specifies the orientation of the new page.
BLANK or omitted leaves the current orientation unchanged
Values (case-insensitive)
'L'
or'landscape'
: Landscape'P'
or'portrait'
: Portrait
- $type =
E|O|even|odd|next-odd|next-even
-
If $type is specified when writing a DOUBLE-SIDED document, the formfeed is conditional; a new page will only be added if necessary to meet the specified condition.
If not writing a DOUBLE-SIDED document, a formfeed
$type = "E"
will be ignored, whilst a formfeed$type = "O'
will always force a new page.BLANK or omitted will force a new page unconditionally.
Values (case-insensitive)
'O'
or'odd'
: Add a new page if required to make current page an ODD one.'E'
or'even'
: Add a new page if required to make current page an EVEN one.'NEXT-ODD'
: Add one or two pages as required to make the current page ODD.'NEXT-EVEN'
: Add one or two pages as required to make the current page EVEN.
- $resetpagenum =
1 - ∞
-
Sets/resets the document page number to $resetpagenum starting on the new page. (The value must be a positive integer).
BLANK or omitted or
0
leaves the current page number sequence unchanged. - $pagenumstyle =
1|A|a|I|i|[+ any value supported for list-style-type]
-
Sets/resets the page numbering style (values as for cf. lists)
BLANK or omitted leaves the current page number style unchanged.
Values (case-sensitive)
'1'
: Decimal - 1,2,3,4…'A'
: Alpha uppercase - A,B,C,D…'a'
: Alpha lowercase - a,b,c,d…'I'
: Roman uppercase - I, II, III, IV…'i'
: Roman lowercase - i, ii, iii, iv…
- $suppress =
on|off|1|0
-
$suppress = 'on'
will suppress document page numbers from the new page onwards (until$suppress = 'off'
is used)BLANK or omitted leaves the current condition unchanged.
Values (case-insensitive)
1
or'on'
: Suppress (hide) page numbers from the new page forwards.0
or'off'
: Show page numbers from the new page forwards.
- $margin-left
- $margin-right
- $margin-top
- $margin-bottom
- $margin-header
- $margin-footer
-
Sets the page margins from the new page forwards.
All values should be specified as LENGTH in any valid CSS form.
If you are writing a DOUBLE-SIDED document, the margin values will be used for ODD pages; left and right margins will be mirrored for EVEN pages.
BLANK or omitted leaves the current margin unchanged. NB
0
(zero) will set the margin to zero. - $odd-header-name
- $even-header-name
- $odd-footer-name
- $even-footer-name
-
Selects a header or footer by name to use from the new page forwards. The header/footer must already have been defined using <pageheader>, <pagefooter>, <htmlpageheader>, or <htmlpagefooter>.
If you are writing a SINGLE-SIDED document, the values for ODD will be used for all pages, and values for EVEN will be ignored.
BLANK or omitted leaves the header/footer unchanged. NB
""
will not unset the header. Use $odd-header-value to turn the header off.Note: You must add the prefix
html_
before the name if it is a HTMLHeader. - $odd-header-value
- $even-header-value
- $odd-footer-value
- $even-footer-value
-
Specify whether to show or hide the named header or footer from the new page forwards. The header/footer must already have been defined using <pageheader>, <pagefooter>, <htmlpageheader> or <htmlpagefooter>.
If you are writing a SINGLE-SIDED document, the values for ODD will be used for all pages, and values for EVEN will be ignored.
BLANK or omitted or
0
leaves the header/footer state unchanged.Values (case-insensitive)
1
or'on'
: Start using the selected header/footer from the new page onwards.-1
or'off'
: Stop using the selected header from the new page onwards.
- $page-selector
-
Select a named CSS @page.
BLANK or omitted or leaves the CSS page unchanged.
See Using @page for more information
Changelog
Version | Description |
---|---|
2.3 | Function was added. |
3.0 | $resetpagenum changed to allow positive integers above 1 |
4.2 | Parameter $page-selector was added |
Examples
<html>
<div>
Text of introduction...
<formfeed />
This text will start on a new page, and will also have a blue border etc...
</div>
</html>
Notes
Note: See
<pagebreak>
for further examples using the attributes. There is no PHP equivalent of <formfeed>
but you can use
$restoreBlockPagebreaks
See Also
- AddPage() - Add one or more (conditional) pages to the document
- <pagebreak> - Forces a new page
- restoreBlockPagebreaks - forces
<pagebreak>
to act in the same way as<formfeed>