用C#將HTML字符串轉(zhuǎn)換為PDF
Spire.PDF for .NET 是一款專門對 Word 文檔進(jìn)行操作的 .NET 類庫。致力于在于幫助開發(fā)人員輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。
行號用于在每行文本旁邊顯示 Word 自動計算的行數(shù)。當(dāng)我們需要參考合同或法律文件等文檔中的特定行時,它非常有用。word中的行號功能允許我們設(shè)置起始值、編號間隔、與文本的距離以及行號的編號方式。使用 Spire.Doc,我們可以實現(xiàn)上述所有功能。本文將介紹如何將文本文件轉(zhuǎn)換為 PDF
歡迎加入spire技術(shù)交流群:767755948
除了轉(zhuǎn)換HTML URL為PDF和HTML文件為PDF,現(xiàn)在Spire.PDF開始支持轉(zhuǎn)換HTML字符串為PDF。本文將向您展示如何在C#中將HTML字符串轉(zhuǎn)換為PDF文件。我們支持HTML字符串中的表格、文本和超鏈接。請檢查以下步驟:
- 下載Spire.PDF for .NET(3.0.27以上版本)并正確安裝。Spire.PDF安裝簡潔、專業(yè),并使用MSI安裝包。
- 在下載的Bin文件夾中添加Spire.Pdf.dll作為參考,路徑如下:"...\Spire.Pdf\Bin\NET4.0\Spire.Pdf.dll"。
- 下面是代碼
步驟1:創(chuàng)建一個新的PDF文檔。
1 PdfDocument pdf = new PdfDocument();
第2步:設(shè)置布局和頁面設(shè)置。
1 PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); 2 //webBrowser load html whether Waiting 3 htmlLayoutFormat.IsWaiting = false; 4 //page setting 5 PdfPageSettings setting = new PdfPageSettings(); 6 setting.Size = PdfPageSize.A4;
第3步:加載HTML字符串代碼并生成PDF文件。
1 string htmlCode = File.ReadAllText("..\\..\\2.html"); 2 3 //use single thread to generate the pdf from above html code 4 Thread thread = new Thread(() => 5 { pdf.LoadFromHTML(htmlCode, false, setting, htmlLayoutFormat);}); 6 thread.SetApartmentState(ApartmentState.STA); 7 thread.Start(); 8 thread.Join();
第4步:將文件保存為PDF格式并預(yù)覽。
1 pdf.SaveToFile("output.pdf"); 2 System.Diagnostics.Process.Start("output.pdf");
請查看有效截圖:
完整代碼:
using Spire.Pdf; using Spire.Pdf.HtmlConverter; using System.IO; using System.Threading; namespace LoadFromHTML { class Program { static void Main(string[] args) { PdfDocument pdf = new PdfDocument(); PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); htmlLayoutFormat.IsWaiting = false; PdfPageSettings setting = new PdfPageSettings(); setting.Size = PdfPageSize.A4; string htmlCode = File.ReadAllText("..\\..\\2.html"); Thread thread = new Thread(() => { pdf.LoadFromHTML(htmlCode, false, setting, htmlLayoutFormat); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); pdf.SaveToFile("output.pdf"); System.Diagnostics.Process.Start("output.pdf"); } } }