成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# 使用 iTextSharp 操作 PDF 文件

開發
Html 文件怎么轉成 PDF 文件?下面我們來看下使用 iTextSharp 實現 HTML 轉 PDF 的方法。

概述

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);
責任編輯:趙寧寧 來源: 后端Q
相關推薦

2009-09-01 10:28:38

C#追加文件

2021-12-01 07:19:44

C# Npoi Excel

2009-08-31 18:38:59

C#寫文件

2009-09-01 10:10:51

C# StreamRe

2009-08-18 17:05:08

C#操作xml文件

2009-08-25 15:59:28

C#串口操作

2024-04-03 00:10:24

C#System數據

2009-08-28 15:49:45

C#對INI文件操作

2009-08-17 07:55:00

C#文件操作

2009-08-17 08:01:00

C#文件列表

2009-08-12 16:57:28

C#讀取文件夾

2009-08-17 13:34:02

C#異步操作

2009-08-12 15:43:02

操作C# Datase

2009-08-18 17:11:03

C#操作XML文件

2009-08-19 17:44:15

C#操作文本文件

2009-09-09 18:20:29

C# XML編程

2009-08-31 13:41:24

C#創建PDF文件

2009-08-20 09:15:20

C#操作文本文件

2009-08-19 10:42:08

C#操作Word表格

2009-09-18 10:00:17

C#數組操作
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产综合 | 毛片一区二区三区 | 成人在线视频一区 | 久久久久久综合 | 欧美成人激情视频 | 日韩成人精品在线 | 国精产品一区一区三区免费完 | 天堂在线免费视频 | 99热热热热| 欧美一区久久 | 亚洲一区二区中文字幕 | 中文字幕一区二区三区四区五区 | 国产香蕉视频 | 欧美日韩三级在线观看 | 激情视频一区 | 毛片毛片毛片毛片毛片 | 国产欧美精品一区二区色综合 | www.久久| 在线三级电影 | 台湾av在线| 亚洲精品视频一区 | 91精品国产综合久久福利软件 | 国产精品一区二区不卡 | 免费国产一区二区 | 成人免费在线网 | 韩日视频在线观看 | 放个毛片看看 | 免费看黄色视屏 | 久草新在线 | 日本一二三区电影 | 一区二区久久精品 | 亚洲激情在线观看 | 91精品国产综合久久福利软件 | 欧美精品91 | 亚洲精品欧美精品 | 国产黄色av网站 | 中文字幕日韩欧美一区二区三区 | 久久黄色网 | 玖玖国产精品视频 | 91极品欧美视频 | 亚洲高清一区二区三区 |