mPDF Manual – HTML control tags

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

'O' or 'ODD'

0 0 1

'E' or 'EVEN'

0 1 0

'NEXT-ODD'

1 2 1

'NEXT-EVEN'

1 1 2

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.

$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

See Also

Fork me on GitHub