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。
將完整路徑放置於程式中即可支援中文內文。
文章標籤
全站熱搜
留言列表