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();
}
}
}