我无法NextColumn()
使用MultiColumnText
对象,也找不到任何可以使用的示例(在 .NET 中)。
AMultiColumnText
使在文档中创建列相对容易,但作为交换,您放弃了对布局的大量控制。您可以使用该ColumnText
对象,它可以让您对列布局进行大量控制,但需要更多代码。
这是您尝试使用的一个简单但完整的示例ColumnText
:
private void TestColumnText() {
using (FileStream fs = new FileStream("ColumnTest.pdf", FileMode.Create)) {
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
doc.Open();
PdfContentByte cb = writer.DirectContent;
ColumnText ct = new ColumnText(cb);
float columnWidth = 200f;
float[] left1 = { doc.Left + 90f, doc.Top - 80f, doc.Left + 90f, doc.Top - 170f, doc.Left, doc.Top - 170f, doc.Left, doc.Bottom };
float[] right1 = { doc.Left + columnWidth, doc.Top - 80f, doc.Left + columnWidth, doc.Bottom };
float[] left2 = { doc.Right - columnWidth, doc.Top - 80f, doc.Right - columnWidth, doc.Bottom };
float[] right2 = { doc.Right, doc.Top - 80f, doc.Right, doc.Bottom };
// Add content for left column.
ct.SetColumns(left1, right1);
ct.AddText(new Paragraph("Para 1"));
ct.Go();
// Add content for right column.
ct.SetColumns(left2, right2);
ct.AddText(new Paragraph("Para 2"));
ct.Go();
doc.Close();
}
}
警告:正如我所提到的,这是一个简单的示例,甚至不能作为您尝试做的事情的起点。以下网站上的示例(尤其是第一个)将帮助您:
http://www.mikesdotnetting.com/Article/89/iTextSharp-Page-Layout-with-Columns
http://www.devshed.com/c/a/Java/Adding-Columns-With-iTextSharp