生成PDF文件遇到问题,请高手解决
protected void Button1_Click(object sender, EventArgs e)
{
dtb = (DataTable)Session[ "List "];
CreatePDFheader(Server.MapPath( "/pdf/1.pdf "), Server.MapPath( "/images/logo-binhon2.gif "), "PDF页脚 ");
TableToPDF.ConvertDataTableToPDF(dtb, Convert.ToString(Server.MapPath( "/pdf/1.pdf ")), Convert.ToString( "C:\\WINDOWS\\Fonts\\simsun.ttc,1 "), 12);
}
现在这个函数里面调用的两函数,但使终只有一个函数执行成功.
问题是:注释掉函数TableToPDF.ConvertDataTableToPDF()时,CreatePDFheader()就能执行成功(只生成PDF出现页眉和页脚),如果加上函数TableToPDF.ConvertDataTableToPDF()时,就只有函数ConvertDataTableToPDF()执行成功(只生成数据表的内容).
------解决方案--------------------问题看上去像是被覆盖掉
google一下你那两个方法的出处,应该出至这里
http://pdfhome.hope.com.cn/Article.aspx?CID=bf51a5b6-78a5-4fa3-9310-16e04aee8c78&AID=0d9c1524-64a2-4dd2-b26f-930687949eb1
看到里面
//注意FileMode-Create表示如果目标文件不存在,则创建,如果已存在,则覆盖。
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(PDFFilePath, FileMode.Create));
问题就在这里,这两个方法都是覆盖文件,而不是追加文件啊
------解决方案--------------------把两个函数合成一个函数就行了