ASP.NET 将数据生成PDF (二)
可以下载itextsharp(https://sourceforge.net/projects/itextsharp)
下载,然后在工程中引用该控件,举例子如下
1 datatable 的内容转换为PDF
首先,建立一个datatable转换为pdf的方法如下
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
///<summary>
/// 将DataTable转化为PDF文件的方法
///</summary>
publicclass TableToPDF
{
public TableToPDF()
{
}
///<summary>
/// 转换数据表为PDF文档
///</summary>
///<param name="Data">数据表数据</param>
///<param name="PDFFile">目标PDF文件全路径</param>
///<param name="FontPath">字体所在路径</param>
///<param name="FontSize">字体大小</param>
///<returns>返回调用是否成功</returns>
publicstaticbool ConvertDataTableToPDF(DataTable datatable, string PDFFilePath, string FontPath, float FontSize)
{
//初始化一个目标文档类
Document document =new Document();
//调用PDF的写入方法流
//注意FileMode-Create表示如果目标文件不存在,则创建,如果已存在,则覆盖。
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(PDFFilePath, FileMode.Create));
//打开目标文档对象
document.Open();
//创建PDF文档中的字体
BaseFont baseFont =BaseFont.CreateFont(
FontPath,
BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED);
//根据字体路径和字体大小属性创建字体
Font font =new Font(baseFont, FontSize);
//根据数据表内容创建一个PDF格式的表
PdfPTable table =new PdfPTable(datatable.Columns.Count);
//遍历原table的内容
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(), font));
}
}
//在目标文档中添加转化后的表数据
document.Add(table);
//关闭目标文件
document.Close();
//关闭写入流
writer.Close();
returntrue;
}
}
然后,在要调用转换的按钮的事件代码中调用就可以了
/将目标文件保存在此项目下
//字号选择14
//mytb是数据datatable的名
TableToPDF.ConvertDataTableToPDF(mytb, Server.MapPath(".") +@"\Table.pdf", "c:\\winnt\\FONTS\\simsun.ttc,1", 14);
2 给出文本内容,生成PDF
比如用户输入文本内容及要输出PDF的保存路径的话,也可以输出PDF
privatevoid CreateTxt(string txt,string filepath)
{
//创建文档对象
Document document =new Document();
//实例化生成的文档
PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
//打开文档
document.Open();
//在文档中添加文本内容
document.Add(new Paragraph(txt));
//关闭文档对象
document.Close();
}
3 加页眉页脚
{
//创建文档对象
Document document =new Document();
// 创建文档写入实例
PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
// 添加页脚
HeaderFooter footer =new HeaderFooter(new Phrase(footertxt), true);
footer.Border = Rectangle.NO_BORDER;
document.Footer = footer;
//打开文档内容对象
document.Open();
// 添加页眉
HeaderFooter header =new HeaderFooter(new Phrase(headertxt), false);
document.Header = header;
//设计各页的内容
document.Add(new Paragraph("This is First Page"));
//新添加一个页
document.NewPage();
//第2页中添加文本
document.Add(new Paragraph("This is Second Page"));
// 重置页面数量
document.ResetPageCount();
//关闭文档对象
document.Close();
}
ASP.NET 将数据生成PDF (二)的更多相关文章
- asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化
原文:asp.net mvc3 数据验证(二)--错误信息的自定义及其本地化 一.自定义错误信息 在上一篇文章中所做的验证,在界面上提示的信息都是系统自带的,有些读起来比较生硬.比如: ...
- Python数据生成pdf文件
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- 在ASP.NET CORE下生成PDF文档
原文链接:https://www.c-sharpcorner.com/article/creating-pdf-in-asp-net-core-mvc-using-rotativa-aspnetcor ...
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- Spring Boot集成JasperReports生成PDF文档
由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档.本人文采欠缺,写作能力 ...
- asp.net mvc3 数据验证(四)—Remote验证的一个注意事项
原文:asp.net mvc3 数据验证(四)-Remote验证的一个注意事项 前几篇把asp.net mvc3 中基于Model的主要数据验证的方法都已经讲完了,本节纯粹只是讲一个我 ...
- iReport(模版) 与Jasper(数据填充)生成pdf文档
报表模板生成软件:iReport . 润乾.水晶. 一.Jaspersoft iReport Desiginer 5.60 的使用 1.软件jar包的下载地址与配置 百度云盘下载链接:https:// ...
- 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...
- asp.net生成PDF文件 (1)
asp.net生成PDF文件 (1) 这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: 1 2 3 4 5 6 7 8 9 10 11 ...
随机推荐
- 浅谈对CSS的认识
自从进公司也有2个多月了,相信和我一批进来的小伙伴们都收获了很多东西,这个是在学校所学不到的,也让成长了很多.作为新人的我,从认为CSS是个很简单的东西,到现在觉得CSS中水很深,感觉学了很多的CSS ...
- Unity3D ShaderLab 使用渐变纹理着色
Unity3D ShaderLab 使用渐变纹理着色 在我们编写着色器的过程中,还可以通过渐变纹理来控制漫反射的光照颜色.这种做法同样在VALVE的军团要塞2中及其流行. 前期,请准备一个渐变色的图片 ...
- Unity3d Shader
Unity3d Shader 预览Surface Shader主要用来实现光照相关处理,可能更简洁. Vertex and Fragment Shader 如果不与光照交互, 则可以用这个shader ...
- Selenium - IWebDriver 控制scroll bar到底部
有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作.一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉 ...
- 编程之美的2.17,数组循环移位 & 字符串逆转(反转) Hello world Welcome => Welcome world Hello
代码如下:(类似于编程之美的2.17,数组循环移位) static void Main(string[] args) { string input = "Hello World Welcom ...
- ld链接问题解决
http://stackoverflow.com/questions/480764/linux-error-while-loading-shared-libraries-cannot-open-sha ...
- java类型转化之Hbase ImmutableBytesWritable类型转String
Hbase 的ImmutableBytesWritable类型一般作为RowKey的类型;但也有时候会把值读出来;故有了转化为string一说. ImmutableBytesWritable RowK ...
- Highcharts入门+Highcharts基础教程,【非常值得学习的资料】
http://www.hcharts.cn/docs/index.php?doc=index Highcharts入门章节目录 Highcharts简介 Highcharts下载与使用 Highcha ...
- HttpResponse的Close和End 区别
转载自:http://blog.sina.com.cn/s/blog_702c390c0100mlhi.html 最近启用了IIS上的压缩功能,但是测试系统上某模块变得不可用了.该模块采用AJAX技术 ...
- iis 管理员执行 aspnet_iis.exe
如果我们在注册iis的时候,出现上图的问题,我们需要在桌面上新建一个快捷方式 然后在目标处添上我们的命令. 比如:C:\Windows\Microsoft.NET\Framework\v4.0.303 ...