iText,主要是支援Java程式語言。之後針對Microsoft .NET C Sharp做了一個版本。可以至 iTextSharp (下載連結) 網站下載dll。

本案例版本為5.5.10 下載解壓縮後如下圖所示,先將dll相關的檔案解壓縮方便後續加入專案參考。

 

將所有dll加入專案參考如下圖所示:

 

範例程式如下:


StringBuilder sb = new StringBuilder();
sb.Append("<body>");
        
sb.Append("</body>");
FontFactory.Register("c:/windows/fonts/kaiu.ttf"); 
StyleSheet style = new StyleSheet();
style.LoadTagStyle("body", "face", "標楷體");          // 字型
style.LoadTagStyle("body", "font-size", "14px");             // 字體大小
style.LoadTagStyle("body", "encoding", BaseFont.IDENTITY_H);  // 顯示中文字

Document document = new Document();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, ms);
document.Open();

foreach (IElement element in HTMLWorker.ParseToList(new StringReader(sb.ToString()), style))
{
     document.Add(element);
}

document.Close();
byte[] bytes = ms.ToArray();

先利用StringBuilder將PDF內部的資料透過HTML編輯格式進行編輯並儲存。

透過StyleSheet設定內文樣式。

iTextShap 遇到中文內文時會變為空白,需透過FontFactory.Register("c:/windows/fonts/kaiu.ttf"); 使用電腦中的中文字型方能正常顯示。

可以至電腦中 「C:\Windows\Fonts」搜尋要使用之字型。

選定目標自行後右鍵內容查看實際檔案名稱。如標楷體為kaiu.ttf。

將完整路徑放置於程式中即可支援中文內文。

 

arrow
arrow
    文章標籤
    .net
    全站熱搜
    創作者介紹
    創作者 Lung-Yu,Tsai 的頭像
    Lung-Yu,Tsai

    Lung-Yu,Tsai 的部落格

    Lung-Yu,Tsai 發表在 痞客邦 留言(0) 人氣()