我有一个小问题,答案可能真的很明显和简单,但我想我在互联网上搜索答案失败了,所以我再次来到你们身边。
我正在使用 c # 在 asp.net 中动态生成一个 PDF 文件,现在我只是为它做基础。它生成的其中一个东西是一个应该显示购物车内容的表(是的,我正在谈论),我试图给该表一些模型,但上排的模型将与其他不同。(定义列的标题(数量,标题,单位)和折扣,价格
这里有一些代码(这是我第一次这样做,所以不要对我大喊大叫 xD)
PdfPCell Quantity = new PdfPCell(new Phrase("Quantity"));
PdfPCell Title = new PdfPCell(new Phrase("Title"));
PdfPCell UniPr = new PdfPCell(new Phrase("Unit Price"));
PdfPCell Disc = new PdfPCell(new Phrase("Discount"));
PdfPCell Total = new PdfPCell(new Phrase("Total"));
PdfPCell[] cartheaderc = { Quantity, Title, UniPr, Disc, Total };
PdfPRow cartheader = new PdfPRow(cartheaderc);
所以我试过这种方式,然后说:
PdfPRow.BackgroundColor = new BaseColor(255,0,0);
由于这适用于细胞,我认为这可能是有道理的,但显然没有。当我把每个细胞分开时,我可能可以做到这一点,但应该有一个更简单的方法,对吗?
这是一个问题,但可悲的是,我还有一个(虽然 10x 更愚蠢和 10x 更容易)。我想使用的颜色是 # c5c5c5,但它不想识别颜色代码。
这里是我正在使用的 ItextSharp 的系统列表(这是在 Visual Studio 和 SQLserver 的标准系统旁边,如果可能的话,我不想添加更多的系统):
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
你有两个问题:
您正在使用PdfPRow
,但您不应该这样做。PdfPRow
类仅供内部使用。您应该在PdfPCell
级别工作。如果要为完整的行着色,可以使用PdfPTableEvent
。例如,请参阅alternating.pdf中的彩色行。它们在1 中着色。
创建颜色#c5c5c5
有困难。十六进制值C5
等于 197,因此要创建以下颜色对象:new BaseColor(197, 197, 197);
你的主要错误是你通过添加一个PdfPCell
对象的数组来创建一个PdfPRow
。你从哪里得到这样做的灵感?如果你找到写这样一个例子的人,请告诉我,如果他在附近,我会亲自打他;-)
表是这样创建的:
PdfPTable table = new PdfPTable(5);
PdfPCell Quantity = new PdfPCell(new Phrase("Quantity"));
table.AddCell(Quantity);
PdfPCell Title = new PdfPCell(new Phrase("Title"));
table.AddCell(Title);
PdfPCell UniPr = new PdfPCell(new Phrase("Unit Price"));
table.AddCell(UniPr);
PdfPCell Disc = new PdfPCell(new Phrase("Discount"));
table.AddCell(Disc);
PdfPCell Total = new PdfPCell(new Phrase("Total"));
table.AddCell(Total);
有一个更简单的方法来做到这一点,这个更简单的方法还允许您定义每个单元格的背景颜色:
PdfPTable table = new PdfPTable(5);
table.DefaultCell.BackgroundColor = new BaseColor(197, 197, 197);
table.AddCell("Quantity");
table.AddCell("Title");
table.AddCell("Unit Price");
table.AddCell("Discount");
table.AddCell("Total");
AddCell()
方法将自己将字符串包装在Phrase
中。使用此Phrase
创建PdfPCell
,并将您为DefaultCell
定义的所有属性应用于该单元格。这样,您可以确保所有单元格都具有相同的背景颜色(或边框,或...)。显然,
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(47条)