PageRenderTime 61ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/vivoManagement/app/Plugin/CakePdf/Vendor/mpdf/examples/example06_tables_nested.php

https://bitbucket.org/vsposato/vivo-tools
PHP | 532 lines | 517 code | 11 blank | 4 comment | 0 complexity | 364d014d205beb9f8ff9174955e59ef5 MD5 | raw file
  1. <?php
  2. $html = '
  3. <head>
  4. <style>
  5. table {
  6. border-collapse: separate;
  7. border: 4px solid #880000;
  8. padding: 3px;
  9. margin: 0px 20px 0px 20px;
  10. empty-cells: hide;
  11. background-color:#FFFFCC;
  12. }
  13. table.outer2 {
  14. border-collapse: separate;
  15. border: 4px solid #088000;
  16. padding: 3px;
  17. margin: 10px 0px;
  18. empty-cells: hide;
  19. background-color: yellow;
  20. }
  21. table.outer2 td {
  22. font-family: Times;
  23. }
  24. table.inner {
  25. border-collapse: collapse;
  26. border: 2px solid #000088;
  27. padding: 3px;
  28. margin: 5px;
  29. empty-cells: show;
  30. background-color:#FFCCFF;
  31. }
  32. td {
  33. border: 1px solid #008800;
  34. padding: 0px;
  35. background-color:#ECFFDF;
  36. }
  37. table.inner td {
  38. border: 1px solid #000088;
  39. padding: 0px;
  40. font-family: monospace;
  41. font-style: italic;
  42. font-weight: bold;
  43. color: #880000;
  44. background-color:#FFECDF;
  45. }
  46. table.collapsed {
  47. border-collapse: collapse;
  48. }
  49. table.collapsed td {
  50. background-color:#EDFCFF;
  51. }
  52. </style>
  53. </head>
  54. <body>
  55. <h1>mPDF</h1>
  56. <h2>Tables - Nested</h2>
  57. <div style="border: 2px solid #000088; background-color: #DDDDFF; padding: 2mm;">
  58. Text before table
  59. <div style="border: 2px solid #008888; background-color: #DCAFCF; padding: 2mm;">
  60. <table cellSpacing="2" rotate="-90" align="center" autosize="1.5">
  61. <tbody>
  62. <tr>
  63. <td>This is data</td>
  64. <td>This is data</td>
  65. <td>
  66. <table cellSpacing="2">
  67. <tbody>
  68. <tr>
  69. <td>Row A</td>
  70. <td>A2</td>
  71. <td>A3</td>
  72. <td>A4</td>
  73. </tr>
  74. <tr>
  75. <td>Row B</td>
  76. <td>B2</td>
  77. <td>B3</td>
  78. <td>B4</td>
  79. </tr>
  80. <tr>
  81. <td>Row C</td>
  82. <td>C2</td>
  83. <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>
  84. <td>C4</td>
  85. </tr>
  86. <tr>
  87. <td>Row D</td>
  88. <td>D2</td>
  89. <td>D3</td>
  90. <td>D4</td>
  91. </tr>
  92. </tbody></table>
  93. </td>
  94. <td>This is data</td>
  95. </tr>
  96. <tr>
  97. <td>This is data</td>
  98. <td>This is data</td>
  99. <td>
  100. <table cellSpacing="2">
  101. <tbody>
  102. <tr>
  103. <td>Row A</td>
  104. <td>A2</td>
  105. <td>A3</td>
  106. <td>A4</td>
  107. </tr>
  108. <tr>
  109. <td>Row B</td>
  110. <td>B2</td>
  111. <td>B3</td>
  112. <td>B4</td>
  113. </tr>
  114. <tr>
  115. <td>Row C</td>
  116. <td>C2</td>
  117. <td style="background: transparent url(\'bg.jpg\') repeat scroll right top;" >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>
  118. <td>C4</td>
  119. </tr>
  120. <tr>
  121. <td>Row D</td>
  122. <td>D2</td>
  123. <td>D3</td>
  124. <td>D4</td>
  125. </tr>
  126. </tbody></table>
  127. </td>
  128. <td>This is data</td>
  129. </tr>
  130. <tr>
  131. <td>This is data</td>
  132. <td>This is data</td>
  133. <td>
  134. <table cellSpacing="2">
  135. <tbody>
  136. <tr>
  137. <td>Row A</td>
  138. <td>A2</td>
  139. <td>A3</td>
  140. <td>A4</td>
  141. </tr>
  142. <tr>
  143. <td>Row B</td>
  144. <td>B2</td>
  145. <td>B3</td>
  146. <td>B4</td>
  147. </tr>
  148. <tr>
  149. <td>Row C</td>
  150. <td>C2</td>
  151. <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>
  152. <td>C4</td>
  153. </tr>
  154. <tr>
  155. <td>Row D</td>
  156. <td>D2</td>
  157. <td>D3</td>
  158. <td>D4</td>
  159. </tr>
  160. </tbody></table>
  161. </td>
  162. <td>This is data</td>
  163. </tr>
  164. <tr>
  165. <td>This is data</td>
  166. <td>This is data</td>
  167. <td>
  168. <table cellSpacing="2">
  169. <tbody>
  170. <tr>
  171. <td>Row A</td>
  172. <td>A2</td>
  173. <td>A3</td>
  174. <td>A4</td>
  175. </tr>
  176. <tr>
  177. <td>Row B</td>
  178. <td>B2</td>
  179. <td>B3</td>
  180. <td>B4</td>
  181. </tr>
  182. <tr>
  183. <td>Row C</td>
  184. <td>C2</td>
  185. <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>
  186. <td>C4</td>
  187. </tr>
  188. <tr>
  189. <td>Row D</td>
  190. <td>D2</td>
  191. <td>D3</td>
  192. <td>D4</td>
  193. </tr>
  194. </tbody></table>
  195. </td>
  196. <td>This is data</td>
  197. </tr>
  198. <tr>
  199. <td>This is data</td>
  200. <td>This is data</td>
  201. <td>This is data</td>
  202. <td>This is data</td>
  203. </tr>
  204. <tr>
  205. <td>This is data</td>
  206. <td></td>
  207. <td>This is data</td>
  208. <td>This is data</td>
  209. </tr>
  210. <tr>
  211. <td>This is data</td>
  212. <td>This is data</td>
  213. <td>This is data</td>
  214. <td>This is data</td>
  215. </tr>
  216. </tbody></table>
  217. </div>
  218. <p>Text before table</p>
  219. <table cellSpacing="2" class="outer2" autosize="3" style="page-break-inside:avoid">
  220. <tbody>
  221. <tr>
  222. <td>Row 1</td>
  223. <td>This is data</td>
  224. <td style="text-align: right;">
  225. Text before table
  226. <table cellSpacing="2" class="inner" width="80%">
  227. <tbody>
  228. <tr>
  229. <td>Row A</td>
  230. <td>A2</td>
  231. <td>A3</td>
  232. <td>A4</td>
  233. </tr>
  234. <tr>
  235. <td>Row B</td>
  236. <td>B2</td>
  237. <td>B3</td>
  238. <td>B4</td>
  239. </tr>
  240. <tr>
  241. <td>Row C</td>
  242. <td>C2</td>
  243. <td>C3</td>
  244. <td>C4</td>
  245. </tr>
  246. <tr>
  247. <td>Row D</td>
  248. <td>D2</td>
  249. <td>D3</td>
  250. <td>D4</td>
  251. </tr>
  252. </tbody></table>
  253. <p>Text after table</p>
  254. </td>
  255. <td>This is data</td>
  256. </tr>
  257. <tr>
  258. <td>Row 2</td>
  259. <td>This is data</td>
  260. <td>This is data</td>
  261. <td>This is data</td>
  262. </tr>
  263. <tr>
  264. <td>Row 3</td>
  265. <td style="text-align: center; vertical-align: middle;">
  266. <table cellSpacing="2" class="inner" width="80%">
  267. <tbody>
  268. <tr>
  269. <td>Row A</td>
  270. <td>A2</td>
  271. <td>A3</td>
  272. <td>A4</td>
  273. </tr>
  274. <tr>
  275. <td>Row B</td>
  276. <td>B2</td>
  277. <td style="text-align:center;"><img src="sunset.jpg" width="84" style="border:3px solid #44FF44; vertical-align:top; " /></td>
  278. <td>B4</td>
  279. </tr>
  280. <tr>
  281. <td>Row C</td>
  282. <td>C2</td>
  283. <td>
  284. <table cellSpacing="2">
  285. <tbody>
  286. <tr>
  287. <td>F1</td>
  288. <td>F2</td>
  289. </tr>
  290. <tr>
  291. <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>
  292. <td>G2</td>
  293. </tr>
  294. </tbody></table>
  295. </td>
  296. <td>C4</td>
  297. </tr>
  298. <tr>
  299. <td>Row D</td>
  300. <td>D2</td>
  301. <td>D3</td>
  302. <td>D4</td>
  303. </tr>
  304. </tbody></table>
  305. </td>
  306. <td style="vertical-align: bottom; ">
  307. <table cellSpacing="2" class="inner" align="right">
  308. <tbody>
  309. <tr>
  310. <td>Row A</td>
  311. <td>A2</td>
  312. <td>A3</td>
  313. <td>A4</td>
  314. </tr>
  315. <tr>
  316. <td>Row B</td>
  317. <td>B2</td>
  318. <td>B3</td>
  319. <td>B4</td>
  320. </tr>
  321. <tr>
  322. <td>Row C</td>
  323. <td>C2</td>
  324. <td>C3</td>
  325. <td>C4</td>
  326. </tr>
  327. <tr>
  328. <td>Row D</td>
  329. <td>D2</td>
  330. <td>D3</td>
  331. <td>D4</td>
  332. </tr>
  333. </tbody></table>
  334. </td>
  335. <td>This is data</td>
  336. </tr>
  337. <tr>
  338. <td>Row 4</td>
  339. <td>This is data</td>
  340. <td><table cellSpacing="2" class="inner">
  341. <tbody>
  342. <tr>
  343. <td>Row A</td>
  344. <td>A2</td>
  345. <td>A3</td>
  346. <td>A4</td>
  347. </tr>
  348. <tr>
  349. <td>Row B</td>
  350. <td>B2</td>
  351. <td style="text-align:center;"><img src="sunset.jpg" width="84" style="border:3px solid #44FF44; vertical-align:top; " /></td>
  352. <td>B4</td>
  353. </tr>
  354. <tr>
  355. <td>Row C</td>
  356. <td>C2</td>
  357. <td>
  358. <table cellSpacing="2">
  359. <tbody>
  360. <tr>
  361. <td>F1</td>
  362. <td>F2</td>
  363. </tr>
  364. <tr>
  365. <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>
  366. <td>G2</td>
  367. </tr>
  368. </tbody></table>
  369. </td>
  370. <td>C4</td>
  371. </tr>
  372. <tr>
  373. <td>Row D</td>
  374. <td>D2</td>
  375. <td>D3</td>
  376. <td>D4</td>
  377. </tr>
  378. </tbody></table>
  379. </td>
  380. <td>This is data</td>
  381. </tr>
  382. </tbody></table>
  383. </div>
  384. <p>&nbsp;</p>
  385. <div style="border: 1px solid #000088; background-color: #DDDDFF; padding: 5mm;">
  386. Text before table
  387. <table cellSpacing="2" class="separate">
  388. <tbody>
  389. <tr>
  390. <td style="background-color:#FFCCFF;">Row 1</td>
  391. <td>This is data</td>
  392. <td>
  393. NO NESTING </td>
  394. <td>This is data</td>
  395. </tr>
  396. <tr>
  397. <td>Row 2</td>
  398. <td>This is data</td>
  399. <td>This is data</td>
  400. <td>This is data</td>
  401. </tr>
  402. <tr>
  403. <td>Row 3</td>
  404. <td>This is data</td>
  405. <td>This is data</td>
  406. <td>This is data</td>
  407. </tr>
  408. <tr>
  409. <td>Row 4</td>
  410. <td>This is data</td>
  411. <td>This is data</td>
  412. <td>This is data</td>
  413. </tr>
  414. </tbody></table>
  415. </div>
  416. </body>
  417. ';
  418. //==============================================================
  419. //==============================================================
  420. //==============================================================
  421. include("../mpdf.php");
  422. $mpdf=new mPDF('c','A4','','',32,25,27,25,16,13);
  423. $mpdf->SetDisplayMode('fullpage');
  424. $mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
  425. // LOAD a stylesheet
  426. $stylesheet = file_get_contents('mpdfstyletables.css');
  427. $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text
  428. $mpdf->WriteHTML($html);
  429. $mpdf->Output();
  430. exit;
  431. ?>