可以下载itextsharp(https://sourceforge.net/projects/itextsharp)
下载,然后在工程中引用该控件,举例子如下

1  datatable 的内容转换为PDF
      首先,建立一个datatable转换为pdf的方法如下

using iTextSharp; 
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; 
} 
}

然后,在要调用转换的按钮的事件代码中调用就可以了
  /将目标文件保存在此项目下

//字体使用simsun 
//字号选择14 
//mytb是数据datatable的名 
TableToPDF.ConvertDataTableToPDF(mytb, Server.MapPath(".") +@"\Table.pdf", "c:\\winnt\\FONTS\\simsun.ttc,1", 14); 

2  给出文本内容,生成PDF
    比如用户输入文本内容及要输出PDF的保存路径的话,也可以输出PDF

///<param="txt">:要输出文本的内容</param> 
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    加页眉页脚

privatevoid CreatePDFheader(string filepath,string headertxt,string footertxt) 
{ 
//创建文档对象 
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 (二)的更多相关文章

  1. asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化

    原文:asp.net mvc3 数据验证(二)--错误信息的自定义及其本地化 一.自定义错误信息         在上一篇文章中所做的验证,在界面上提示的信息都是系统自带的,有些读起来比较生硬.比如: ...

  2. Python数据生成pdf文件

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  3. 在ASP.NET CORE下生成PDF文档

    原文链接:https://www.c-sharpcorner.com/article/creating-pdf-in-asp-net-core-mvc-using-rotativa-aspnetcor ...

  4. 在asp.net 中生成PDF的方法

    近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...

  5. Spring Boot集成JasperReports生成PDF文档

    由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档.本人文采欠缺,写作能力 ...

  6. asp.net mvc3 数据验证(四)—Remote验证的一个注意事项

    原文:asp.net mvc3 数据验证(四)-Remote验证的一个注意事项         前几篇把asp.net mvc3 中基于Model的主要数据验证的方法都已经讲完了,本节纯粹只是讲一个我 ...

  7. iReport(模版) 与Jasper(数据填充)生成pdf文档

    报表模板生成软件:iReport . 润乾.水晶. 一.Jaspersoft iReport Desiginer 5.60 的使用 1.软件jar包的下载地址与配置 百度云盘下载链接:https:// ...

  8. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  9. asp.net生成PDF文件 (1)

    asp.net生成PDF文件 (1) 这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: 1 2 3 4 5 6 7 8 9 10 11 ...

随机推荐

  1. GETorPOST方式保存和获取图片信息

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  2. PHP extract() 函数

    PHP extract() 函数从数组中把变量导入到当前的符号表中. 对于数组中的每个元素,键名用于变量名,键值用于变量值. 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时, ...

  3. Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)

    这段时间一直在研究如何制作一个适合Xen虚拟化的Windows Server 2008(2012)磁盘镜像,中间虽然遇到了一些阻挠,不过最终还是顺利解决,成功制作出了Xen Windows Serve ...

  4. Foobar音乐播放器——最佳音乐播放器 - imsoft.cnblogs

    简单皮肤 下载地址:链接: http://pan.baidu.com/s/1kTwn2dh 密码: lf5f

  5. python 数据结构之单链表的实现

    链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结点都包含了可以链接起来的地址信息,所以用一个变量就 ...

  6. 343. Integer Break

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  7. 2015GitWebRTC编译实录4

    2015.07.17 libg711 编译通过[422/1600 ] CC obj /webrtc/modules/audio_coding/codecs/g711/g711.g711.o[423/1 ...

  8. live555源代码编译

    参考http://www.cnblogs.com/MikeZhang/archive/2013/04/24/live555Windows_20130424.html 环境:windowsxp + VS ...

  9. 理解ros服务和参数 ---- 7

    原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/  周学伟 Description: 本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservi ...

  10. FZU-2105 Digits Count (两种标记成段更新)

    题目大意:给n个0~15之间的数,有3种更新操作,1种询问操作.3种更新操作是:1.让某个闭区间的所有数字与一个0~15之间的数字进行逻辑与运算:2.让某个闭区间的所有数字与一个0~15之间的数字进行 ...