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

首頁 > 學院 > 開發設計 > 正文

在asp.net中生成PDF的方法

2019-11-14 16:30:56
字體:
來源:轉載
供稿:網友

    近期要用asp.net 2.0生成PDF,看了下書,查了下資料,發現可以有組件幫得上忙,可以下載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>
public class 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>
    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;
    }
}


然后,在要調用轉換的按鈕的事件代碼中調用就可以了
  /將目標文件保存在此項目下
        //字體使用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>


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    加頁眉頁腳
    private void 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();
    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赞皇县| 凯里市| 启东市| 贞丰县| 青阳县| 东乡族自治县| 谷城县| 株洲市| 达日县| 肇庆市| 体育| 旅游| 久治县| 南投市| 军事| 元谋县| 安多县| 平乡县| 肃北| 巫山县| 甘泉县| 南川市| 长葛市| 商丘市| 班戈县| 报价| 大宁县| 犍为县| 丹寨县| 容城县| 丹东市| 长沙市| 苍溪县| 九龙县| 马尔康县| 宁晋县| 华蓥市| 大连市| 永善县| 泗洪县| 恩平市|