C#实现pdf导出 .Net导出pdf文件
程序员文章站
2023-10-23 20:56:24
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码、可以成功的实现导出pdf文件。
在编码前需要在网上下载个itextsharp.dl...
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码、可以成功的实现导出pdf文件。
在编码前需要在网上下载个itextsharp.dll,此程序集是必备的。楼主下载的是5.0版本,之前下了个5.4的似乎不好用。
下载之后直接添加引用。
<%@ page language="c#" autoeventwireup="true" codebehind="webpdf.aspx.cs" inherits="web导出pdf.webpdf" %> <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form id="form1" runat="server"> <div> <br /> 输入文字测试:<input type="text" name="name" value="" runat="server" id="txtpdf"/> <asp:button id="button1" runat="server" onclick="button1_click" text="button" /> </div> </form> </body> </html> //上述代码乃前台页面,两个控件即可。下面即对应的后台代码 using system; using system.collections.generic; using system.data; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using itextsharp; using itextsharp.text; using itextsharp.text.pdf; using system.io; namespace web导出pdf { public partial class webpdf : system.web.ui.page { static datatable datatable = new datatable("testpdf"); protected void page_load(object sender, eventargs e) { if (!ispostback) { datarow dr=null; //建立column例,可以指明例的类型,这里用的是默认的string datatable.columns.add(new datacolumn("编号")); datatable.columns.add(new datacolumn("文件名")); for (int i = 0; i < 5; i++) { dr = datatable.newrow(); dr[0] = system.convert.tostring(i); dr[1] = "测试导出pdf文件" + system.convert.tostring(i); datatable.rows.add(dr); } } } protected void button1_click(object sender, eventargs e) { try { document document = new document(); pdfwriter.getinstance(document, new filestream(server.mappath("test.pdf"), filemode.create)); document.open(); basefont bfchinese = basefont.createfont("c:\\windows\\fonts\\simsun.ttc,1", basefont.identity_h, basefont.not_embedded); itextsharp.text.font fontchinese = new itextsharp.text.font(bfchinese, 12, itextsharp.text.font.normal,new basecolor(0,0,0)); //所输的内容按设置的字体到pdf文件 document.add(new paragraph(this.txtpdf.value.tostring(), fontchinese)); //输出图片到pdf文件 itextsharp.text.image jpeg01 = itextsharp.text.image.getinstance(server.mappath("image/001.png")); document.add(jpeg01); itextsharp.text.image jpeg02 = itextsharp.text.image.getinstance(server.mappath("image/usericon-1.png")); document.add(jpeg02); pdfptable table = new pdfptable(datatable.columns.count); for (int i = 0; i < datatable.rows.count; i++) { for (int j = 0; j < datatable.columns.count; j++) { table.addcell(new phrase(datatable.rows[i][j].tostring(), fontchinese)); } } document.add(table); document.close(); response.write("<script>alert('导出成功!');</script>"); } catch (exception ex) { response.write(ex.tostring()); } } } }
注意代码中的两个image图片,自己可在项目中随意添加对应的。如果上述代码全部写完发现不报错那么恭喜你可以成功导出。
如果出现有的类异常失败无法找到该类,那么你需要引用此文件即可。
至于每个人需要导出不同的样式pdf内容就要根据需求写相对应的代码了。
导出成功pdf即存在项目文件夹中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: MySQL优化之缓存优化
下一篇: MySQL分区表的局限和限制详解