mPDF

Tables

CSS Styles

The CSS properties for tables and cells is increased over that in html2fpdf. It includes recognition of THEAD, TFOOT and TH.
See below for other facilities such as autosizing, and rotation.

Row 1This is dataThis is data
Row 2

This is data p

This is data out of p

This is bold data p

This is bold data out of p
This is normal data after br

H3 in a table

This is data div
This is data out of div
This is data div (bold)
This is data out of div

More data

This is large text

Row 3

This is long data

This is data

Row 4 <td> cell

This is data

This is data

Row 5Also dataAlso data
Row 6Also dataAlso data
Row 7Also dataAlso data
Row 8Also dataAlso data

This table has padding-left and -right set to 5mm i.e. padding within the cells. Also border colour and style, font family and size are set by CSS.

Row 1This is dataThis is data
Row 2

This is data p

More data

Row 3

This is long data

This is data

Row 4 <td> cell

This is data

This is data

Row 5Also dataAlso data
Row 6Also dataAlso data
Row 7Also dataAlso data
Row 8Also dataAlso data

This table has padding-top and -bottom set to 3mm i.e. padding within the cells. Also background-, border colour and style, font family and size are set by in-line CSS.

Row 1This is dataThis is data
Row 2

This is data p

More data

Row 3

This is long data

This is data

Table Styles

The style sheet used for these examples shows some of the table styles I use on my website. The property \'topntail\' defined by a border-type definition e.g. "1px solid #880000" puts a border at the top and bottom of the table, and also below a header row (thead) if defined. Note also that <thead> will automatically turn on the header-repeat i.e. reproduce the header row at the top of each page.

bpmTopic Class

Row 1 This is data This is data
Row 2

This is data p

More data

Row 3

This is long data

This is data

Row 4 <td> cell

This is data

This is data

Row 5 Also data Also data
Row 6 Also data Also data
Row 7 Also data Also data
Row 8 Also data Also data

 

bpmTopicC Class (centered) Odd and Even rows

Col/Row Header

Second column header p

Third column header
Row header 1 This is data This is data
Row header 2

This is data p

This is data

Row header 3

This is long data

This is data

Row header 4

<th> cell acting as header

This is data

This is data

Row header 5 Also data Also data
Row header 6 Also data Also data
Row header 7 Also data Also data
Row header 8 Also data Also data

 

bpmTopnTail Class

Row 1 This is data This is data
Row 2

This is data p

This is data

Row 3

This is long data

This is data

Row 4 <td> cell

This is data

This is data

Row 5 Also data Also data
Row 6 Also data Also data
Row 7 Also data Also data
Row 8 Also data Also data

 

bpmTopnTailC Class (centered) Odd and Even rows

Col/Row Header

Second column header p

Third column header
Row header 1 This is data This is data
Row header 2

This is data p

This is data

Row header 3

This is long data

This is data

Row header 4

<th> cell acting as header

This is data

This is data

Row header 5 Also data Also data
Row header 6 Also data Also data
Row header 7 Also data Also data
Row header 8 Also data Also data

 

TopnTail Class

Col and Row Header

Second

column

Top right align

Row header 1 p

This is data This is data
Row header 2 Bottom right align

This is data. Can use

bold italic sub or sup text

Bottom right align

This is data. This cell

uses Cell Styles to set

the borders.

All borders are collapsible

in mPDF.

This is data
Row header 4

This is data p

More data
Row header 5 Also data merged and centered

 

Lists in a Table

Col and Row Header

Second

column

Top right align

Row header 1 p

This is data This is data
Row header 2
  1. Item 1
  2. Item 2
    1. Subitem of ordered list
    2. Subitem 2
      1. Level 3 subitem
      2. Level 3 subitem
  3. Item 3
  4. Another Item
  5. Subitem
    1. Level 3 subitem
  6. Another Item
Unordered list:
  • Item 1
  • Item 2
    • Subitem of unordered list
    • Subitem 2
      • Level 3 subitem
      • Level 3 subitem
      • Level 3 subitem
  • Item 3

 

Automatic Column Width

Causes Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit.
Ut a eros at ligula vehicula pretium; maecenas feugiat pede vel risus.
Suspendisse potenti
Mechanisms Ut magna ipsum, tempus in, condimentum at, rutrum et, nisl. Vestibulum interdum luctus sapien. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Maecenas consectetuer eros quis massa. Mauris semper velit vehicula purus. Duis lacus. Aenean pretium consectetuer mauris. Ut purus sem, consequat ut, fermentum sit amet, ornare sit amet, ipsum. Donec non nunc. Maecenas fringilla. Curabitur libero. In dui massa, malesuada sit amet, hendrerit vitae, viverra nec, tortor. Donec varius. Ut ut dolor et tellus adipiscing adipiscing.

ColSpan & Rowspan

Causes Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit.
Ut a eros at ligula vehicula pretium; maecenas feugiat pede vel risus.
Suspendisse potenti
Fusce eleifend neque sit amet erat.
Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus.
Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla.
Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien.

Table Header & Footer Rows

A table using a header row should repeat the header row across pages:

bpmTopicC Class

Col and Row Header

Second column header

Third column header
Col and Row Footer

Second column footer

Third column footer
Row header 1 This is data This is data
Row header 2 This is data

This is data

Row header 3

This is data

This is data
Row header 4 This is data

This is data

Row header 5 Also data Also data
Row header 6 Also data Also data
Row header 7 Also data Also data
Row header 8 Also data Also data
Row header 9 Also data Also data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data
Another Row headerAlso dataAlso data

 

Autosizing Tables

Periodic Table of elements. Tables are set by default to reduce font size if complete words will not fit inside each cell, to a maximum of 1/1.4 * the set font-size. This value can be changed by setting $mpdf->shrink_tables_to_fit=1.8 or using html attribute <table autosize="1.8">.

Periodic Table
1A2A3B4B5B6B7B8B8B8B1B2B3A4A5A6A7A8A
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
Cs Ba La Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
Fr Ra Ac
Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu
Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr

Rotating Tables

This is set to rotate -90 degrees (counterclockwise).

Periodic Table

1A2A3B4B5B6B7B8B8B8B1B2B3A4A5A6A7A8A
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
Cs Ba La Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
Fr Ra Ac
Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu
Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr

 

Rotated text in Table Cells

Periodic Table

Element type 1A

Second line

Element type longer 2A

Element type 3B Element type 4B Element type 5B Element type 6B 7B8B Element type 8B R 8B Element type 1B 2B Element type 3A Element type 4A Element type 5A Element type 6A 7A Element type 8A
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Sc Ti Va Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
Cs Ba La Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
Fr Ra Ac
Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu
Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No Lr

 

'; //============================================================== //============================================================== //============================================================== include("../mpdf.php"); $mpdf=new mPDF('c','A4','','',32,25,27,25,16,13); $mpdf->SetDisplayMode('fullpage'); $mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list // LOAD a stylesheet $stylesheet = file_get_contents('mpdfstyletables.css'); $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text $mpdf->WriteHTML($html,2); $mpdf->Output('mpdf.pdf','I'); exit; //============================================================== //============================================================== //============================================================== ?>