说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

C#使用iTextsharp生成PDF

HTML文档下载 WORD文档下载 PDF文档下载
本文介绍如何使用Asp.net MVC 将生成PDF页面。

 

如何使用Asp.net MVC 生成PDF页面?

 

首先下载PDF库itextsharp

http://sourceforge.net/projects/itextsharp/

 

 

 

然后将它添加到你的工程中(引用该库)

 

对于ASP.NET MVC模型,添加一个controller然后按下面的代码创建PDF格式数据。

using iTextSharp;using iTextSharp.text.pdf;using iTextSharp.text;using System.IO;public void createPDF(){int totalCharCount = 0;// PDF中使用的字体Font font8 = FontFactory.GetFont("ARIAL", 7, Font.BOLD);Font fonttbltxt = FontFactory.GetFont("ARIAL", 7);Font HeaderFont = FontFactory.GetFont("ARIAL", 12, Font.BOLD);MemoryStream MStream = new MemoryStream();Document document = new Document(PageSize.A4,10,10,10,20 );PdfWriter writer = PdfWriter.GetInstance(document, MStream);document.Open();//添加logoImage logo = Image.GetInstance(Server.MapPath("~/Content/Images/logo.png"));logo.ScaleToFit(70f, 40f);document.Add(logo);Paragraph pgrph = new Paragraph("REPORT", HeaderFont);pgrph.Alignment = Element.ALIGN_CENTER;document.Add(pgrph);PdfContentByte cb = writer.DirectContent;//表格PdfPTable tbl = new PdfPTable(4);PdfPCell pcellID = new PdfPCell(new Phrase(new Chunk("JobID", font8)));pcellID.Border = 0;tbl.AddCell(pcellID);PdfPCell pdfstatus = new PdfPCell(new Phrase(new Chunk("Status", font8)));pdfstatus.Border = 0;tbl.AddCell(pdfstatus);PdfPCell date = new PdfPCell(new Phrase(new Chunk("Date", font8)));date.Border = 0;tbl.AddCell(date);PdfPCell MRN = new PdfPCell(new Phrase(new Chunk("MRN", font8)));MRN.Border = 0;tbl.AddCell(MRN);tbl.TotalWidth = 500;List jobs = new List();jobs=jobRepository.GetAllJobs().ToList();fillCharAndCastData();// 将数据一个一个填入PDF表格中foreach (var item in jobs){pcellID = new PdfPCell();pcellID.Border = 0;pcellID.AddElement(new Paragraph(Convert.ToString(item.JobCode), fonttbltxt));tbl.AddCell(pcellID);pdfstatus = new PdfPCell();pdfstatus.Border = 0;pdfstatus.AddElement(new Paragraph(Convert.ToString(item.JobStatus), fonttbltxt));tbl.AddCell(pdfstatus);date = new PdfPCell();date.Border = 0;date.AddElement(new Paragraph(Convert.ToString(item.JobDate.ToShortDateString()), fonttbltxt));tbl.AddCell(date);MRN = new PdfPCell();MRN.Border = 0;MRN.AddElement(new Paragraph(Convert.ToString(item.MrnNo), fonttbltxt));tbl.AddCell(MRN);}tbl.WriteSelectedRows(0, 11, 50, 770, cb);document.Close();Response.AddHeader("Content-Disposition", "attachment:filename=myPDFNew.pdf");Response.ContentType = "application/pdf";Response.BinaryWrite(MStream.GetBuffer());Response.End();}

 

用Delphi实现超级链接 用Delphi实现子目录级的文件查询 用Delphi自制英语复读机 用DEPHI为应用软件建立注册机制-Delphi资料 优化delphi5.0秘籍大曝光 元件的handle的建立-Delphi资料 元件卷动的改进-Delphi资料 在delhpi程序中获取网络资源信息-Delphi资料 在Delphi中操作快捷方式 在DLL中实现文件的拷贝-Delphi资料 在Report Builder中增加自定义函数-Delphi资料 在Win2000 Beta下安装Delphi 在Word插入字符-Delphi资料 注册表中几个对编程特别有用的地方-Delphi资料 资源文件在DELPHI中的使用 自制替换指定串函数-Delphi资料 API函数快速入门API函数简介-VB资料 API函数快速入门怎样在VB中声明和使用API函数 API函数在VB开发中的应用 API函数在VB中的应用 API实现完美的图片出现效果-VB资料 ListView控件特效-VB资料 Office 95 API 的企业开发者指南-VB资料 SENDMESSAGE函数巧应用 -VB资料 VB 与Windows API 讲座(五) VB5 未公开的函数 VB5.0与Windows API 间的呼叫技巧 VB5中回调函数的使用方法 VB的API编程精粹(二) VB的API编程精粹(一) VB调用API函数技巧快速选择全部项目 有什么好的VC打包工具吗? 请问如何让程序自动运行?并且如何取消程序的自动运行? 两个问题求助~~~~~~~~~~~~~~~~~~~~ 关于同一台计算机两个id的邮件配置问题 在一个datawindow中放了多个button,如何针对每一个Button进行编程? 派生类的三种继承方式 高薪诚聘 C# 程序员 一个有关失效率的问题,请大侠们指点! sun的j2ee sdk 1.3.1不能在2000server上运行?? [黑色幽默]唉 难道这就是IT人的未来? 几个项目开发问题,有经验者请进。 關於用vb取sybase數據的問題 如何实现呢?请教各位高手,高高手。。。 急。死。问一下UDP的写的一个NETICQ的使用方法.在线等 初学JSP,在用JavaBean创建了一个数据库连接的程序,但是在JSP中用<jsp:useBean>使用JavaBean时出现了问题。 我是新手,一个工程换目录了需要改哪些地方? listview控件网格的高度如何设置啊? 请问TFORM 中的onActivate 事件是在什么时候触发 help 关于菜单 為什麼服務器中的NETLOGON(用戶登錄)服務老是出現錯誤呢? 我的PIII 667 现在启动时自检为333E,然后进入CMOS,提示CPU频率不对,这是什么原因? 分不多了,帮我看看这个短小超难的SQL怎么写 unsigned char * 和 object pascal 中的什么是等价的?pchar 是无符号的么? 那位大哥帮看看 这句为什么总编译不过去 xiexie trectangle类型为什么总说我没有定义?在线等…… 为何收不到邮件的BODY部分? platform builder platform 时出错 有关SQLJ的问题 有谁可以提供几个关天isa server的好认坛? 在计划任务中编写t_sql语句的字符长度限制问题! JAVA 图形化编程如何控制组件的大小和位置!!! 如何用ASP上传文件到数据库、读取并下载? 100分求教我的ActiveForm出现access violation at address...的问题(急急急) 最真诚的祝福大力和璇玑! 控制文件损坏,恢复是碰到了难点--ora-00600错误。怎么办??? 请问WebBrowser对象在弹出式窗口中是不是不能用? 关于CListCtrl的一个问题 多个cpp可以有多个main吗? 怎么样在不同分辨率下显示同一网页不变形? 卡拉OK厅中的男人和女人们(zt) 怎么在一个接口中调用另外一个接口 大力过来 帮忙! 论坛里有保留cookies的功能,但是有些用户说cookies保存不了 大家好!我有问题很急呀!!! 哪个函数可以打开多个文件? 大家请进来说说吧,用什么软件编辑jsp和javascript能测试出网页中提示的:完成,但网页上有错误,这种错误所在的行和具体的什么错误。 关于在课件项目中应用XML的问题,回复心得或相关链接都有赠分 多个附件上传和下载 VB.NET中樹是怎樣展開 我可以把ACCESS数据库的表导出到SQL SERVER中吗? 极性分子与非极性分子,极性分子与极性分子,非极性与非极性存在什么力 若带正电荷的小球只受到电场力作用,则它在任意一段时间内A.一定沿电场线由高电势向低电势运动B.一定沿电场线由低电势向高电势运动C.不一定沿电场线运动,但一定由高电势向低电势运动D. FFT 变换中Amplitude和magnitude有什么区别? 环评中MAGNITUDE 和 SIGNIFICANCE 的区别 magnitude和value有什么不同?这两个好像都有“值”的意思.但是在很多文献中,都有the largest magnitude or value这样的表达法.这两个词还是有区别的.到底有什么区别呢?谢谢! 短一点 英语翻译这是一个书名。请问如何翻译了 希望能简短的 modern quality system approach是什么意思那个approach怎么翻 古文翻译:蹈死不顾,亦易故哉 蹈死不顾的 顾 将一物体竖直向上抛,当物体达到最高点时,物体的速度是最小值还是最大值?从抛出点到最高点物体运动速度如何改变? 部分高校将学位证挂钩英语四级 教育部桐乡获批旅游综合改革试点 先行先试旅浙江桐乡获批中国首个旅游综合改革试点宁波轨道交通运营管理办法出台 导盲犬自驾瘾发作? 跟着这份浙江自驾游地图国家发改委:淘汰落后产能 地方政府是四川一名镇长上班看《新白娘子传奇》被象山下调住房公积金最高贷款限额26岁小伙车祸后脑死亡 家属捐出其心外交部批驳CNN纵容恐怖分子“透明化”监听时代可能会来快生菜齐上市 一元菜现江城楚天都市报讯 □文王子华楚天都市报讯 昨日,楚天都市报热线接图文:妖娆舞男走红校园图文:同级新标杆 试驾全新奔驰长轴距跑了4次银行 违章罚款没交成宜家武汉商场2岁了图文:上汽通用五菱全新轿车宝骏310图文:小区进出道路因施工被封图文:去年发生赔付事故4400多起小别离2 24欲界大陆绝色宠妃终身制小兵问鼎河山不同凡想人何处?望断归来路。狼主柔情我的篮球人生七灭穿越之颠覆三国海滨栈道旅游台东夜市旅游世界花卉大观园旅游八大处旅游龙庆峡旅游八达岭野生动物园旅游拒马河旅游孤山寨旅游天安门旅游十梓街旅游十全街旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘