I need to make a printed form (report) in which, among other things ( header, footer ), the table will be displayed as shown below in snippet.
I want to give the user a pdf file, for the formation of which I use nuget package itexharp version 5.5.10
Tell me. how to carry out, if necessary, the transfer of the entire line ( T1 , T2 , etc.) to a new page
th, td{ border: 2px solid black; } <table> <tr> <td rowspan = 2>T1</td> <td>OrderCode 1</td> <td>Vendor</td> <td rowspan = 2>Overhang</td> <td rowspan = 2>Runtime</td> </tr> <tr> <td>OrderCode2</td> <td>Vendor</td> </tr> <td rowspan = 2>T2</td> <td>OrderCode 3</td> <td>Vendor</td> <td rowspan = 2>Overhang</td> <td rowspan = 2>Runtime</td> </tr> <tr> <td>OrderCode4</td> <td>Vendor</td> </tr> <td rowspan = 2>T3</td> <td>OrderCode 4</td> <td>Vendor</td> <td rowspan = 2>Overhang</td> <td rowspan = 2>Runtime</td> </tr> <tr> <td>OrderCode5</td> <td>Vendor</td> </tr> </table> Code for creating pdf file
using(var fs = new FileStream(path)) { var document = new Document(PageSize.A4.Rotate(), 10,10,10,10); var pdfWriter = PdfWriter.GetInstance(document, fs); var table = new PdfPTable(5); var tools = new List<int> {1,2,3}; for(var row = 0; row<50; row++) { table.AddCell(new PdfPTable(new Phrase($"T{row}")){Rowspan = tools.Count}); table.AddCell($"Cutter №{tools.First()}); table.AddCell("Vendor"); table.AddCell(new PdfPTable(new Phrase("Overhang")){Rowspan = tools.Count}); table.AddCell(new PdfPTable(new Phrase("Runtime")){Rowspan = tools.Count}); foreach(var tool in tools.Skip(1)) { table.AddCell($"Cutter №{tool}); table.AddCell("Vendor"); } } document.Add(table); document.Close(); pdfWriter.Close(); }