c# - Adding header and footer and aslo page number to pdf -
in application i'm exporting datatable data pdf working fine want add header , footer , want add page number , want header contain name report in page. how can that?
i have written code this:
public void exporttopdf(datatable exdatatable) { //here set page size a4 document pdfdoc = new document(pagesize.a4, 10, 10, 10, 10); try { pdfwriter.getinstance(pdfdoc, system.web.httpcontext.current.response.outputstream); pdfdoc.open(); //set font properties pdf file font fnt = fontfactory.getfont("times new roman", 6); datatable dt = exdatatable; if (dt != null) { pdfptable pdftable = new pdfptable(dt.columns.count); pdfpcell pdfpcell = null; //here create pdf file tables (int rows = 0; rows < dt.rows.count; rows++) { if (rows == 0) { (int column = 0; column < dt.columns.count; column++) { pdfpcell = new pdfpcell(new phrase(new chunk(dt.columns[column].columnname.tostring(), fnt))); pdftable.addcell(pdfpcell); } } (int column = 0; column < dt.columns.count; column++) { pdfpcell = new pdfpcell(new phrase(new chunk(dt.rows[rows][column].tostring(), fnt))); pdftable.addcell(pdfpcell); } } // add pdf table document pdfdoc.add(pdftable); } pdfdoc.close(); response.contenttype = "application/pdf"; //set default file name current datetime response.addheader("content-disposition", "attachment; filename=" + "line-shift report" + ".pdf"); system.web.httpcontext.current.response.write(pdfdoc); response.flush(); response.end(); } catch (exception ex) { response.write(ex.tostring()); } } protected void button1_click1(object sender, eventargs e) { if (session["source_table"] != null) { exporttopdf(session["source_table"] datatable); } else { response.write("no data export!"); } }
can me on this?
create new page events class:
public class pageevents : pdfpageeventhelper { public override void onstartpage(pdfwriter writer, document document) { base.onstartpage(writer, document); document.add(...header...); } }
and in codes:
class program { static void main(string[] args) { using (var pdfdoc = new document(...)) { var pdfwriter = pdfwriter.getinstance(pdfdoc, new filestream("test.pdf", filemode.create)); pdfwriter.pageevent = new pageevents(); ....
Comments
Post a Comment