欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#使用iTextSharp操作PDF文件

admin
2024年11月2日 22:2 本文熱度 434

概述

html文件怎么轉成PDF文件?有的招聘網上的簡歷導成DOC文件,不能直接使用,這樣造成很大的困擾,那么它還有一個格式,那就是html格式。將文件導出成html格式,然后再轉成PDF文件,這樣便可以直接使用了。平常在項目中也是很多這樣的需求,需要把內容轉成pdf文件。

下面我們來看下使用  iTextSharp實現HTML轉PDF的方法。

代碼實現

1、nuget 安裝iTextSharp。

using iTextSharp.text;using iTextSharp.text.pdf;

2、將Html文檔轉換為pdf。

  /// <summary>        /// 將Html文檔轉換為pdf        /// </summary>        /// <param name="htmlText"></param>        /// <returns></returns>        public byte[] ConvertHtmlTextToPDF(string htmlText)        {            if (string.IsNullOrEmpty(htmlText))                return null;            //避免當htmlText無任何html tag標簽的純文字時,轉PDF時會掛掉,所以一律加上<p>標簽            htmlText = "<p>" + htmlText + "</p>";            using (var outputStream = new MemoryStream())            {                byte[] data = Encoding.UTF8.GetBytes(htmlText);                var msInput = new MemoryStream(data);                var doc = new Document();//pdf文檔,默認A4格式。                var writer = PdfWriter.GetInstance(doc, outputStream);                doc.Open();                //使用XMLWorkerHelper把Html parse到PDF                iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msInput, null, Encoding.UTF8, new UnicodeFontFactory());                //指定默認縮放比例為100%                var pdfDest = new PdfDestination(PdfDestination.XYZ, 0, doc.PageSize.Height, 1f);                //將默認設置寫入pdf                var action = PdfAction.GotoLocalPage(1, pdfDest, writer);                writer.SetOpenAction(action);                doc.Close();                msInput.Close();                outputStream.Close();                return outputStream.ToArray();            }        }

3、Unicode 字體支持。

   /// <summary>        /// Unicode 字體支持        /// </summary>        public class UnicodeFontFactory : FontFactoryImp        {            public override Font GetFont(string fontname, string encoding, bool embedded, float size, int style, BaseColor color, bool cached)            {                //使用微軟雅黑字體解決中文亂碼的問題,因為雅黑字體為字體集合所以需要使用,0來指定具體的字體。                //var chineseFontPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "msyh.ttc,0");                //宋體                //BaseFont baseFont = BaseFont.CreateFont(@"c:\Windows\Fonts\simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);                //黑體                BaseFont baseFont = BaseFont.CreateFont(@"c:\Windows\Fonts\SIMHEI.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);                //var baseFont = BaseFont.CreateFont(chineseFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);                return new Font(baseFont, size, style, color);            }        }

4、調用生成。

   string content = temp.Content;            foreach (var dict in dicts)            {                content = content.Replace("{{" + dict.Key + "}}", dict.Value);            }            var path = _esignInfo.Value.ContractPath;            //if (entity.ContractType == ContractType.First)            //{            //    path += "/" + appId + "/Agreements";            //}            entity.OriginalFileUrl = _pdfHelper.WritePdfFile(content, contractNo, path, "PDF");            bool isSucc = !String.IsNullOrEmpty(entity.OriginalFileUrl);


該文章在 2024/11/4 10:45:14 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved