所以我一直试图找出如何让表格宽度工作,但对于特定情况没有成功。
我有一个包含2列的表格。在第二列中,我添加了一个包含一列表的单元格。在这个单元格中,我添加一个包含一列的表,然后添加一个带有文本的单元格,然后添加另一个带有两列的PdfPTable。
现在最后一个PdfPTable I接缝无法操纵。 SetTotalWidth和WidthPercentage什么都不做,根本没有任何变化。我只是想让这张桌子不那么宽。
我做错了什么或者itextcharp有错误吗?
答案 0 :(得分:0)
4个嵌套表?这是一个真的,真的需要一些示例代码,所以我们都可以在同一页面上。以下内容有望将您正在做的任何内容抽象为基本要素。看起来不错吗?这不是一个答案,而是一个起点,所以我们有一些工作要做。
我在最外面和最里面的桌子上设置宽度,它对我来说很好。由于内部表格,外部表格正在被吹灭,但这是可以预期的。
string sampleFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Sample.pdf");
using (FileStream fs = new FileStream(sampleFile, FileMode.Create, FileAccess.Write, FileShare.None))
{
using (Document doc = new Document(PageSize.LETTER))
{
using (PdfWriter w = PdfWriter.GetInstance(doc, fs))
{
doc.Open();
PdfPTable t1 = new PdfPTable(2);
PdfPTable t2 = new PdfPTable(1);
PdfPTable t3 = new PdfPTable(1);
PdfPTable t4 = new PdfPTable(2);
t1.SetTotalWidth(new float[] { 10f, 40f });
t4.SetTotalWidth(new float[] { 40f, 10f });
t4.AddCell("t4a");
t4.AddCell("t4b");
t3.AddCell(t4);
t2.AddCell(t3);
t1.AddCell("t1a");
t1.AddCell(t2);
doc.Add(t1);
doc.Close();
}
}
}