gpt4 book ai didi

c# - iTextSharp pdfpTable 在同一页面的两列中流动

转载 作者:行者123 更新时间:2023-11-30 22:00:13 26 4
gpt4 key购买 nike

我正在使用 iTextSharp PdfPTtable 从数据库创建表。当表格很长时(很长但只有 3 列),我设法让表格流动(或继续)到下一个 PDF 页面。但我希望他们继续在同一页的右侧(或列)。之后它必须继续到下一页(左栏,然后是右栏,依此类推......)。 This is how i want the data from the database to flow.

最佳答案

您的要求(几乎)与我书中的一个示例完全匹配。请查看 column_table.pdf 的第 3 页及更高页.

这本书有 Java version的例子,但也有一个 version ported to C# .

基本上,只要列中有内容,就需要将 PdfPTable 添加到 ColumnText 对象和 go() 中:

// Column definition
float[][] x = {
new float[] { document.Left, document.Left + 380 },
new float[] { document.Right - 380, document.Right }
};
column.AddElement(yourTable);
int count = 0; // can be 0 or 1 if your page is divided in 2 parts
float height = 0;
int status = 0;
// render the column as long as it has content
while (ColumnText.HasMoreText(status)) {
// add the top-level header to each new page
if (count == 0) {
AddFooterTable(); // for you to implement to add a footer
height = AddHeaderTable(); // for you to implement to add a header
}
// set the dimensions of the current column
column.SetSimpleColumn(
x[count][0], document.Bottom,
x[count][1], document.Top - height - 10
);
// render as much content as possible
status = column.Go();
// go to a new page if you've reached the last column
if (++count > 1) {
count = 0;
document.NewPage();
}
}
document.NewPage();

关于c# - iTextSharp pdfpTable 在同一页面的两列中流动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28724777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com