C#實現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF
將HTML轉(zhuǎn)換為PDF可實現(xiàn)格式保留、可靠打印、文檔歸檔等多種用途,滿足不同領域和情境下的需求。本文將通過以下兩個示例,演示如何使用第三方庫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)對應的插件包,可點擊直接下載,然后解壓縮到指定路徑。
示例一:使用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";
//設置插件路徑
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";
//設置插件
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#示例代碼,我們可以實現(xiàn)HTML網(wǎng)頁轉(zhuǎn)PDF,或HTML字符串轉(zhuǎn)PDF。Spire.PDF for .NET庫也支持在不使用插件的情況下將HTML轉(zhuǎn)為PDF,但借助QT插件可以實現(xiàn)更好的渲染效果。
到此這篇關于C#實現(xiàn)將HTML網(wǎng)頁或HTML字符串轉(zhuǎn)換為PDF的文章就介紹到這了,更多相關C# HTML轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務類的方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關于C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務類的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2018-04-04
C# 類型轉(zhuǎn)換(隱式類型,顯式類型,自定義類型)
本文詳細介紹了C#中的類型轉(zhuǎn)換,包括隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換(強制類型轉(zhuǎn)換),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-11-11
淺談C#中HttpWebRequest與HttpWebResponse的使用方法
本篇文章主要介紹了淺談C#中HttpWebRequest與HttpWebResponse的使用方法,具有一定的參考價值,有興趣的可以了解一下。2017-01-01
C#使用List類實現(xiàn)動態(tài)變長數(shù)組的方法
這篇文章主要介紹了C#使用List類實現(xiàn)動態(tài)變長數(shù)組的方法,涉及C#中List類的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04

