gpt4 book ai didi

c# - 在 iTextSharp 中隐藏表格边框

转载 作者:IT王子 更新时间:2023-10-29 04:01:52 25 4
gpt4 key购买 nike

如何使用 iTextSharp 隐藏表格边框。我正在使用以下代码生成文件:

var document = new Document(PageSize.A4, 50, 50, 25, 25);

// Create a new PdfWriter object, specifying the output stream
var output = new MemoryStream();
var writer = PdfWriter.GetInstance(document, output);

document.Open();
PdfPTable table = new PdfPTable(3);
var bodyFont = FontFactory.GetFont("Arial", 10, Font.NORMAL);
PdfPCell cell = new PdfPCell(new Phrase("Header spanning 3 columns"));
cell.Colspan = 3;
cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
table.AddCell(cell);
Font arial = FontFactory.GetFont("Arial", 6, BaseColor.BLUE);
cell = new PdfPCell(new Phrase("Font test is here ", arial));
cell.PaddingLeft = 5f;
cell.Colspan = 1;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("XYX"));
cell.Colspan = 2;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("Hello World"));
cell.PaddingLeft = 5f;
cell.Colspan = 1;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("XYX"));
cell.Colspan = 2;
table.AddCell(cell);



table.SpacingBefore = 5f;
document.Add(table);
document.Close();

Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment;filename=Receipt-test.pdf");
Response.BinaryWrite(output.ToArray());

我是否需要为单个单元格指定无边框,或者我可以为表格本身指定无边框。

谢谢

最佳答案

虽然我赞成 Martijn 的回答,但我想补充说明。

在 iText 中只有单元格有边框;表格没有边框。 Martijn 将默认单元格的边框设置为 NO_BORDER 的建议是正确的:

table.DefaultCell.Border = Rectangle.NO_BORDER;

但它不适用于问题中提供的代码片段。默认单元格的属性仅在 iText 需要隐式创建 PdfPCell 实例时使用(例如:如果您使用 addCell() 方法传递 Phrase 作为参数)。

在@Brown_Dynamite 提供的代码片段中,PdfPCell 对象是显式创建的。这意味着您需要将每个单元格的边框设置为 NO_BORDER

通常,我会编写一个工厂类来创建单元格。这样,我可以显着减少创建表的类中的代码量。

关于c# - 在 iTextSharp 中隐藏表格边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980291/

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