如何让表格布局在iTextsharp中横向和纵向跨页?

时间:2013-11-20 09:03:15

标签: c# .net itextsharp pdfptable

我正在使用iTextsharp(版本4.1.6 - 一个LGPL分支)来生成一个只包含一个表的PDF。我的项目是.net 4应用程序。

该表可以包含大量列和大量行,PDF不包含任何其他内容(因此我想在A4页面上使用横向布局)。

因此,我将其删除(我将其缩减为与iTextSharp交互的代码,您可以猜出columnsdataval和{{1}变量是):

ms

可爱除了创建 1 页面文档,其中所有单元格都重叠且完全不可读。

我想要达到的目标是:

Desired Table layout

所以列永远不会重叠,它们只会扩展到下一页,并且当行向下延伸时,列标题会重复。

我试过摆弄// Create a landscape A4 page... var doc = new Document(new Rectangle(297, 210), 10, 10, 10, 10); PdfWriter.GetInstance(doc, ms); doc.Open(); var table = new PdfPTable(columns.Count()) {HeaderRows = 1}; var titleFont = FontFactory.GetFont(BaseFont.COURIER_BOLD, 10); var bodyFont = FontFactory.GetFont(BaseFont.COURIER, 10); // Add the column headings... foreach (var c in columns) { var cell = new PdfPCell(new Phrase(c.Title, titleFont)) { NoWrap = true }; table.AddCell(cell); } // Add the data... foreach (var o in data) { foreach (var c in columns) { var cell = new PdfPCell(new Phrase(val, bodyFont)) { NoWrap = true }; table.AddCell(cell); } } doc.Add(table); doc.Close(); 等等,但我对如何实现这个结果感到沮丧。

0 个答案:

没有答案