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

C# 使用 iTextSharp 操作 PDF 文件

開(kāi)發(fā)
Html 文件怎么轉(zhuǎn)成 PDF 文件?下面我們來(lái)看下使用 iTextSharp 實(shí)現(xiàn) HTML 轉(zhuǎn) PDF 的方法。

概述

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

下面我們來(lái)看下使用  iTextSharp實(shí)現(xiàn)HTML轉(zhuǎn)PDF的方法。

代碼實(shí)現(xiàn)

(1) nuget 安裝iTextSharp。

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

(2) 將Html文檔轉(zhuǎn)換為pdf。

/// <summary>
        /// 將Html文檔轉(zhuǎn)換為pdf
        /// </summary>
        /// <param name="htmlText"></param>
        /// <returns></returns>
        public byte[] ConvertHtmlTextToPDF(string htmlText)
        {
            if (string.IsNullOrEmpty(htmlText))
                return null;
            //避免當(dāng)htmlText無(wú)任何html tag標(biāo)簽的純文字時(shí),轉(zhuǎn)PDF時(shí)會(huì)掛掉,所以一律加上<p>標(biāo)簽
            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文檔,默認(rèn)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());
                //指定默認(rèn)縮放比例為100%
                var pdfDest = new PdfDestination(PdfDestination.XYZ, 0, doc.PageSize.Height, 1f);
                //將默認(rèn)設(shè)置寫(xiě)入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)
            {
                //使用微軟雅黑字體解決中文亂碼的問(wèn)題,因?yàn)檠藕谧煮w為字體集合所以需要使用,0來(lái)指定具體的字體。
                //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) 調(diào)用生成。

   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);
責(zé)任編輯:趙寧寧 來(lái)源: 后端Q
相關(guān)推薦

2009-09-01 10:28:38

C#追加文件

2021-12-01 07:19:44

C# Npoi Excel

2009-08-31 18:38:59

C#寫(xiě)文件

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數(shù)據(jù)

2009-08-28 15:49:45

C#對(duì)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#創(chuàng)建PDF文件

2009-08-20 09:15:20

C#操作文本文件

2009-08-19 10:42:08

C#操作Word表格

2009-09-18 10:00:17

C#數(shù)組操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区日韩在线 | 日韩欧美三区 | 黄视频在线网站 | 日韩午夜网站 | 久久人体视频 | 激情在线视频 | 国产伦精品一区二区三区精品视频 | 免费成人高清 | 国产一级黄色网 | 久久av影院 | 亚洲国产精品久久久久婷婷老年 | www.国产视频 | hdfreexxxx中国妞| 91丨国产| 特级毛片爽www免费版 | 一区二区在线 | 国产目拍亚洲精品99久久精品 | 亚洲国产精品久久久久久 | 国产成人免费视频 | 欧美精品区| 国产免费观看视频 | 国产精品久久久久久久久久久久冷 | 亚洲福利电影网 | 成人在线国产 | 亚洲精品在线视频 | 日韩精品在线免费观看 | 亚洲免费一区 | 伊人av在线播放 | 97视频成人| 四虎影院免费在线 | 奇米av| 精品一二三 | 丁香婷婷久久久综合精品国产 | 亚洲精品久久久蜜桃网站 | 中文字幕亚洲一区二区va在线 | 免费在线观看一级毛片 | 性做久久久久久免费观看欧美 | 91九色在线观看 | 精品久久久久久久久久久 | 精品一区二区三区91 | 在线观看特色大片免费网站 |