itextsharp列文本与表重叠
本文关键字:重叠 文本 itextsharp | 更新日期: 2023-09-27 18:33:08
我有一个列文本在pdftable之前,如何阻止这两个元素重叠?
ColumnText addressHeader = new ColumnText(cb);
Phrase addressText = new Phrase("Lorem ipsum");
addressHeader.SetSimpleColumn(addressText, 34, 750, 580, 317, 15, Element.ALIGN_LEFT);
addressHeader.FollowingIndent = 10f;
addressHeader.Go();
PdfPTable contactTable = new PdfPTable(2);
float[] contactWidths = new float[] { 1f, 1f };
contactTable.TotalWidth = 400f;
contactTable.LockedWidth = true;
contactTable.SpacingBefore = 10f;
contactTable.SetWidths(contactWidths);
PdfPCell contactInfoCell = new PdfPCell();
contactInfoCell.AddElement(new Chunk("Date Requested));
doc.Add(contactTable);
ColumnText.SetSimpleColumn()
用于绝对定位事物,而Document.Add()
方法用于相对定位事物。绝对对象和相对对象彼此不了解,这只是它们的本性。
因此,如果您可以使用相对定位,请摆脱ColumnText
并将Phrase
正常添加到文档中。
,那么您也需要绝对定位桌子。这可以使用表的 WriteSelectedRows()
方法完成,您可以在其中告知要写入的行数以及开始绘制的左上角
第三个可能的选择是,如果您使用ColumnText.SetSimpleColumn()
绘制页眉,那么您只需更改文档的边距即可。您仍然可以绝对地将东西放置在边距之外,但是当您使用Document.Add()
时,它将尊重这些边距。