example46_progress_bars_simple.php 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608
  1. <?php
  2. //==============================================================
  3. //==============================================================
  4. define("_JPGRAPH_PATH", '../../jpgraph_5/jpgraph/'); // must define this before including mpdf.php file
  5. $JpgUseSVGFormat = true;
  6. define('_MPDF_URI','../'); // must be a relative or absolute URI - not a file system path
  7. //==============================================================
  8. //==============================================================
  9. ini_set("memory_limit","64M");
  10. $html = '
  11. <html><head>
  12. <meta http-equiv="Content-Language" content="en-GB">
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  14. <style>
  15. body { font-family:"Times New Roman"; font-size:10pt; }
  16. p.littlewomen { margin: 0; font-family: sans-serif; text-align: justify; }
  17. h1, h2, h3, h4, h5, h6 { font-family: DejaVuSansCondensed; }
  18. table {font-family: DejaVuSansCondensed; font-size: 9pt; line-height: 1.2;
  19. vertical-align: top;
  20. margin-top: 2pt; margin-bottom: 5pt;
  21. border-collapse: collapse; }
  22. thead { font-weight: bold; vertical-align: bottom; }
  23. th { font-weight: bold;
  24. text-align:left;
  25. padding-left: 2mm;
  26. padding-right: 2mm;
  27. padding-top: 0.5mm;
  28. padding-bottom: 0.5mm;
  29. }
  30. td { padding-left: 2mm;
  31. text-align:left;
  32. padding-right: 2mm;
  33. padding-top: 0.5mm;
  34. padding-bottom: 0.5mm;
  35. }
  36. th p { text-align: left; margin:0pt; }
  37. td p { text-align: left; margin:0pt; }
  38. table.widecells td {
  39. padding-left: 5mm;
  40. padding-right: 5mm;
  41. }
  42. table.tallcells td {
  43. padding-top: 3mm;
  44. padding-bottom: 3mm;
  45. } .sub td { vertical-align:top; border-top:0px; border-bottom:0px; padding:2px; padding-right:8px;
  46. margin:0; font-size:9pt; }
  47. .sub { align:center; border:#888888 1px solid; }
  48. thead td { font-weight: bold; }
  49. table.nested {
  50. border-collapse: separate;
  51. border: 4px solid #880000;
  52. padding: 3px;
  53. margin: 0px 20px 0px 20px;
  54. empty-cells: hide;
  55. background-color:#FFFFCC;
  56. }
  57. table.nested td {
  58. border: 1px solid #008800;
  59. padding: 0px;
  60. background-color:#ECFFDF;
  61. }
  62. table.outer2 {
  63. border-collapse: separate;
  64. border: 4px solid #088000;
  65. padding: 3px;
  66. margin: 10px 0px;
  67. empty-cells: hide;
  68. background-color: yellow;
  69. }
  70. table.outer2 td {
  71. font-family: Times;
  72. border: 1px solid #008800;
  73. padding: 0px;
  74. background-color:#ECFFDF;
  75. }
  76. table.inner {
  77. border-collapse: collapse;
  78. border: 2px solid #000088;
  79. padding: 3px;
  80. margin: 5px;
  81. empty-cells: show;
  82. background-color:#FFCCFF;
  83. }
  84. table.inner td {
  85. border: 1px solid #000088;
  86. padding: 0px;
  87. font-family: monospace;
  88. font-style: italic;
  89. font-weight: bold;
  90. color: #880000;
  91. background-color:#FFECDF;
  92. }
  93. table.collapsed {
  94. border-collapse: collapse;
  95. }
  96. table.collapsed td {
  97. background-color:#EDFCFF;
  98. }
  99. .headerrow td, .headerrow th { background-gradient: linear #b7cebd #f5f8f5 0 1 0 0.2; }
  100. .footerrow td, .footerrow th { background-gradient: linear #b7cebd #f5f8f5 0 1 0 0.2; }
  101. .evenrow td, .evenrow th { background-color: #f5f8f5; }
  102. .oddrow td, .oddrow th { background-color: #e3ece4; }
  103. .bpmTopic { background-color: #e3ece4; }
  104. .bpmTopicC { background-color: #e3ece4; }
  105. .bpmNoLines { background-color: #e3ece4; }
  106. .bpmNoLinesC { background-color: #e3ece4; }
  107. .bpmClear { }
  108. .bpmClearC { text-align: center; }
  109. .bpmTopnTail { background-color: #e3ece4; topntail: 0.02cm solid #495b4a;}
  110. .bpmTopnTailC { background-color: #e3ece4; topntail: 0.02cm solid #495b4a;}
  111. .bpmTopnTailClear { topntail: 0.02cm solid #495b4a; }
  112. .bpmTopnTailClearC { topntail: 0.02cm solid #495b4a; }
  113. .bpmTopicC td, .bpmTopicC td p { text-align: center; }
  114. .bpmNoLinesC td, .bpmNoLinesC td p { text-align: center; }
  115. .bpmClearC td, .bpmClearC td p { text-align: center; }
  116. .bpmTopnTailC td, .bpmTopnTailC td p { text-align: center; }
  117. .bpmTopnTailClearC td, .bpmTopnTailClearC td p { text-align: center; }
  118. .pmhMiddleCenter { text-align:center; vertical-align:middle; }
  119. .pmhMiddleRight { text-align:right; vertical-align:middle; }
  120. .pmhBottomCenter { text-align:center; vertical-align:bottom; }
  121. .pmhBottomRight { text-align:right; vertical-align:bottom; }
  122. .pmhTopCenter { text-align:center; vertical-align:top; }
  123. .pmhTopRight { text-align:right; vertical-align:top; }
  124. .pmhTopLeft { text-align:left; vertical-align:top; }
  125. .pmhBottomLeft { text-align:left; vertical-align:bottom; }
  126. .pmhMiddleLeft { text-align:left; vertical-align:middle; }
  127. .bpmTopic td, .bpmTopic th { border-top: 1px solid #FFFFFF; }
  128. .bpmTopicC td, .bpmTopicC th { border-top: 1px solid #FFFFFF; }
  129. .bpmTopnTail td, .bpmTopnTail th { border-top: 1px solid #FFFFFF; }
  130. .bpmTopnTailC td, .bpmTopnTailC th { border-top: 1px solid #FFFFFF; }
  131. .lista { list-style-type: upper-roman; }
  132. .listb{ list-style-type: decimal; font-family: sans-serif; color: blue; font-weight: bold; font-style: italic; font-size: 19pt; }
  133. .listc{ list-style-type: upper-alpha; text-indent: 25mm; }
  134. .listd{ list-style-type: lower-alpha; color: teal; line-height: 2; }
  135. .liste{ list-style-type: disc; }
  136. .roundgradient {
  137. border:0.05mm solid #220044;
  138. background-color: #f0f2ff;
  139. background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5;
  140. border-radius: 10mm / 10mm;
  141. background-clip: border-box;
  142. padding: 3.3mm;
  143. }
  144. .phpcode {
  145. border:1px solid #555555;
  146. background-color: #DDDDDD;
  147. padding: 1em;
  148. font-size:8pt;
  149. font-family: lucidaconsole, mono;
  150. }
  151. </style>
  152. </head><body>
  153. <!-- DEFINE HEADERS & FOOTERS -->
  154. <htmlpageheader name="myHTMLHeaderOdd">
  155. <div style="font-family:sans-serif; background-color:#BBEEFF" align="center"><b>mPDF Example File</b></div>
  156. </htmlpageheader>
  157. <htmlpageheader name="myHTMLHeaderEven">
  158. <div style="font-family:sans-serif; background-color:#EFFBBE" align="center"><b><i>mPDF Example File</i></b></div>
  159. </htmlpageheader>
  160. <htmlpagefooter name="myHTMLFooterOdd" style="display:none">
  161. <div style="font-family:sans-serif; background-color:#CFFFFC" align="center"><b>{PAGENO}/{nbpg}</b></div>
  162. </htmlpagefooter>
  163. <htmlpagefooter name="myHTMLFooterEven" style="display:none">
  164. <div style="font-family:sans-serif; background-color:#FFCCFF" align="center"><b><i>{PAGENO}/{nbpg}</i></b></div>
  165. </htmlpagefooter>
  166. <pagefooter name="myFooter2Odd" content-left="" content-center="mPDF Example File" content-right="{PAGENO}/{nbpg}" footer-style="font-family:sans-serif; font-size:9pt; font-weight:bold; color:#000088;" footer-style-right="font-weight: bold;" line="on" />
  167. <pagefooter name="myFooter2Even" content-left="{PAGENO}/{nbpg}" content-center="mPDF Example File" content-right="{DATE j-m-Y}" footer-style="font-family:sans-serif; font-size:10pt; color:#880000;" footer-style-left="font-weight:bold;" line="on" />
  168. <!-- FRONT COVER -->
  169. <div style="position: absolute; left:0; right: 0; top: 0; bottom: 0;">
  170. <img src="clematis.jpg" style="width: 210mm; height: 297mm; margin: 0;" />
  171. </div>
  172. <div style="position: absolute; left:32mm; right: 25mm; top: 70mm; width: 58%; margin-right: auto; margin-left:auto; ">
  173. <div style="padding: 1em; font-family: Arial; font-weight: bold; font-size: 28pt; border: 3px solid #000044; border-radius: 5mm; background-clip: border-box; color: #000044; background-color: #FFFFFF;">
  174. mPDF Example File
  175. </div>
  176. </div>
  177. <pagebreak />
  178. <p>The front cover can also be produced like this:</p>
  179. <!-- EXAMPLE PHP CODE -->
  180. <div class="phpcode">'. nl2br(htmlspecialchars('/* ALTERNATIVE PHP METHOD */
  181. $mpdf->Image(\'clematis.jpg\',0,0,210,297,\'jpg\',\'\',true, false);
  182. // the last "false" allows a full page picture
  183. $mpdf->y = 70;
  184. $mpdf->Shaded_box(\'mPDF Example File\', \'Trebuchet\', \'\', 28, \'70%\', \'DF\', 3, \'#FFFFFF\', \'#000044\', 10);
  185. ')) .'</div>
  186. <!-- END EXAMPLE PHP CODE -->
  187. <!-- TABLES OF CONTENTS -->
  188. <tocpagebreak toc-preHTML="&lt;h2&gt;CONTENTS&lt;/h2&gt;" links="1" toc-bookmarkText="Contents" resetpagenum="1" pagenumstyle="1"
  189. odd-header-name="html_myHTMLHeaderOdd" odd-header-value="1" even-header-name="html_myHTMLHeaderEven" even-header-value="1" odd-footer-name="myFooter2Odd" odd-footer-value="1" even-footer-name="myFooter2Even" even-footer-value="1" />
  190. <tocpagebreak name="Figures" toc-preHTML="&lt;h2&gt;FIGURES&lt;/h2&gt;" links="1" toc-bookmarkText="Figures" />
  191. <tocpagebreak name="Tables" toc-preHTML="&lt;h2&gt;TABLES&lt;/h2&gt;" links="1" toc-bookmarkText="Tables" />
  192. <!-- SECTION 1 -->
  193. <h1>(H1) mPDF</h1>
  194. <h2>(H2) Section 1<bookmark content="Section 1" level="0" /></h2>
  195. <h3>(H3) HTML Markup<bookmark content="HTML Markup" level="1" /><tocentry name="" content="HTML Markup" level="0" /><indexentry content="HTML Markup" /></h3>
  196. <tocentry name="" content="HTML Markup" level="1" />
  197. <tocentry name="" content="HTML Markup" level="2" />
  198. <h4>Heading 4</h4>
  199. <h5>Heading 5</h5>
  200. <h6>Heading 6</h6>
  201. <p>P: Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </p>
  202. <hr />
  203. <div>DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim. </div>
  204. <div>DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim. </div>
  205. <blockquote>Blockquote: Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus. Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus.</blockquote>
  206. <address>Address: Vestibulum feugiat, orci at imperdiet tincidunt, mauris erat facilisis urna, sagittis ultricies dui nisl et lectus. Sed lacinia, lectus vitae dictum sodales, elit ipsum ultrices orci, non euismod arcu diam non metus.</address>
  207. <pre>PRE: Cum sociis natoque penatibus et magnis dis parturient montes,
  208. nascetur ridiculus mus. In suscipit turpis vitae odio. Integer convallis
  209. dui at metus. Fusce magna. Sed sed lectus vitae enim tempor cursus. Cras
  210. sed, posuere et, urna. Quisque ut leo. Aliquam interdum hendrerit tortor.
  211. Vestibulum elit. Vestibulum et arcu at diam mattis commodo. Nam ipsum sem,
  212. ultricies at, rutrum sit amet, posuere nec, velit. Sed molestie mollis dui.</pre>
  213. <div><a href="http://mpdf.bpm1.com/manual/">Hyperlink (&lt;a&gt;)</a></div>
  214. <div>Styles - <tt>tt(teletype)</tt> <i>italic</i> <b>bold</b> <big>big</big> <small>small</small> <em>emphasis</em> <strong>strong</strong> <br />new lines<br>
  215. <code>code</code> <samp>sample</samp> <kbd>keyboard</kbd> <var>variable</var> <cite>citation</cite> <abbr>abbr.</abbr> <acronym>ACRONYM</acronym> <sup>sup</sup> <sub>sub</sub> <strike>strike</strike> <s>strike-s</s> <u>underline</u> <del>delete</del> <ins>insert</ins> <q>To be or not to be</q> <font face="sans-serif" color="#880000" size="5">font changing face, size and color</font>
  216. </div>
  217. <p style="font-size:15pt; color:#440066">Paragraph using the in-line style to determine the font-size (15pt) and colour</p>
  218. <h3>Testing BIG, SMALL, UNDERLINE, STRIKETHROUGH, FONT color, ACRONYM, SUPERSCRIPT and SUBSCRIPT</h3>
  219. <p>This is <s>strikethrough</s> in <b><s>block</s></b> and <small>small <s>strikethrough</s> in <i>small span</i></small> and <big>big <s>strikethrough</s> in big span</big> and then <u>underline and <s>strikethrough and <sup>sup</sup></s></u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</p>
  220. <p>This is a <font color="#008800">green reference<sup>32-47</sup></font> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> then <s>Strikethrough reference<sup>32-47</sup></s> and <s>strikethrough reference<sub>32-47</sub></s></p>
  221. <p><big>Repeated in <u>BIG</u>: This is reference<sup>32-47</sup> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</big></p>
  222. <p><small>Repeated in small: This is reference<sup>32-47</sup> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</small></p>
  223. <p>The above repeated, but starting with a paragraph with font-size specified (7pt)</p>
  224. <p style="font-size:7pt;">This is <s>strikethrough</s> in block and <small>small <s>strikethrough</s> in small span</small> and then <u>underline</u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</p>
  225. <p style="font-size:7pt;">This is <s>strikethrough</s> in block and <big>big <s>strikethrough</s> in big span</big> and then <u>underline</u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</p>
  226. <p style="font-size:7pt;">This is reference<sup>32-47</sup> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> then <s>Strikethrough reference<sup>32-47</sup></s> and <s>strikethrough reference<sub>32-47</sub></s></p>
  227. <p><small>This tests <u>underline</u> and <s>strikethrough</s> when they are <s><u>used together</u></s> as they both use text-decoration</small></p>
  228. <p><small>Repeated in small: This is reference<sup>32-47</sup> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</small></p>
  229. <p style="font-size:7pt;"><big>Repeated in BIG but with font-size set to 7pt by in-line css: This is reference<sup>32-47</sup> and <u>underlined reference<sup>32-47</sup></u> then reference<sub>32-47</sub> and <u>underlined reference<sub>32-47</sub></u> but out of span again but <font color="#000088">blue</font> font and <acronym>ACRONYM</acronym> text</big></p>
  230. <ol>
  231. <li>Item <b><u>1</u></b></li>
  232. <li>Item 2<sup>32</sup></li>
  233. <li><small>Item</small> 3</li>
  234. <li>Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate. Donec luctus. Cras euismod tellus vel leo.
  235. <ul>
  236. <li>Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate. Donec luctus. Cras euismod tellus vel leo. </li>
  237. <li>Subitem 2
  238. <ul>
  239. <li>
  240. Level 3 subitem
  241. </li>
  242. </ul>
  243. </li>
  244. </ul>
  245. </li>
  246. <li>Item 5</li>
  247. </ol>
  248. <p>Sed bibendum. Nunc eleifend ornare velit. Sed consectetuer urna in erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Mauris sodales semper metus. Maecenas justo libero, pretium at, malesuada eu, mollis et, arcu. Ut suscipit pede in nulla. Praesent elementum, dolor ac fringilla posuere, elit libero rutrum massa, vel tincidunt dui tellus a ante. Sed aliquet euismod dolor. Vestibulum sed dui. Duis lobortis hendrerit quam. Donec tempus orci ut libero. Pellentesque suscipit malesuada nisi. </p>
  249. <tocentry name="Tables" content="Basic table" level="0" />
  250. <table border="1" cellpadding="5">
  251. <thead>
  252. <tr>
  253. <th>Data</th>
  254. <th>Data</th>
  255. <td>Data</td>
  256. <td>Data<br />2nd line</td>
  257. </tr>
  258. </thead>
  259. <tbody>
  260. <tr>
  261. <th>More Data</th>
  262. <td>More Data</td>
  263. <td>More Data</td>
  264. <td>Data<br />2nd line</td>
  265. </tr>
  266. <tr>
  267. <th>Data</th>
  268. <td>Data</td>
  269. <td>Data</td>
  270. <td>Data<br />2nd line</td>
  271. </tr>
  272. <tr>
  273. <th>Data</th>
  274. <td>Data</td>
  275. <td>Data</td>
  276. <td>Data<br />2nd line</td>
  277. </tr>
  278. </tbody>
  279. </table>
  280. This paragraph has border-radius and background-gradient set. Minimum padding is recommended as 1/3rd of the border-radius. Or can use $mpdf->autoPadding.
  281. <p class="roundgradient">Sed bibendum. Nunc eleifend ornare velit. Sed consectetuer urna in erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Mauris sodales semper metus. Maecenas justo libero, pretium at, malesuada eu, mollis et, arcu. Ut suscipit pede in nulla. Praesent elementum, dolor ac fringilla posuere, elit libero rutrum massa, vel tincidunt dui tellus a ante. Sed aliquet euismod dolor. Vestibulum sed dui. Duis lobortis hendrerit quam. Donec tempus orci ut libero. Pellentesque suscipit malesuada nisi. </p>
  282. <!-- HYPHENATION -->
  283. <pagebreak />
  284. <h3>Hyphenation<bookmark content="Hyphenation" level="1" /><tocentry name="" content="Hyphenation" level="0" /><indexentry content="Hyphenation" /></h3>
  285. <h4>Little Women - Chapter One - Playing Pilgrims</h4>
  286. <columns column-count="4" vAlign="J" column-gap="7" />
  287. <p class="littlewomen"> Christmas won\'t be Christmas without any presents, grumbled Jo, lying on the rug.</p><p class="littlewomen"> It\'s so dreadful to be poor! sighed Meg, looking down at her old dress.</p><p class="littlewomen"> I don\'t think it\'s fair for some girls to have plenty of pretty things, and other girls nothing at all, added little Amy, with an injured sniff.</p><p class="littlewomen"> We\'ve got Father and Mother, and each other, said Beth contentedly from her corner.</p><p class="littlewomen">The four young faces on which the firelight shone brightened at the cheerful words, but darkened again as Jo said sadly, We haven\'t got Father, and shall not have him for a long time. She didn\'t say perhaps never, but each silently added it, thinking of Father far away, where the fighting was.</p><p class="littlewomen">Nobody spoke for a minute; then Meg said in an altered tone, You know the reason Mother proposed not having any presents this Christmas was because it is going to be a hard winter for everyone; and she thinks we ought not to spend money for pleasure, when our men are suffering so in the army. We can\'t do much, but we can make our little sacrifices, and ought to do it gladly. But I am afraid I don\'t And Meg shook her head, as she thought regretfully of all the pretty things she wanted.</p><p class="littlewomen"> But I don\'t think the little we should spend would do any good. We\'ve each got a dollar, and the army wouldn\'t be much helped by our giving that. I agree not to expect anything from Mother or you, but I do want to buy UNDINE AND SINTRAM for myself. I\'ve wanted it so long, said Jo, who was a bookworm.</p><p class="littlewomen"> I planned to spend mine in new music, said Beth, with a little sigh, which no one heard but the hearth brush and kettle holder.</p><p class="littlewomen"> I shall get a nice box of Faber\'s drawing pencils. I really need them, said Amy decidedly.</p><p class="littlewomen"> Mother didn\'t say anything about our money, and she won\'t wish us to give up everything. Let\'s each buy what we want, and have a little fun. I\'m sure we work hard enough to earn it, cried Jo, examining the heels of her shoes in a gentlemanly manner.</p><p class="littlewomen"> I know I do&mdash;teaching those tiresome children nearly all day, when I\'m longing to enjoy myself at home, began Meg, in the complaining tone again.</p><p class="littlewomen"> You don\'t have half such a hard time as I do, said Jo. How would you like to be shut up for hours with a nervous, fussy old lady, who keeps you trotting, is never satisfied, and worries you till you you\'re ready to fly out the window or cry? </p><p class="littlewomen"> It\'s naughty to fret, but I do think washing dishes and keeping things tidy is the worst work in the world. It makes me cross, and my hands get so stiff, I can\'t practice well at all. And Beth looked at her rough hands with a sigh that any one could hear that time.</p><p class="littlewomen"> I don\'t believe any of you suffer as I do, cried Amy, for you don\'t have to go to school with impertinent girls, who plague you if you don\'t know your lessons, and laugh at your dresses, and label your father if he isn\'t rich, and insult you when your nose isn\'t nice. </p><p class="littlewomen"> If you mean libel, I\'d say so, and not talk about labels, as if Papa was a pickle bottle, advised Jo, laughing.</p><p class="littlewomen"> I know what I mean, and you needn\'t be satirical about it. It\'s proper to use good words, and improve your vocabulary, returned Amy, with dignity.</p><p class="littlewomen"> Don\'t peck at one another, children. Don\'t you wish we had the money Papa lost when we were little, Jo? Dear me! How happy and good we\'d be, if we had no worries! said Meg, who could remember better times.</p><p class="littlewomen"> You said the other day you thought we were a deal happier than the King children, for they were fighting and fretting all the time, in spite of their money. </p><p class="littlewomen"> So I did, Beth. Well, I think we are. For though we do have to work, we make fun of ourselves, and are a pretty jolly set, as Jo would say. </p><p class="littlewomen"> Jo does use such slang words! observed Amy, with a reproving look at the long figure stretched on the rug.</p><p class="littlewomen">Jo immediately sat up, put her hands in her pockets, and began to whistle.</p><p class="littlewomen"> Don\'t, Jo. It\'s so boyish! </p><p class="littlewomen"> That\'s why I do it. </p><p class="littlewomen"> I detest rude, unladylike girls! </p><p class="littlewomen"> I hate affected, niminy-piminy chits! </p><p class="littlewomen"> Birds in their little nests agree, sang Beth, the peacemaker, with such a funny face that both sharp voices softened to a laugh, and the pecking ended for that time.</p><p class="littlewomen"> Really, girls, you are both to be blamed, said Meg, beginning to lecture in her elder-sisterly fashion. You are old enough to leave off boyish tricks, and to behave better, Josephine. It didn\'t matter so much when you were a little girl, but now you are so tall, and turn up your hair, you should remember that you are a young lady. </p><p class="littlewomen"> I\'m not! And if turning up my hair makes me one, I\'ll wear it in two tails till I\'m twenty, cried Jo, pulling off her net, and shaking down a chestnut mane. I hate to think I\'ve got to grow up, and be Miss March, and wear long gowns, and look as prim as a China Aster! It\'s bad enough to be a girl, anyway, when I like boy\'s games and work and manners! I can\'t get over my disappointment in not being a boy. And it\'s worse than ever now, for I\'m dying to go and fight with Papa. And I can only stay home and knit, like a poky old woman! </p><p class="littlewomen">And Jo shook the blue army sock till the needles rattled like castanets, and her ball bounded across the room.</p><p class="littlewomen"> Poor Jo! It\'s too bad, but it can\'t be helped. So you must try to be contented with making your name boyish, and playing brother to us girls, said Beth, stroking the rough head with a hand that all the dish washing and dusting in the world could not make ungentle in its touch.</p><p class="littlewomen"> As for you, Amy, continued Meg, you are altogether to particular and prim. Your airs are funny now, but you\'ll grow up an affected little goose, if you don\'t take care. I I like your nice manners and refined ways of speaking, when you don\'t try to be elegant. But your absurd words are as bad as Jo\'s slang. </p><p class="littlewomen"> If Jo is a tomboy and Amy a goose, what am I, please? asked Beth, ready to share the lecture.</p><p class="littlewomen"> You\'re a dear, and nothing else, answered Meg warmly, and no one contradicted her, for the \'Mouse\' was the pet of the family.</p>
  288. <columns column-count="1" />
  289. <!-- LISTS -->
  290. <pagebreak />
  291. <h3>Lists<bookmark content="Lists" level="1" /><tocentry name="" content="Lists" level="0" /><indexentry content="Lists" /></h3>
  292. <div style="background-color:#ddccff; padding:0pt; border: 1px solid #555555;">
  293. <ol class="lista">
  294. <li>Text here lorem ipsum ibisque totum.</li>
  295. <li><span style="color:green; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</span></li>
  296. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  297. <li>Text here lorem ipsum ibisque totum. Text here lorem ipsum ibisque totum. Text here lorem ipsum ibisque totum. Text here lorem ipsum ibisque totum. Text here lorem ipsum ibisque totum. Text here lorem ipsum ibisque totum.</li>
  298. <li>Text here lorem ipsum ibisque totum.</li>
  299. <li>Text here lorem ipsum ibisque totum.
  300. <ol class="listb">
  301. <li>Text here lorem ipsum ibisque totum.</li>
  302. <li><span style="color:green; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</span></li>
  303. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  304. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  305. <li>Text here lorem ipsum ibisque totum.</li>
  306. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.
  307. <ol class="listc">
  308. <li>Big text indent 25mm: Text here lorem ipsum ibisque totum.</li>
  309. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.
  310. </li>
  311. <li>Text here lorem ipsum ibisque totum.
  312. <ol class="listd">
  313. <li>Text here lorem ipsum ibisque totum.</li>
  314. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  315. <li>Text here lorem ipsum ibisque totum.</li>
  316. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  317. <li>Text here lorem ipsum ibisque totum.
  318. <ol class="liste">
  319. <li>Text here lorem ipsum ibisque totum.</li>
  320. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  321. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  322. <li>Text here lorem ipsum ibisque totum.</li>
  323. <li>Text here lorem ipsum ibisque totum.</li>
  324. </ol>
  325. </li>
  326. <li>Text here lorem ipsum ibisque totum.</li>
  327. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  328. <li>Text here lorem ipsum ibisque totum.</li>
  329. <li>Text here lorem ipsum ibisque totum.</li>
  330. </ol>
  331. </li>
  332. <li>Text here lorem ipsum ibisque totum.</li>
  333. </ol>
  334. </li>
  335. <li>Text here lorem ipsum ibisque totum.</li>
  336. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  337. <li>Text here lorem ipsum ibisque totum.</li>
  338. <li>Text here lorem ipsum ibisque totum.</li>
  339. </ol>
  340. </li>
  341. <li>Text here lorem ipsum ibisque totum.</li>
  342. <li>Text here lorem ipsum ibisque totum.
  343. <ol class="listc">
  344. <li>Big text indent 25mm: Text here lorem ipsum ibisque totum.</li>
  345. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  346. <li>Text here lorem ipsum ibisque totum.
  347. <ol class="listd">
  348. <li>Text here lorem ipsum ibisque totum.</li>
  349. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  350. <li>Text here lorem ipsum ibisque totum.</li>
  351. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.
  352. <ol class="liste">
  353. <li>Text here lorem ipsum ibisque totum.</li>
  354. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  355. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  356. <li>Text here lorem ipsum ibisque totum.</li>
  357. <li>Text here lorem ipsum ibisque totum.</li>
  358. </ol>
  359. </li>
  360. <li>Text here lorem ipsum ibisque totum.</li>
  361. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  362. <li>Text here lorem ipsum ibisque totum.
  363. <ol>
  364. <li>No class specified. Text here lorem ipsum ibisque totum.</li>
  365. <li style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">Text here lorem ipsum ibisque totum.</li>
  366. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  367. <li>Text here lorem ipsum ibisque totum.</li>
  368. <li>Text here lorem ipsum ibisque totum.</li>
  369. </ol>
  370. </li>
  371. </ol>
  372. </li>
  373. </ol>
  374. </li>
  375. <li>Text here lorem ipsum ibisque totum.</li>
  376. <li>Text here lorem <span style="color:red; font-size:9pt; font-family:courier; font-weight: normal; font-style: normal;">ipsum</span> ibisque totum.</li>
  377. <li>Text here lorem ipsum ibisque totum.</li>
  378. <li>Text here lorem ipsum ibisque totum.</li>
  379. <li>Text here lorem ipsum ibisque totum.</li>
  380. <li>Text here lorem ipsum ibisque totum.</li>
  381. <li>Text here lorem ipsum ibisque totum.</li>
  382. </ol>
  383. </div>
  384. <!-- TABLES -->
  385. <pagebreak />
  386. <h3>Tables<bookmark content="Tables" level="1" /><tocentry name="" content="Tables" level="0" /><tocentry name="Tables" content="Tables - general" level="0" /><indexentry content="Tables" /></h3>
  387. <p>mPDF supports all in-line properties inside tables.</p>
  388. <table border="1">
  389. <tbody><tr><td>Row 1</td><td>This is data</td><td>This is data</td></tr>
  390. <tr><td>Row 2</td>
  391. <td>
  392. <p>This is data p</p>
  393. This is data out of p
  394. <p style="font-weight:bold; font-size:20pt; background-color:#FFBBFF;">This is bold data p</p>
  395. <b>This is bold data out of p</b><br />
  396. This is normal data after br
  397. <h3>Heading 3 inside a table</h3>
  398. Text here lorem <i>ipsum</i> ibisque totum.<sup>32</sup>
  399. <div>This is data div</div>
  400. This is data out of div
  401. <div style="font-weight:bold;">This is data div (bold)</div>
  402. This is data out of div
  403. </td>
  404. <td>Also data</td></tr>
  405. </tbody></table>
  406. <p>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 <acronym>CSS</acronym>.</p>
  407. <table style="border: 1px solid #880000; background-color: #BBCCDD; font-family: Mono; font-size: 7pt; " class="tallcells">
  408. <tbody><tr><td>Row 1</td><td>This is data</td><td>This is data</td></tr>
  409. <tr><td>Row 2</td><td><p>This is data p</p></td><td><p>More data</p></td></tr>
  410. <tr><td><p>Row 3</p></td><td><p>This is long data</p></td><td>This is data</td></tr>
  411. </tbody></table>
  412. <h4>Tables<bookmark content="Table styles" level="2" /><tocentry name="Tables" content="Table styles" level="0" /><indexentry content="Table:styles" /></h4>
  413. <p>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 &lt;thead&gt; will automatically turn on the header-repeat i.e. reproduce the header row at the top of each page.</p>
  414. <p>bpmTopic Class</p>
  415. <table class="bpmTopic"><thead></thead><tbody>
  416. <tr>
  417. <td>Row 1</td>
  418. <td>This is data</td>
  419. <td>This is data</td>
  420. </tr>
  421. <tr>
  422. <td>Row 2</td>
  423. <td>
  424. <p>This is data p</p>
  425. </td>
  426. <td>
  427. <p>More data</p>
  428. </td>
  429. </tr>
  430. <tr>
  431. <td>
  432. <p>Row 3</p>
  433. </td>
  434. <td>
  435. <p>This is long data</p>
  436. </td>
  437. <td>This is data</td>
  438. </tr>
  439. <tr>
  440. <td>
  441. <p>Row 4 &lt;td&gt; cell</p>
  442. </td>
  443. <td>This is data</td>
  444. <td>
  445. <p>This is data</p>
  446. </td>
  447. </tr>
  448. <tr>
  449. <td>Row 5</td>
  450. <td>Also data</td>
  451. <td>Also data</td>
  452. </tr>
  453. <tr>
  454. <td>Row 6</td>
  455. <td>Also data</td>
  456. <td>Also data</td>
  457. </tr>
  458. <tr>
  459. <td>Row 7</td>
  460. <td>Also data</td>
  461. <td>Also data</td>
  462. </tr>
  463. <tr>
  464. <td>Row 8</td>
  465. <td>Also data</td>
  466. <td>Also data</td>
  467. </tr>
  468. </tbody></table>
  469. <p>&nbsp;</p>
  470. <p>bpmTopic<b>C</b> Class (centered) Odd and Even rows</p>
  471. <table class="bpmTopicC"><thead>
  472. <tr class="headerrow"><th>Col/Row Header</th>
  473. <td>
  474. <p>Second column header p</p>
  475. </td>
  476. <td>Third column header</td>
  477. </tr>
  478. </thead><tbody>
  479. <tr class="oddrow"><th>Row header 1</th>
  480. <td>This is data</td>
  481. <td>This is data</td>
  482. </tr>
  483. <tr class="evenrow"><th>Row header 2</th>
  484. <td>
  485. <p>This is data p</p>
  486. </td>
  487. <td>
  488. <p>This is data</p>
  489. </td>
  490. </tr>
  491. <tr class="oddrow"><th>
  492. <p>Row header 3</p>
  493. </th>
  494. <td>
  495. <p>This is long data</p>
  496. </td>
  497. <td>This is data</td>
  498. </tr>
  499. <tr class="evenrow"><th>
  500. <p>Row header 4</p>
  501. <p>&lt;th&gt; cell acting as header</p>
  502. </th>
  503. <td>This is data</td>
  504. <td>
  505. <p>This is data</p>
  506. </td>
  507. </tr>
  508. <tr class="oddrow"><th>Row header 5</th>
  509. <td>Also data</td>
  510. <td>Also data</td>
  511. </tr>
  512. <tr class="evenrow"><th>Row header 6</th>
  513. <td>Also data</td>
  514. <td>Also data</td>
  515. </tr>
  516. <tr class="oddrow"><th>Row header 7</th>
  517. <td>Also data</td>
  518. <td>Also data</td>
  519. </tr>
  520. <tr class="evenrow"><th>Row header 8</th>
  521. <td>Also data</td>
  522. <td>Also data</td>
  523. </tr>
  524. </tbody></table>
  525. <p>&nbsp;</p>
  526. <p>bpmTopnTail Class </p>
  527. <table class="bpmTopnTail"><thead></thead><tbody>
  528. <tr>
  529. <td>Row 1</td>
  530. <td>This is data</td>
  531. <td>This is data</td>
  532. </tr>
  533. <tr>
  534. <td>Row 2</td>
  535. <td>
  536. <p>This is data p</p>
  537. </td>
  538. <td>
  539. <p>This is data</p>
  540. </td>
  541. </tr>
  542. <tr>
  543. <td>
  544. <p>Row 3</p>
  545. </td>
  546. <td>
  547. <p>This is long data</p>
  548. </td>
  549. <td>This is data</td>
  550. </tr>
  551. <tr>
  552. <td>
  553. <p>Row 4 &lt;td&gt; cell</p>
  554. </td>
  555. <td>This is data</td>
  556. <td>
  557. <p>This is data</p>
  558. </td>
  559. </tr>
  560. <tr>
  561. <td>Row 5</td>
  562. <td>Also data</td>
  563. <td>Also data</td>
  564. </tr>
  565. <tr>
  566. <td>Row 6</td>
  567. <td>Also data</td>
  568. <td>Also data</td>
  569. </tr>
  570. <tr>
  571. <td>Row 7</td>
  572. <td>Also data</td>
  573. <td>Also data</td>
  574. </tr>
  575. <tr>
  576. <td>Row 8</td>
  577. <td>Also data</td>
  578. <td>Also data</td>
  579. </tr>
  580. </tbody></table>
  581. <p>&nbsp;</p>
  582. <p>bpmTopnTail<b>C</b> Class (centered) Odd and Even rows</p>
  583. <table class="bpmTopnTailC"><thead>
  584. <tr class="headerrow"><th>Col/Row Header</th>
  585. <td>
  586. <p>Second column header p</p>
  587. </td>
  588. <td>Third column header</td>
  589. </tr>
  590. </thead><tbody>
  591. <tr class="oddrow"><th>Row header 1</th>
  592. <td>This is data</td>
  593. <td>This is data</td>
  594. </tr>
  595. <tr class="evenrow"><th>Row header 2</th>
  596. <td>
  597. <p>This is data p</p>
  598. </td>
  599. <td>
  600. <p>This is data</p>
  601. </td>
  602. </tr>
  603. <tr class="oddrow"><th>
  604. <p>Row header 3</p>
  605. </th>
  606. <td>
  607. <p>This is long data</p>
  608. </td>
  609. <td>This is data</td>
  610. </tr>
  611. <tr class="evenrow"><th>
  612. <p>Row header 4</p>
  613. <p>&lt;th&gt; cell acting as header</p>
  614. </th>
  615. <td>This is data</td>
  616. <td>
  617. <p>This is data</p>
  618. </td>
  619. </tr>
  620. <tr class="oddrow"><th>Row header 5</th>
  621. <td>Also data</td>
  622. <td>Also data</td>
  623. </tr>
  624. <tr class="evenrow"><th>Row header 6</th>
  625. <td>Also data</td>
  626. <td>Also data</td>
  627. </tr>
  628. <tr class="oddrow"><th>Row header 7</th>
  629. <td>Also data</td>
  630. <td>Also data</td>
  631. </tr>
  632. <tr class="evenrow"><th>Row header 8</th>
  633. <td>Also data</td>
  634. <td>Also data</td>
  635. </tr>
  636. </tbody></table>
  637. <p>&nbsp;</p>
  638. <p>TopnTail Class</p>
  639. <table class="bpmTopnTail"><thead>
  640. <tr class="headerrow"><th>Col and Row Header</th>
  641. <td>
  642. <p>Second</p>
  643. <p>column</p>
  644. </td>
  645. <td class="pmhTopRight">Top right align</td>
  646. </tr>
  647. </thead><tbody>
  648. <tr class="oddrow"><th>
  649. <p>Row header 1 p</p>
  650. </th>
  651. <td>This is data</td>
  652. <td>This is data</td>
  653. </tr>
  654. <tr class="evenrow"><th>Row header 2</th>
  655. <td class="pmhBottomRight"><b><i>Bottom right align</i></b></td>
  656. <td>
  657. <p>This is data. Can use</p>
  658. <p><b>bold</b> <i>italic </i><sub>sub</sub> or <sup>sup</sup> text</p>
  659. </td>
  660. </tr>
  661. <tr class="oddrow"><th class="pmhBottomRight">
  662. <p>Bottom right align</p>
  663. </th>
  664. <td class="pmhMiddleCenter" style="border: #000000 1px solid">
  665. <p>This is data. This cell</p>
  666. <p>uses Cell Styles to set</p>
  667. <p>the borders.</p>
  668. <p>All borders are collapsible</p>
  669. <p>in mPDF.</p>
  670. </td>
  671. <td>This is data</td>
  672. </tr>
  673. <tr class="evenrow"><th>Row header 4</th>
  674. <td>
  675. <p>This is data p</p>
  676. </td>
  677. <td>More data</td>
  678. </tr>
  679. <tr class="oddrow"><th>Row header 5</th>
  680. <td colspan="2" class="pmhTopCenter">Also data merged and centered</td>
  681. </tr>
  682. </tbody></table>
  683. <p>&nbsp;</p>
  684. <h4>Lists in a Table<bookmark content="Lists in a table" level="2" /><tocentry name="Tables" content="Lists in a table" level="0" /><indexentry content="Table:lists inside" /></h4>
  685. <table class="bpmTopnTail"><thead>
  686. <tr class="headerrow"><th>Col and Row Header</th>
  687. <td>
  688. <p>Second</p>
  689. <p>column</p>
  690. </td>
  691. <td class="pmhTopRight">Top right align</td>
  692. </tr>
  693. </thead><tbody>
  694. <tr class="oddrow"><th>
  695. <p>Row header 1 p</p>
  696. </th>
  697. <td>This is data</td>
  698. <td>This is data</td>
  699. </tr>
  700. <tr class="evenrow"><th>Row header 2</th>
  701. <td>
  702. <ol>
  703. <li>Item 1</li>
  704. <li>Item 2
  705. <ol type="a">
  706. <li>Subitem of ordered list</li>
  707. <li>Subitem 2
  708. <ol type="i">
  709. <li>Level 3 subitem</li>
  710. <li>Level 3 subitem</li>
  711. </ol>
  712. </li>
  713. </ol>
  714. </li>
  715. <li>Item 3</li>
  716. <li>Another Item</li>
  717. <li>Subitem
  718. <ol>
  719. <li>Level 3 subitem</li>
  720. </ol>
  721. </li>
  722. <li>Another Item</li>
  723. </ol>
  724. </td>
  725. <td>
  726. Unordered list:
  727. <ul>
  728. <li>Item 1</li>
  729. <li>Item 2
  730. <ul>
  731. <li>Subitem of unordered list</li>
  732. <li>Subitem 2
  733. <ul>
  734. <li>Level 3 subitem</li>
  735. <li>Level 3 subitem</li>
  736. <li>Level 3 subitem</li>
  737. </ul>
  738. </li>
  739. </ul>
  740. </li>
  741. <li>Item 3</li>
  742. </ul>
  743. </td>
  744. </tr>
  745. </tbody></table>
  746. <p>&nbsp;</p>
  747. <h4>Automatic Column Width<bookmark content="Automatic Column Width" level="2" /><tocentry name="Tables" content="Automatic column width" level="0" /><indexentry content="Table:automatic column width" /></h4>
  748. <table class="bpmTopnTail"><tbody>
  749. <tr>
  750. <td>Causes</td>
  751. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. <br />
  752. Ut a eros at ligula vehicula pretium; maecenas feugiat pede vel risus.<br />
  753. Suspendisse potenti</td>
  754. </tr>
  755. <tr>
  756. <td>Mechanisms</td>
  757. <td>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.</td>
  758. </tr>
  759. </tbody></table>
  760. <h4>Column span<bookmark content="Column span" level="2" /><tocentry name="Tables" content="Column span" level="0" /><indexentry content="Table:column span" /></h4>
  761. <table class="bpmTopnTail"><tbody>
  762. <tr>
  763. <td>Causes</td>
  764. <td colspan="2">Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. <br />
  765. Ut a eros at ligula vehicula pretium; maecenas feugiat pede vel risus.<br />
  766. Suspendisse potenti</td>
  767. </tr>
  768. <tr>
  769. <td>Mechanisms</td>
  770. <td>Fusce eleifend neque sit amet erat.<br />
  771. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus.</td>
  772. <td>Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla.<br />
  773. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien.</td>
  774. </tr>
  775. </tbody></table>
  776. <h4>Header & Footer Rows<bookmark content="Header Rows" level="2" /><tocentry name="Tables" content="Header rows" level="0" /><indexentry content="Table:header rows" /></h4>
  777. <p>A table using a header or footer row should repeat the header/footer row across pages:</p>
  778. <p>bpmTopic<b>C</b> Class</p>
  779. <table class="bpmTopicC">
  780. <thead>
  781. <tr class="headerrow"><th>Col and Row Header</th>
  782. <td>
  783. <p>Second column header</p>
  784. </td>
  785. <td>Third column header</td>
  786. </tr>
  787. </thead>
  788. <tfoot>
  789. <tr class="headerrow"><th>Col and Row Footer</th>
  790. <td>
  791. <p>Second column footer</p>
  792. </td>
  793. <td>Third column footer</td>
  794. </tr>
  795. </tfoot>
  796. <tbody>
  797. <tr><th>Row header 1</th>
  798. <td>This is data</td>
  799. <td>This is data</td>
  800. </tr>
  801. <tr><th>Row header 2</th>
  802. <td>This is data</td>
  803. <td>
  804. <p>This is data</p>
  805. </td>
  806. </tr>
  807. <tr><th>
  808. <p>Row header 3</p>
  809. </th>
  810. <td>
  811. <p>This is data</p>
  812. </td>
  813. <td>This is data</td>
  814. </tr>
  815. <tr><th>Row header 4</th>
  816. <td>This is data</td>
  817. <td>
  818. <p>This is data</p>
  819. </td>
  820. </tr>
  821. <tr><th>Row header 5</th>
  822. <td>Also data</td>
  823. <td>Also data</td>
  824. </tr>
  825. <tr><th>Row header 6</th>
  826. <td>Also data</td>
  827. <td>Also data</td>
  828. </tr>
  829. <tr><th>Row header 7</th>
  830. <td>Also data</td>
  831. <td>Also data</td>
  832. </tr>
  833. <tr><th>Row header 8</th>
  834. <td>Also data</td>
  835. <td>Also data</td>
  836. </tr>
  837. <tr><th>Row header 9</th>
  838. <td>Also data</td>
  839. <td>Also data</td>
  840. </tr>
  841. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  842. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  843. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  844. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  845. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  846. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  847. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  848. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  849. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  850. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  851. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  852. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  853. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  854. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  855. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  856. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  857. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  858. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  859. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  860. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  861. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  862. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  863. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  864. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  865. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  866. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  867. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  868. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  869. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  870. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  871. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  872. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  873. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  874. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  875. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  876. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  877. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  878. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  879. <tr><th>Another Row header</th><td>Also data</td><td>Also data</td></tr>
  880. </tbody></table>
  881. <p>&nbsp;</p>
  882. <h4>Autosizing Tables<bookmark content="Autosizing Tables" level="2" /><tocentry name="Tables" content="Autosizing tables" level="0" /><indexentry content="Table:autosizing" /></h4>
  883. <p>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 &lt;table autosize="1.8"&gt;.</p>
  884. <h5>Periodic Table</h5>
  885. <table style="border:1px solid #000000;" cellPadding="14"><thead>
  886. <tr><th>1A</th><th>2A</th><th>3B</th><th>4B</th><th>5B</th><th>6B</th><th>7B</th><th>8B</th><th>8B</th><th>8B</th><th>1B</th><th>2B</th><th>3A</th><th>4A</th><th>5A</th><th>6A</th><th>7A</th><th>8A</th></tr></thead><tbody>
  887. <tr>
  888. <td colspan="18"></td>
  889. </tr>
  890. <tr>
  891. <td>H </td><td colspan="16"></td><td>He </td>
  892. </tr>
  893. <tr>
  894. <td>Li </td><td>Be </td><td colspan="10"></td><td>B </td><td>C </td><td>N </td><td>O </td><td>F </td><td>Ne </td>
  895. </tr>
  896. <tr>
  897. <td>Na </td><td>Mg </td><td colspan="10"></td><td>Al </td><td>Si </td><td>P </td><td>S </td><td>Cl </td><td>Ar </td>
  898. </tr>
  899. <tr>
  900. <td>K </td><td>Ca </td><td>Sc </td><td>Ti </td><td>V </td><td>Cr </td><td>Mn </td><td>Fe </td><td>Co </td><td>Ni </td>
  901. <td>Cu </td><td>Zn </td><td>Ga </td><td>Ge </td><td>As </td><td>Se </td><td>Br </td><td>Kr </td>
  902. </tr>
  903. <tr>
  904. <td>Rb </td><td>Sr </td><td>Y </td><td>Zr </td><td>Nb </td><td>Mo </td><td>Tc </td><td>Ru </td><td>Rh </td><td>Pd </td><td>Ag </td><td>Cd </td>
  905. <td>In </td><td>Sn </td><td>Sb </td><td>Te </td><td>I </td><td>Xe </td>
  906. </tr>
  907. <tr>
  908. <td>Cs </td><td>Ba </td><td>La </td><td>Hf </td><td>Ta </td><td>W </td><td>Re </td><td>Os </td><td>Ir </td><td>Pt </td><td>Au </td>
  909. <td>Hg </td><td>Tl </td><td>Pb </td><td>Bi </td><td>Po </td><td>At </td><td>Rn </td>
  910. </tr>
  911. <tr>
  912. <td>Fr </td><td>Ra </td><td>Ac </td><td colspan="15"></td>
  913. </tr>
  914. <tr>
  915. <td colspan="18"></td></tr>
  916. <tr>
  917. <td colspan="3"></td><td>Ce </td><td>Pr </td><td>Nd </td><td>Pm </td><td>Sm </td><td>Eu </td><td>Gd </td><td>Tb </td>
  918. <td>Dy </td><td>Ho </td><td>Er </td><td>Tm </td><td>Yb </td><td>Lu </td><td></td>
  919. </tr>
  920. <tr>
  921. <td colspan="3"></td><td>Th </td><td>Pa </td><td>U </td><td>Np </td><td>Pu </td><td>Am </td><td>Cm </td><td>Bk </td><td>Cf </td>
  922. <td>Es </td><td>Fm </td><td>Md </td><td>No </td><td>Lr </td><td></td>
  923. </tr>
  924. </tbody></table>
  925. <pagebreak />
  926. <h4>Rotated Tables<bookmark content="Rotated Tables" level="2" /><tocentry name="Tables" content="Rotated table" level="0" /><indexentry content="Table:rotated" /></h4>
  927. <p>This is set to rotate -90 degrees (counterclockwise).</p>
  928. <h5>Periodic Table</h5>
  929. <p>
  930. <table rotate="-90" class="bpmClearC"><thead>
  931. <tr><th>1A</th><th>2A</th><th>3B</th><th>4B</th><th>5B</th><th>6B</th><th>7B</th><th>8B</th><th>8B</th><th>8B</th><th>1B</th><th>2B</th><th>3A</th><th>4A</th><th>5A</th><th>6A</th><th>7A</th><th>8A</th></tr></thead><tbody>
  932. <tr>
  933. <td></td>
  934. <td colspan="18"></td>
  935. </tr>
  936. <tr>
  937. <td>H </td><td colspan="15"></td><td></td><td>He </td>
  938. </tr>
  939. <tr>
  940. <td>Li </td><td>Be </td><td colspan="10"></td><td>B </td><td>C </td><td>N </td><td>O </td><td>F </td><td>Ne </td>
  941. </tr>
  942. <tr>
  943. <td>Na </td><td>Mg </td><td colspan="10"></td><td>Al </td><td>Si </td><td>P </td><td>S </td><td>Cl </td><td>Ar </td>
  944. </tr>
  945. <tr>
  946. <td>K </td><td>Ca </td><td>Sc </td><td>Ti </td><td>V </td><td>Cr </td><td>Mn </td><td>Fe </td><td>Co </td><td>Ni </td><td>Cu </td>
  947. <td>Zn </td><td>Ga </td><td>Ge </td><td>As </td><td>Se </td><td>Br </td><td>Kr </td>
  948. </tr>
  949. <tr>
  950. <td>Rb </td><td>Sr </td><td>Y </td><td>Zr </td><td>Nb </td><td>Mo </td><td>Tc </td><td>Ru </td><td>Rh </td><td>Pd </td>
  951. <td>Ag </td><td>Cd </td><td>In </td><td>Sn </td><td>Sb </td><td>Te </td><td>I </td><td>Xe </td>
  952. </tr>
  953. <tr>
  954. <td>Cs </td><td>Ba </td><td>La </td><td>Hf </td><td>Ta </td><td>W </td><td>Re </td><td>Os </td><td>Ir </td><td>Pt </td><td>Au </td>
  955. <td>Hg </td><td>Tl </td><td>Pb </td><td>Bi </td><td>Po </td><td>At </td><td>Rn </td>
  956. </tr>
  957. <tr>
  958. <td>Fr </td><td>Ra </td><td>Ac </td>
  959. </tr>
  960. <tr>
  961. <td></td>
  962. <td colspan="18"></td>
  963. </tr>
  964. <tr>
  965. <td colspan="3"></td><td>Ce </td><td>Pr </td><td>Nd </td><td>Pm </td><td>Sm </td><td>Eu </td><td>Gd </td><td>Tb </td><td>Dy </td>
  966. <td>Ho </td><td>Er </td><td>Tm </td><td>Yb </td><td>Lu </td><td></td>
  967. </tr>
  968. <tr>
  969. <td colspan="3"></td><td>Th </td><td>Pa </td><td>U </td><td>Np </td><td>Pu </td><td>Am </td><td>Cm </td><td>Bk </td>
  970. <td>Cf </td><td>Es </td><td>Fm </td><td>Md </td><td>No </td><td>Lr </td><td></td>
  971. </tr>
  972. </tbody></table>
  973. <p>&nbsp;</p>
  974. <pagebreak />
  975. <h4>Rotated text in Tables<bookmark content="Rotated text in Tables" level="2" /><tocentry name="Tables" content="Rotated text in table" level="0" /><indexentry content="Table:rotated text" /></h4>
  976. <h5>Periodic Table</h5>
  977. <table>
  978. <thead>
  979. <tr text-rotate="45">
  980. <th><p>Element type 1A</p><p>Second line</p><th><p>Element type longer 2A</p></th>
  981. <th>Element type 3B</th><th>Element type 4B</th><th>Element type 5B</th><th>Element type 6B</th><th>7B</th><th>8B</th>
  982. <th>Element type 8B R</th><th>8B</th><th>Element <span>type</span> 1B</th><th>2B</th>
  983. <th>Element type 3A</th><th>Element type 4A</th><th>Element type 5A</th><th>Element type 6A</th><th>7A</th><th>Element type 8A</th>
  984. </tr>
  985. </thead>
  986. <tbody>
  987. <tr>
  988. <td>H</td><td colspan="15"></td><td></td><td>He </td>
  989. </tr>
  990. <tr>
  991. <td>Li </td><td>Be </td><td colspan="10"></td><td>B </td><td>C </td><td>N </td><td>O </td><td>F </td><td>Ne </td>
  992. </tr>
  993. <tr>
  994. <td>Na </td><td>Mg </td><td colspan="10"></td><td>Al </td><td>Si </td><td>P </td><td>S </td><td>Cl </td><td>Ar </td>
  995. </tr>
  996. <tr style="text-rotate: 45">
  997. <td>K </td><td>Ca </td><td>Sc </td><td>Ti</td><td>Va</td><td>Cr</td><td>Mn</td><td>Fe</td><td>Co</td><td>Ni </td>
  998. <td>Cu </td><td>Zn </td><td>Ga </td><td>Ge </td><td>As </td><td>Se </td><td>Br </td><td>Kr </td>
  999. </tr>
  1000. <tr>
  1001. <td>Rb </td><td>Sr </td><td>Y </td><td>Zr </td><td>Nb </td><td>Mo </td><td>Tc </td><td>Ru </td>
  1002. <td style="text-align:right; ">Rh</td><td>Pd </td><td>Ag </td><td>Cd </td><td>In </td><td>Sn </td>
  1003. <td>Sb </td><td>Te </td><td>I </td><td>Xe </td>
  1004. </tr>
  1005. <tr>
  1006. <td>Cs </td><td>Ba </td><td>La </td><td>Hf </td><td>Ta </td><td>W </td><td>Re </td><td>Os </td><td>Ir </td>
  1007. <td>Pt </td><td>Au </td><td>Hg </td><td>Tl </td><td>Pb </td><td>Bi </td><td>Po </td><td>At </td><td>Rn </td>
  1008. </tr>
  1009. <tr>
  1010. <td>Fr </td><td>Ra </td><td colspan="16">Ac </td>
  1011. </tr>
  1012. <tr>
  1013. <td colspan="3"></td>
  1014. <td>Ce </td><td>Pr </td><td>Nd </td><td>Pm </td><td>Sm </td><td>Eu </td><td>Gd </td><td>Tb </td><td>Dy </td>
  1015. <td>Ho </td><td>Er </td><td>Tm </td><td>Yb </td><td>Lu </td><td></td>
  1016. </tr>
  1017. <tr>
  1018. <td colspan="3"></td>
  1019. <td>Th </td><td>Pa </td><td>U </td><td>Np </td><td>Pu </td><td>Am </td><td>Cm </td><td>Bk </td><td>Cf </td><td>Es </td>
  1020. <td>Fm </td><td>Md </td><td>No </td><td>Lr </td><td></td>
  1021. </tr>
  1022. </tbody></table>
  1023. <pagebreak />
  1024. <h4>Nested Tables<bookmark content="Nested Tables" level="2" /><tocentry name="Tables" content="Nested tables" level="0" /><indexentry content="Table:nested" /></h4>
  1025. <div style="border: 2px solid #000088; background-color: #DDDDFF; padding: 2mm;">
  1026. Text before table
  1027. <div style="border: 2px solid #008888; background-color: #DCAFCF; padding: 2mm;">
  1028. <table cellSpacing="2" rotate="-90" align="center" autosize="1.5" class="nested" style="page-break-inside: avoid; ">
  1029. <tbody>
  1030. <tr>
  1031. <td>This is data</td>
  1032. <td>This is data</td>
  1033. <td>
  1034. <table cellSpacing="2" class="nested">
  1035. <tbody>
  1036. <tr>
  1037. <td>Row A</td>
  1038. <td>A2</td>
  1039. <td>A3</td>
  1040. <td>A4</td>
  1041. </tr>
  1042. <tr>
  1043. <td>Row B</td>
  1044. <td>B2</td>
  1045. <td>B3</td>
  1046. <td>B4</td>
  1047. </tr>
  1048. <tr>
  1049. <td>Row C</td>
  1050. <td>C2</td>
  1051. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id <a href="http://www.dummy.com">euismod auctor</a>, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </td>
  1052. <td>C4</td>
  1053. </tr>
  1054. <tr>
  1055. <td>Row D</td>
  1056. <td>D2</td>
  1057. <td>D3</td>
  1058. <td>D4</td>
  1059. </tr>
  1060. </tbody></table>
  1061. </td>
  1062. <td>This is data</td>
  1063. </tr>
  1064. <tr>
  1065. <td>This is data</td>
  1066. <td>This is data</td>
  1067. <td>
  1068. <table cellSpacing="2" class="nested">
  1069. <tbody>
  1070. <tr>
  1071. <td>Row A</td>
  1072. <td>A2</td>
  1073. <td>A3</td>
  1074. <td>A4</td>
  1075. </tr>
  1076. <tr>
  1077. <td>Row B</td>
  1078. <td>B2</td>
  1079. <td>B3</td>
  1080. <td>B4</td>
  1081. </tr>
  1082. <tr>
  1083. <td>Row C</td>
  1084. <td>C2</td>
  1085. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </td>
  1086. <td>C4</td>
  1087. </tr>
  1088. <tr>
  1089. <td>Row D</td>
  1090. <td>D2</td>
  1091. <td>D3</td>
  1092. <td>D4</td>
  1093. </tr>
  1094. </tbody></table>
  1095. </td>
  1096. <td>This is data</td>
  1097. </tr>
  1098. <tr>
  1099. <td>This is data</td>
  1100. <td>This is data</td>
  1101. <td>
  1102. <table cellSpacing="2" class="nested">
  1103. <tbody>
  1104. <tr>
  1105. <td>Row A</td>
  1106. <td>A2</td>
  1107. <td>A3</td>
  1108. <td>A4</td>
  1109. </tr>
  1110. <tr>
  1111. <td>Row B</td>
  1112. <td>B2</td>
  1113. <td>B3</td>
  1114. <td>B4</td>
  1115. </tr>
  1116. <tr>
  1117. <td>Row C</td>
  1118. <td>C2</td>
  1119. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </td>
  1120. <td>C4</td>
  1121. </tr>
  1122. <tr>
  1123. <td>Row D</td>
  1124. <td>D2</td>
  1125. <td>D3</td>
  1126. <td>D4</td>
  1127. </tr>
  1128. </tbody></table>
  1129. </td>
  1130. <td>This is data</td>
  1131. </tr>
  1132. <tr>
  1133. <td>This is data</td>
  1134. <td>This is data</td>
  1135. <td>
  1136. <table cellSpacing="2" class="nested">
  1137. <tbody>
  1138. <tr>
  1139. <td>Row A</td>
  1140. <td>A2</td>
  1141. <td>A3</td>
  1142. <td>A4</td>
  1143. </tr>
  1144. <tr>
  1145. <td>Row B</td>
  1146. <td>B2</td>
  1147. <td>B3</td>
  1148. <td>B4</td>
  1149. </tr>
  1150. <tr>
  1151. <td>Row C</td>
  1152. <td>C2</td>
  1153. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </td>
  1154. <td>C4</td>
  1155. </tr>
  1156. <tr>
  1157. <td>Row D</td>
  1158. <td>D2</td>
  1159. <td>D3</td>
  1160. <td>D4</td>
  1161. </tr>
  1162. </tbody></table>
  1163. </td>
  1164. <td>This is data</td>
  1165. </tr>
  1166. <tr>
  1167. <td>This is data</td>
  1168. <td>This is data</td>
  1169. <td>This is data</td>
  1170. <td>This is data</td>
  1171. </tr>
  1172. <tr>
  1173. <td>This is data</td>
  1174. <td></td>
  1175. <td>This is data</td>
  1176. <td>This is data</td>
  1177. </tr>
  1178. <tr>
  1179. <td>This is data</td>
  1180. <td>This is data</td>
  1181. <td>This is data</td>
  1182. <td>This is data</td>
  1183. </tr>
  1184. </tbody></table>
  1185. </div>
  1186. <p>Text before table</p>
  1187. <table cellSpacing="2" class="outer2" autosize="3" style="page-break-inside:avoid">
  1188. <tbody>
  1189. <tr>
  1190. <td>Row 1</td>
  1191. <td>This is data</td>
  1192. <td style="text-align: right;">
  1193. Text before table
  1194. <table cellSpacing="2" class="inner" width="80%">
  1195. <tbody>
  1196. <tr>
  1197. <td>Row A</td>
  1198. <td>A2</td>
  1199. <td>A3</td>
  1200. <td>A4</td>
  1201. </tr>
  1202. <tr>
  1203. <td>Row B</td>
  1204. <td>B2</td>
  1205. <td>B3</td>
  1206. <td>B4</td>
  1207. </tr>
  1208. <tr>
  1209. <td>Row C</td>
  1210. <td>C2</td>
  1211. <td>C3</td>
  1212. <td>C4</td>
  1213. </tr>
  1214. <tr>
  1215. <td>Row D</td>
  1216. <td>D2</td>
  1217. <td>D3</td>
  1218. <td>D4</td>
  1219. </tr>
  1220. </tbody></table>
  1221. <p>Text after table</p>
  1222. </td>
  1223. <td>This is data</td>
  1224. </tr>
  1225. <tr>
  1226. <td>Row 2</td>
  1227. <td>This is data</td>
  1228. <td>This is data</td>
  1229. <td>This is data</td>
  1230. </tr>
  1231. <tr>
  1232. <td>Row 3</td>
  1233. <td style="text-align: center; vertical-align: middle;">
  1234. <table cellSpacing="2" class="inner" width="80%">
  1235. <tbody>
  1236. <tr>
  1237. <td>Row A</td>
  1238. <td>A2</td>
  1239. <td>A3</td>
  1240. <td>A4</td>
  1241. </tr>
  1242. <tr>
  1243. <td>Row B</td>
  1244. <td>B2</td>
  1245. <td style="text-align:center;"><img src="sunset.jpg" width="84" style="border:3px solid #44FF44; vertical-align:top; " /></td>
  1246. <td>B4</td>
  1247. </tr>
  1248. <tr>
  1249. <td>Row C</td>
  1250. <td>C2</td>
  1251. <td>
  1252. <table cellSpacing="2">
  1253. <tbody>
  1254. <tr>
  1255. <td>F1</td>
  1256. <td>F2</td>
  1257. </tr>
  1258. <tr>
  1259. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec et nulla. Sed quis orci.</td>
  1260. <td>G2</td>
  1261. </tr>
  1262. </tbody></table>
  1263. </td>
  1264. <td>C4</td>
  1265. </tr>
  1266. <tr>
  1267. <td>Row D</td>
  1268. <td>D2</td>
  1269. <td>D3</td>
  1270. <td>D4</td>
  1271. </tr>
  1272. </tbody></table>
  1273. </td>
  1274. <td style="vertical-align: bottom; ">
  1275. <table cellSpacing="2" class="inner" align="right">
  1276. <tbody>
  1277. <tr>
  1278. <td>Row A</td>
  1279. <td>A2</td>
  1280. <td>A3</td>
  1281. <td>A4</td>
  1282. </tr>
  1283. <tr>
  1284. <td>Row B</td>
  1285. <td>B2</td>
  1286. <td>B3</td>
  1287. <td>B4</td>
  1288. </tr>
  1289. <tr>
  1290. <td>Row C</td>
  1291. <td>C2</td>
  1292. <td>C3</td>
  1293. <td>C4</td>
  1294. </tr>
  1295. <tr>
  1296. <td>Row D</td>
  1297. <td>D2</td>
  1298. <td>D3</td>
  1299. <td>D4</td>
  1300. </tr>
  1301. </tbody></table>
  1302. </td>
  1303. <td>This is data</td>
  1304. </tr>
  1305. <tr>
  1306. <td>Row 4</td>
  1307. <td>This is data</td>
  1308. <td><table cellSpacing="2" class="inner">
  1309. <tbody>
  1310. <tr>
  1311. <td>Row A</td>
  1312. <td>A2</td>
  1313. <td>A3</td>
  1314. <td>A4</td>
  1315. </tr>
  1316. <tr>
  1317. <td>Row B</td>
  1318. <td>B2</td>
  1319. <td style="text-align:center;"><img src="sunset.jpg" width="84" style="border:3px solid #44FF44; vertical-align:top; " /></td>
  1320. <td>B4</td>
  1321. </tr>
  1322. <tr>
  1323. <td>Row C</td>
  1324. <td>C2</td>
  1325. <td>
  1326. <table cellSpacing="2">
  1327. <tbody>
  1328. <tr>
  1329. <td>F1</td>
  1330. <td>F2</td>
  1331. </tr>
  1332. <tr>
  1333. <td>Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec et nulla. Sed quis orci.</td>
  1334. <td>G2</td>
  1335. </tr>
  1336. </tbody></table>
  1337. </td>
  1338. <td>C4</td>
  1339. </tr>
  1340. <tr>
  1341. <td>Row D</td>
  1342. <td>D2</td>
  1343. <td>D3</td>
  1344. <td>D4</td>
  1345. </tr>
  1346. </tbody></table>
  1347. </td>
  1348. <td>This is data</td>
  1349. </tr>
  1350. </tbody></table>
  1351. </div>
  1352. <!-- FORMS -->
  1353. <pagebreak />
  1354. <h3>Forms<bookmark content="Forms" level="1" /><tocentry name="" content="Forms" level="0" /><indexentry content="Forms" /></h3>
  1355. <form>
  1356. <b>Textarea</b>
  1357. <textarea name="authors" rows="5" cols="80" wrap="virtual">Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra.
  1358. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. Quisque viverra. Etiam id libero at magna pellentesque aliquet. Nulla sit amet ipsum id enim tempus dictum. </textarea>
  1359. <br /><br />
  1360. <b>Select</b>
  1361. <select size="1" name="status"><option value="A">Active</option><option value="W" >New item from auto_manager: pending validation</option><option value="I" selected="selected">Incomplete record - pending</option><option value="X" >Flagged for Deletion</option> </select> followed by text
  1362. <br /><br />
  1363. <b>Input Radio</b>
  1364. <input type="radio" name="recommended" value="0" > No &nbsp;&nbsp;&nbsp;&nbsp; <input type="radio" name="recommended" value="1" > Keep &nbsp;&nbsp;&nbsp;&nbsp; <input type="radio" name="recommended" value="2" checked="checked" > Choice
  1365. <br /><br />
  1366. <b>Input Text</b>
  1367. <input type="text" size="190" name="doi" value="10.1258/jrsm.100.5.211">
  1368. <br /><br />
  1369. <b>Input Password</b>
  1370. <input type="password" size="40" name="password" value="secret">
  1371. <br /><br />
  1372. <input type="checkbox" name="QPC" value="ON" > Checkboxes<br>
  1373. <input type="checkbox" name="QPA" value="ON" > Not selected<br>
  1374. <input type="checkbox" name="QPA" value="ON" disabled="disabled"> Disabled<br>
  1375. <input type="checkbox" name="QLY" value="ON" checked="checked" > Selected
  1376. <br /><br />
  1377. <input type="submit" name="submit" value="Submit" />
  1378. <input type="image" name="submit" src="goto.gif" />
  1379. <input type="button" name="submit" value="Button" />
  1380. <input type="reset" name="submit" value="Reset" />
  1381. <br /><br />
  1382. </form>
  1383. <!-- ANNOTATIONS -->
  1384. <pagebreak />
  1385. <h3>Annotations<bookmark content="Annotations" level="1" /><tocentry name="" content="Annotations" level="0" /><indexentry content="Annotations" /></h3>
  1386. <p>Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate.<annotation content="This is an annotation'."\n".'in the middle of the text" subject="My Subject" icon="Comment" color="#FE88EF" author="Ian Back" /> Donec luctus. Cras euismod tellus vel leo. Cras tellus. Fusce aliquet. Curabitur tincidunt viverra ligula. Fusce eget erat. Donec pede. Vestibulum id felis. Phasellus tincidunt ligula non pede. Morbi turpis. In vitae dui non erat placerat malesuada. Mauris adipiscing congue ante. Proin at erat. Aliquam mattis. </p>
  1387. <p>P: Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. <i>Fusce</i><annotation content="Fusce is a funny word!" subject="Idle Comments" icon="Note" author="Ian Back" pos-x="198" /> eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </p>
  1388. <!-- GRAPH -->
  1389. <pagebreak />
  1390. <h3>Graphs<bookmark content="Graphs" level="1" /><tocentry name="" content="Graphs" level="0" /><indexentry content="Graphs" /></h3>
  1391. <table id="tbl_1" class="sub"><tbody><tr><td></td><td align="right"><b>Female</b></td><td align="right"><b>Male</b></td></tr><tr><td>35 - 44</td><td align="right"><b>4</b></td><td align="right"><b>2</b></td></tr><tr><td>45 - 54</td><td align="right"><b>5</b></td><td align="right"><b>7</b></td></tr><tr><td>55 - 64</td><td align="right"><b>21</b></td><td align="right"><b>18</b></td></tr><tr><td>65 - 74</td><td align="right"><b>11</b></td><td align="right"><b>14</b></td></tr><tr><td>75 - 84</td><td align="right"><b>10</b></td><td align="right"><b>10</b></td></tr><tr><td>85 - 94</td><td align="right"><b>2</b></td><td align="right"><b>1</b></td></tr><tr><td>95 - 104</td><td align="right"><b>1</b></td><td align="right"><b></b></td></tr>
  1392. <tr><td>TOTAL</td><td align="right">54</td><td align="right">52</td></tr>
  1393. </tbody></table>
  1394. <h5>Subscriptions for 2008-09<tocentry name="Figures" content="Graph: Subscriptions for 2008-09" /></h5>
  1395. <jpgraph table="tbl_1" type="bar" stacked="0" dpi="300" title="New subscriptions" splines="1" bandw="0" antialias="1" label-y="% patients" label-x="Age group" axis-x="text" axis-y="lin" percent="0" series="cols" data-col-begin="2" data-row-begin="2" data-col-end="0" data-row-end="-1" show-values="1" width="600" legend-overlap="1" hide-grid="1" hide-y-axis="1" />
  1396. <!-- FULL IMAGES & BARCODE -->
  1397. <pagebreak />
  1398. <h3>Full Images & Barcode<bookmark content="Full Images &amp; Barcode" level="1" /><tocentry name="Figures" content="Full size image & Barcode" level="0" /><indexentry content="Image:full-size" /><tocentry name="" content="Barcode" level="0" /><indexentry content="Barcode" /></h3>
  1399. <p>On the first and last page of this document, an image is reproduced full page size by placing it inside a DIV element with CSS "position:absolute". In all other situations, images are constrained to the width and height of the printable page (i.e. inside the margins). The image on the back page has CSS "opacity:0.5".</p>
  1400. <!-- EXAMPLE PHP CODE -->
  1401. <div class="phpcode">'. nl2br(htmlspecialchars('/* ALTERNATIVE PHP METHOD */
  1402. $mpdf->SetAlpha(0.5);
  1403. $mpdf->Image(\'clematis.jpg\',0,0,210,297,\'jpg\',\'\',true, false);
  1404. // the last "false" allows a full page picture
  1405. $mpdf->SetAlpha(1);
  1406. ')) .'</div>
  1407. <!-- END EXAMPLE PHP CODE -->
  1408. <p>The back cover also has an ISBN barcode</p>
  1409. <!-- EXAMPLE PHP CODE -->
  1410. <div class="phpcode">'. nl2br(htmlspecialchars('/* ALTERNATIVE PHP METHOD */
  1411. $mpdf->writeBarcode(\'978-0-9542246-0-8\', 1, 130, 230, 1,0, 3,3,4,4);
  1412. ')) .'</div>
  1413. <!-- END EXAMPLE PHP CODE -->
  1414. <p>But next is inserted the Index, which can also be done like this:</p>
  1415. <!-- EXAMPLE PHP CODE -->
  1416. <div class="phpcode">'. nl2br(htmlspecialchars('/* ALTERNATIVE PHP METHOD */
  1417. $mpdf->AddPage(\'\',NEXT-ODD\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',\'\',-1,-1,-1,-1);
  1418. $mpdf->WriteHTML(\'<h2>Index<bookmark content="Index" /></h2>\');
  1419. $mpdf->WriteHTML(\'<indexinsert cols="2" font="serif" div-font="sans-serif" links="on" />\');
  1420. ')) .'</div>
  1421. <!-- END EXAMPLE PHP CODE -->
  1422. <!-- INDEX -->
  1423. <pagebreak type="NEXT-ODD" odd-header-value="-1" even-header-value="-1" odd-footer-value="-1" even-footer-value="-1" />
  1424. <h2>Index<bookmark content="Index" /></h2>
  1425. <indexinsert cols="2" font="serif" div-font="sans-serif" links="on" />
  1426. <!-- BACK COVER & BARCODE -->
  1427. <pagebreak type="NEXT-EVEN" />
  1428. <div style="position: absolute; left:0; right: 0; top: 0; bottom: 0;">
  1429. <img src="clematis.jpg" style="width: 210mm; height: 297mm; margin: 0; opacity: 0.5;" />
  1430. </div>
  1431. <div style="position: absolute; right: 35mm; bottom: 35mm; ">
  1432. <barcode code="978-0-9542246-0" type="ISBN" style="padding: 2.5mm; border: 0.1mm solid #000000;" height="0.66" text="1" />
  1433. </div>
  1434. </body></html>';
  1435. //==============================================================
  1436. //==============================================================
  1437. //==============================================================
  1438. include("../mpdf.php");
  1439. $mpdf=new mPDF('s','A4','','',25,15,21,22,10,10);
  1440. $mpdf->StartProgressBarOutput();
  1441. $mpdf->mirrorMargins = 1;
  1442. $mpdf->SetDisplayMode('fullpage','two');
  1443. $mpdf->useGraphs = true;
  1444. $mpdf->list_number_suffix = ')';
  1445. $mpdf->hyphenate = true;
  1446. $mpdf->debug = true;
  1447. $mpdf->WriteHTML($html);
  1448. $mpdf->Output();
  1449. exit;
  1450. //==============================================================
  1451. //==============================================================
  1452. //==============================================================
  1453. //==============================================================
  1454. //==============================================================
  1455. ?>