C#實(shí)現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF
將HTML轉(zhuǎn)換為PDF可實(shí)現(xiàn)格式保留、可靠打印、文檔歸檔等多種用途,滿足不同領(lǐng)域和情境下的需求。本文將通過以下兩個示例,演示如何使用第三方庫Spire.PDF for .NET和QT插件在C# 中將Html 網(wǎng)頁(URL)或HTML字符串轉(zhuǎn)為PDF文件。
HTML轉(zhuǎn)PDF所需工具
1. Spire.PDF for .NET
首先需要安裝Spire.PDF for .NET到你的項目中,可以官網(wǎng)下載后手動引入,或通過nuget安裝。
2. Qt WebEngine
用到QT插件為Qt WebEngine,以下是各操作系統(tǒng)對應(yīng)的插件包,可點(diǎn)擊直接下載,然后解壓縮到指定路徑。
示例一:使用QT插件將Html 網(wǎng)頁(URL)轉(zhuǎn)為PDF
步驟:
- 指定要轉(zhuǎn)換的URL地址、生成文件路徑和QT插件路徑;
- 調(diào)用 HtmlConverter.Convert(string url, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins) 方法來轉(zhuǎn)換 URL 為 PDF 文件。
C# 代碼:
using Spire.Pdf.Graphics; using Spire.Pdf.HtmlConverter.Qt; using System.Drawing; namespace ConvertUrlToPdf { class Program { static void Main(string[] args) { //指定網(wǎng)頁URL地址 string url = "https://www.baidu.com/"; //指定輸出文件路徑 string fileName = "Url轉(zhuǎn)Pdf.pdf"; //指定插件路徑 string pluginPath = "F:\\plugins-windows-x64\\plugins"; //設(shè)置插件路徑 HtmlConverter.PluginPath = pluginPath; //將HTML網(wǎng)頁轉(zhuǎn)換為PDF HtmlConverter.Convert(url, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0)); } } }
轉(zhuǎn)換百度首頁的效果圖:
示例二:使用QT插件將Html 字符串轉(zhuǎn)為PDF
步驟:
- 通過File.ReadAllText() 方法從一個 html文件中讀取字符串;
- 指定生成文件和QT插件路徑;
- 調(diào)用 HtmlConverter.Convert(string htmlString, string fileName, bool enableJavaScript, int timeout, SizeF pageSize, PdfMargins margins, Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) 方法將 HTML 字符串轉(zhuǎn)換為 PDF 文件。
C# 代碼:
using System.IO; using Spire.Pdf.HtmlConverter.Qt; using System.Drawing; using Spire.Pdf.Graphics; namespace ConvertHtmlStringToPdfWithPlugin { class Program { static void Main(string[] args) { //從.html文件中獲取HTML字符串 string htmlString = File.ReadAllText("示例.html"); //指定輸出文件路徑 string fileName = "Html字符串轉(zhuǎn)Pdf.pdf"; //指定插件路徑 string pluginPath = "F:\\plugins-windows-x64\\plugins"; //設(shè)置插件 HtmlConverter.PluginPath = pluginPath; //將HTML字符串轉(zhuǎn)換為PDF HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode); } } }
請注意:只有內(nèi)聯(lián) CSS 樣式和內(nèi)部 CSS 樣式可以在 PDF 上正確呈現(xiàn)。如果是外部 CSS 樣式,需要先將其轉(zhuǎn)換為內(nèi)聯(lián)或內(nèi)部 CSS 樣式。
總結(jié):通過以上兩個簡單的C#示例代碼,我們可以實(shí)現(xiàn)HTML網(wǎng)頁轉(zhuǎn)PDF,或HTML字符串轉(zhuǎn)PDF。Spire.PDF for .NET庫也支持在不使用插件的情況下將HTML轉(zhuǎn)為PDF,但借助QT插件可以實(shí)現(xiàn)更好的渲染效果。
到此這篇關(guān)于C#實(shí)現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF的文章就介紹到這了,更多相關(guān)C# HTML轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# Distinct和重寫IEqualityComparer時要知道的二三事
這篇文章主要給大家介紹了關(guān)于C# Distinct和重寫IEqualityComparer時要知道的二三事,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06c#實(shí)現(xiàn)萬年歷示例分享 萬年歷農(nóng)歷查詢
這篇文章主要介紹了c#實(shí)現(xiàn)萬年歷的方法,可以顯示農(nóng)歷、節(jié)氣、節(jié)日、星座、星宿、屬相、生肖、閏年月、時辰,大家參考使用吧2014-01-01C#實(shí)現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法
這篇文章主要介紹了C#實(shí)現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法,涉及C#中時間與字符串操作的相關(guān)技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-05-05