国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

asp.net生成PDF方法

2019-11-14 16:31:00
字體:
供稿:網(wǎng)友

今天轉(zhuǎn)博客園看到有人發(fā)表了一篇生成PFd的文章,準備自己也留一份準備以后用到的時候方便調(diào)用;

首先去itextsharp網(wǎng)站下載控件(https://sourceforge.net/PRojects/itextsharp)

將下載后的控件引用到自己的項目里面,主要的bll文件為:itextsharp.dll文件

1、根據(jù)DataTable生成PDF文件

添加Itextsharp引用

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

應用代碼

 /// <summary>        /// 轉(zhuǎn)換數(shù)據(jù)表為PDF文檔        /// </summary>        /// <param name="Data">數(shù)據(jù)表數(shù)據(jù)</param>        /// <param name="PDFFile">目標PDF文件全路徑</param>        /// <param name="FontPath">字體所在路徑</param>        /// <param name="FontSize">字體大小</param>        /// <returns>返回調(diào)用是否成功</returns>        public static bool ConvertDataTableToPDF(DataTable datatable, string PDFFilePath, string FontPath, float FontSize)        {            //初始化一個目標文檔類            Document document = new Document();            //調(diào)用PDF的寫入方法流            //注意FileMode-Create表示如果目標文件不存在,則創(chuàng)建,如果已存在,則覆蓋。            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(PDFFilePath, FileMode.Create));            //打開目標文檔對象            document.Open();            //創(chuàng)建PDF文檔中的字體            BaseFont baseFont = BaseFont.CreateFont(                FontPath,                BaseFont.IDENTITY_H,                BaseFont.NOT_EMBEDDED);            //根據(jù)字體路徑和字體大小屬性創(chuàng)建字體            Font font = new Font(baseFont, FontSize);            //根據(jù)數(shù)據(jù)表內(nèi)容創(chuàng)建一個PDF格式的表            PdfPTable table = new PdfPTable(datatable.Columns.Count);            //遍歷原table的內(nèi)容            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));                }            }            //在目標文檔中添加轉(zhuǎn)化后的表數(shù)據(jù)            document.Add(table);            //關閉目標文件            document.Close();            //關閉寫入流            writer.Close();            return true;        }       /// <summary>        /// 生成Dataset        /// </summary>        /// <returns></returns>        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;        }調(diào)用方法: ConvertDataTableToPDF(GetSet().Tables[0], Server.MapPath("~/Table.pdf"), "C://Windows//Fonts//simsun.ttc,1", 14);

2、根據(jù)文本內(nèi)容生成PDF文件

 private void CreateTxt(string txt, string filepath)        {            //創(chuàng)建文檔對象            Document document = new Document();            //實例化生成的文檔            PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));            //打開文檔            document.Open();            //在文檔中添加文本內(nèi)容            document.Add(new Paragraph(txt));            //關閉文檔對象            document.Close();        }

3、生成頁眉頁腳(不過iTextSharp5.5這個版本沒有了這個方法,麻煩親們幫忙找一個)

 private void CreatePDFheader(string filepath, string headertxt, string footertxt)        {            //創(chuàng)建文檔對象            Document document = new Document();            // 創(chuàng)建文檔寫入實例            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;            //打開文檔內(nèi)容對象            document.Open();            // 添加頁眉            HeaderFooter header = new HeaderFooter(new Phrase(headertxt), false);            document.Header = header;            //設計各頁的內(nèi)容            document.Add(new Paragraph("This is First Page"));            //新添加一個頁            document.NewPage();            //第2頁中添加文本            document.Add(new Paragraph("This is Second Page"));            // 重置頁面數(shù)量            document.ResetPageCount();            //關閉文檔對象            document.Close();        }

  

 

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定边县| 荥阳市| 本溪市| 瑞昌市| 大渡口区| 马龙县| 军事| 白城市| 吉林省| 土默特右旗| 正安县| 海宁市| 郴州市| 清涧县| 阿巴嘎旗| 罗甸县| 天水市| 佳木斯市| 新乐市| 安新县| 额济纳旗| 南康市| 吉安市| 鄂伦春自治旗| 沙雅县| 肃宁县| 安泽县| 吉首市| 含山县| 福海县| 菏泽市| 石河子市| 灵宝市| 平凉市| 壶关县| 南乐县| 井冈山市| 公主岭市| 靖安县| 五常市| 保山市|