C#生成PDF2019

因接口生成Pdf推送, 工做須要進行Pdf生成,但網上生成Pdf的文檔好少:工具

1.生成Pdf須要文件路徑/內容  均可以配置字體

2.使用組件 itextsharp.dll 本人用版本:v2.0.50727orm

3.保存路徑,本模塊 實現備份和轉移上傳xml

貼核心代碼以下:對象

 

public class PdfHelper
    {
        /// <summary>
        /// 根據傳入XML文件建立Pdf文件
        /// 一張單據對應一個pdf文件,A4紙張大小,文件格式UTF-8格式。
        /// </summary>
        /// <param name="xmlStr">xml字符串</param>
        /// <param name="filePath">生成Pdf的文件名稱</param>
        public static void CreatePdf(string inXML, string filePath, string logName, out string vsErr)
        {
            vsErr = string.Empty;
            try
            {
                FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);

                Document docPDF = new Document();               //建立一個pdf文檔的對象
                IODirFolder(Path.GetDirectoryName(filePath), logName, out vsErr);
                PdfWriter write = PdfWriter.GetInstance(docPDF, fs);//建立一個寫入PDF的對象
                BaseFont bsFont = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
                Font font = new Font(bsFont);          //在這裏須要注意的是,itextsharp不支持中文字符,想要顯示中文字符的話須要本身設置字體 
                docPDF.Open();                         //打開
                docPDF.Add(new Paragraph(inXML, font));//將XML寫入PDF中
                docPDF.Close();                        //關閉
            }
            catch (Exception ex)
            {
                logCom.WriteFile(string.Format("CreatePdf=>{0}", ex.ToString()), logName, out vsErr);
            }
        }
        /// <summary>
        /// 輸入輸出驗證IO 文件夾
        /// </summary>
        /// <param name="folderPath"></param>
        public static void IODirFolder(string folderPath, string logName, out string vsErr)
        {
            vsErr = string.Empty;
            try
            {
                if (!Directory.Exists(folderPath))
                {
                    Directory.CreateDirectory(folderPath);
                }
            }
            catch (Exception ex)
            {
                LogCom.WriteFile(string.Format("IODirFolder=>{0}", ex.ToString()), logName, out vsErr);
            }
        }
}

 拓展:經過以上能夠製做相似好多小工具,如讀取,寫入 合併Pdf  按照頁面寫入等。blog

 

本文章爲工做之中 2分鐘筆記。接口

附錄:文檔

ConfigParmater.cs 字符串

XmlUtil.cs string

和其餘調用模塊

相關文章
相關標籤/搜索