博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net 生成PDF方法
阅读量:4599 次
发布时间:2019-06-09

本文共 3985 字,大约阅读时间需要 13 分钟。

今天转博客园看到有人发表了一篇生成PFd的文章,准备自己也留一份准备以后用到的时候方便调用;

首先去itextsharp网站下载控件()

将下载后的控件引用到自己的项目里面,主要的bll文件为:itextsharp.dll文件

1、根据DataTable生成PDF文件

添加Itextsharp引用

using iTextSharp;

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

应用代码

///         /// 转换数据表为PDF文档        ///         /// 数据表数据        /// 目标PDF文件全路径        /// 字体所在路径        /// 字体大小        /// 
返回调用是否成功
public static bool 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(); return true; } /// /// 生成Dataset /// ///
private DataSet GetSet() { DataSet ds = new DataSet(); string sql = "select * from T_AjaxXML"; string Config = ConfigurationManager.ConnectionStrings["Config"].ConnectionString; using (SqlConnection cnn = new SqlConnection(Config)) { using (SqlCommand cmm = new SqlCommand(sql, cnn)) { SqlDataAdapter dapter = new SqlDataAdapter(cmm); dapter.Fill(ds); } } return ds; }调用方法: ConvertDataTableToPDF(GetSet().Tables[0], Server.MapPath("~/Table.pdf"), "C:\\Windows\\Fonts\\simsun.ttc,1", 14);

2、根据文本内容生成PDF文件

private void 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、生成页眉页脚(不过iTextSharp5.5这个版本没有了这个方法,麻烦亲们帮忙找一个)

private void CreatePDFheader(string filepath, string headertxt, string footertxt)        {            //创建文档对象            Document document = new Document();            // 创建文档写入实例            PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));            PdfPageEventHelper hh = new PdfPageEventHelper();                       // 添加页脚            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();        }

  

 

 

转载于:https://www.cnblogs.com/xiao-bei/p/3899979.html

你可能感兴趣的文章
C++学习笔记-const
查看>>
C学习笔记-小程序(长期更新)
查看>>
关于listView 中的聚焦问题
查看>>
Shiro学习(总结)
查看>>
C指针解析 ------ 指针的算术运算
查看>>
rabbitmq安装与高可用集群配置
查看>>
英语-托福英语学习(单词一)
查看>>
QCC3003x BLE 设置私有地址
查看>>
Oracle SQL
查看>>
Webkit内核自定义滚动条样式
查看>>
JSP转发和重定向的区别
查看>>
简单使用JSON,通过JSON 字符串来创建对象(二)
查看>>
Codeforces Round #178 (Div. 2) C. Shaass and Lights
查看>>
windows蓝屏代码
查看>>
Chapter 3 Phenomenon——16
查看>>
15款免费艺术院校学生求职简历word模板,四页求职简历模板,含自荐信
查看>>
Python-S9——Day84-ORM项目实战之权限、form以及modelform
查看>>
BLESS学习笔记
查看>>
java动态代理--一个简单的例子
查看>>
C#结构体
查看>>