我在页面顶部添加了一个徽标:
iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(Server.MapPath("/logos/my_logo.png"));
logo.ScalePercent(60f);
document.Add(logo);
如何添加徽标背景颜色?
(宽度:整页,高度:1.5x徽标高度)
答案 0 :(得分:0)
我希望这可以帮助你...
用于背景图片
string imageFilePath = parent + "/logos/my_logo.png";
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath);
jpg.ScaleToFit(1700, 1000);
jpg.Alignment = iTextSharp.text.Image.UNDERLYING;
jpg.SetAbsolutePosition(0, 0);
document.Add(jpg);
修改强>
对于背景颜色,我认为您可以使用以下代码:
public void onDocument(PdfWriter writer, Document document)
{
super.onEndPage(writer, document);
PdfContentByte content = writer.getDirectContent();
content.setColorFill(BaseColor.GREEN);
content.rectangle(writer.getPageSize().getLeft(), writer.getPageSize().getBottom(),
writer.getPageSize().getWidth(), writer.getPageSize().getHeight());
content.Rectangle(35f,55f, 520f, 750f ,20f);
content.eoFill();
}
您可以根据案例的代码更改矩形宽度和高度的值
修改强>
更改特定单元格的背景颜色。
header = new PdfPCell(new Phrase(market_data_list[i], grid_data_heading));
header.Colspan = 2;
header.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
header.BackgroundColor =new BaseColor(238,233,233);
market_table.AddCell(header); //adds cell to the table
答案 1 :(得分:0)
最佳选择:
您可以提供可以占据页面宽度的背景图像。即使在paint app中,我们也可以使用第三方工具(合并两个图像)。
第二个选项:
我相信,最好有一个表格布局。您可以在没有边框的单元格中划分页面,并将徽标保留在其中一个中,其余部分将填充背景颜色。确保您的背景与徽标背景相符。
代码段:
public void writeDocument()
{
Document _document = new Document(new Rectangle(PageSize.A3));
var table = new PdfPTable(2);
PdfPCell[] cells = new PdfPCell[2];
PdfPCell cell = new PdfPCell();
cell.Border = PdfPCell.NO_BORDER;
cell.BackgroundColor = new iTextSharp.text.Color(51, 102,102);
cells[0] = new PdfPCell(cell);
iTextSharp.text.Image logo =
iTextSharp.text.Image.GetInstance(Server.MapPath("/logos/my_logo.png"));
PdfPCell cell1 = new PdfPCell();
cell1.Border = PdfPCell.NO_BORDER;
cell1.Image =logo ;
cells[1] = new PdfPCell(cell1);
PdfPRow row = new PdfPRow(cells);
table.Rows.Add(row);
_document.Add(table);
}