C# Net Core 使用 itextsharp.lgplv2.core 把Html轉PDFhtml
只支持英文(中文我不知道怎麼弄,懂的朋友幫我看一下)!!!!!git
引入包itextsharp.lgplv2.coregithub
代碼ide
public static MemoryStream Pdf(string html) { StringReader sr = new StringReader(html); //步驟1 Document document = new Document(PageSize.A4, 10f, 10f, 10f, 0f); MemoryStream stream = new MemoryStream(); //步驟2 PdfWriter.GetInstance(document, stream); //步驟3 document.Open(); //建立一個樣式表 StyleSheet styles = new StyleSheet(); ////設置默認字體的屬性 //styles.LoadTagStyle(HtmlTags.BODY, "encoding", "Identity-H"); //styles.LoadTagStyle(HtmlTags.BODY, HtmlTags.FONT, "Tahoma"); //styles.LoadTagStyle(HtmlTags.BODY, "size", "16pt"); //FontFactory.Register(@"C:\Windows\Fonts\tahoma.ttf"); var unicodeFontProvider = FontFactoryImp.Instance; unicodeFontProvider.DefaultEmbedding = BaseFont.EMBEDDED; unicodeFontProvider.DefaultEncoding = BaseFont.IDENTITY_H; var props = new Hashtable { // { "img_provider", new MyImageFactory() }, { "font_factory", unicodeFontProvider } //始終使用Unicode字體 }; //步驟4 //var objects = HtmlWorker.ParseToList(sr, styles, props); var objects = HtmlWorker.ParseToList(sr, styles); foreach (IElement element in objects) { document.Add(element); } document.Close(); return stream; }
-------------------後面補充-----------------字體
後面看到了這個帖子:https://dotnetcoretutorials.com/2019/07/02/creating-a-pdf-in-net-core/spa
中的 這段話code
我決定使用包【pugpdf】:https://github.com/pug-pelle-p/pugpdfhtm
固然若是能解決itextsharp.lgplv2.core的中文問題,我以爲他是最好的選擇blog
-------------------後面補充-----------------element