itext - iTextSharp Footer Background Color -
i trying set background color of footer. can't seem find code can assist in doing this. please see code onendpage event.
i have tried cb.setcolorfill(basecolor.light_gray);, not work :/
which property or method used add background color footer?
public override void onendpage(itextsharp.text.pdf.pdfwriter writer, itextsharp.text.document document) { base.onendpage(writer, document); itextsharp.text.font basefontnormal = new itextsharp.text.font(itextsharp.text.font.fontfamily.helvetica, 12f, itextsharp.text.font.normal, itextsharp.text.basecolor.black); itextsharp.text.font basefontbig = new itextsharp.text.font(itextsharp.text.font.fontfamily.helvetica, 12f, itextsharp.text.font.bold, itextsharp.text.basecolor.black); var headerimagepath = system.web.httpcontext.current.server.mappath("~/content/misc/proactive-reg-form-header.jpg"); var headerimage = image.getinstance(headerimagepath); if (headerimage.height > headerimage.width) { //maximum height 800 pixels. float percentage = 0.0f; percentage = 700 / headerimage.height; headerimage.scalepercent(percentage * 100); } else { //maximum width 600 pixels. float percentage = 0.0f; percentage = 572 / headerimage.width; headerimage.scalepercent(percentage * 100); } //create pdftable object pdfptable pdftab = new pdfptable(1); //we have create separate cells include image logo , 2 separate strings //row 1 //pdfpcell pdfcell1 = new pdfpcell(); pdfpcell pdfcell2 = new pdfpcell(headerimage); //pdfpcell pdfcell3 = new pdfpcell(); string text = "page " + writer.pagenumber + " of "; //add paging footer { cb.begintext(); cb.setfontandsize(bf, 10); cb.settextmatrix(document.pagesize.getright(100), document.pagesize.getbottom(30)); cb.showtext(text); cb.endtext(); float len = bf.getwidthpoint(text, 10); cb.addtemplate(footertemplate, document.pagesize.getright(100) + len, document.pagesize.getbottom(30)); //add image footer writer.directcontent.addimage(footerimage); } pdfcell2.horizontalalignment = element.align_center; pdfcell2.verticalalignment = element.align_bottom; pdfcell2.border = 0; pdftab.addcell(pdfcell2); pdftab.totalwidth = 100f; pdftab.widthpercentage = 100f; //call writeselectedrows of pdftable. writes rows pdfwriter in pdftable //first param start row. -1 indicates there no end row , rows included write //third , fourth param x , y position start writing pdftab.writeselectedrows(0, -1, 10, document.pagesize.height - 10, writer.directcontent); //set pdfcontent value if (document.pagenumber != 1) { //move pointer , draw line separate header section rest of page cb.moveto(10, document.pagesize.height - 60); cb.lineto((document.pagesize.width - 10), document.pagesize.height - 60); cb.stroke(); } }
got it!
so amended following code:
//add paging footer { cb.begintext(); cb.setfontandsize(bf, 10); cb.settextmatrix(document.pagesize.getright(100), document.pagesize.getbottom(30)); cb.showtext(text); cb.endtext(); float len = bf.getwidthpoint(text, 10); cb.addtemplate(footertemplate, document.pagesize.getright(100) + len, document.pagesize.getbottom(30)); //add image footer writer.directcontent.addimage(footerimage); }
with
//add paging footer { cb.begintext(); cb.setfontandsize(bf, 10); cb.settextmatrix(document.pagesize.getright(100), document.pagesize.getbottom(30)); cb.showtext(text); cb.endtext(); float len = bf.getwidthpoint(text, 10); cb.addtemplate(footertemplate, document.pagesize.getright(100) + len, document.pagesize.getbottom(30)); //this part adds background color cb.setcolorfill(basecolor.light_gray); cb.rectangle(0, 0, document.pagesize.width, 50); cb.fillstroke(); //add image footer writer.directcontent.addimage(footerimage); }
Comments
Post a Comment