原創(chuàng)|使用教程|編輯:王香|2017-10-11 14:39:29.000|閱讀 1077 次
概述:Spire.PDF 是一個(gè)專(zhuān)業(yè)的PDF組件,能夠獨(dú)立地創(chuàng)建、編寫(xiě)、編輯、操作和閱讀PDF文件,支持 .NET、WPF和Silverlight三個(gè)版本,本文介紹了如何通過(guò)Spire.PDF 在如何在C#,VB.NET中將HTML樣式化文本插入PDF。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
Spire.PDF支持通過(guò)使用PdfHTMLTextElement類(lèi)在PDF文檔中呈現(xiàn)簡(jiǎn)單的HTML字符串。該類(lèi)支持一組基本的HTML標(biāo)簽,包括Font,B,I,U,Sub,Sup和BR。對(duì)于使用CSS的復(fù)雜HTML呈現(xiàn),請(qǐng)檢查將HTML字符串轉(zhuǎn)換為PDF。
詳細(xì)步驟:
Step 1: 創(chuàng)建一個(gè)新的PDF文檔,添加一個(gè)頁(yè)面。
PdfDocument doc = new PdfDocument(); PdfNewPage page = doc.Pages.Add() as PdfNewPage;
Step 2: 定義HTML字符串。
string htmlText= "This demo shows how we can insert HTML styled text to PDF using " + "Spire.PDF for .NET. ";
Step 3: 渲染HTML文本。
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 5); PdfBrush brush = PdfBrushes.Black; PdfHTMLTextElement richTextElement = new PdfHTMLTextElement(htmlText, font, brush); richTextElement.TextAlign = TextAlign.Left;
Step 4: 格式化頁(yè)面布局,以使HTML文本在內(nèi)容超過(guò)一頁(yè)時(shí)會(huì)分解成多個(gè)頁(yè)面。
PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat(); format.Layout = PdfLayoutType.Paginate; format.Break = PdfLayoutBreakType.FitPage;
Step 5: 在頁(yè)面上繪制HTML字符串。
richTextElement.Draw(page, new RectangleF(0, 20, page.GetClientSize().Width, page.GetClientSize().Height), format);
Step 6: 保存文檔。
doc.SaveToFile("Output.pdf");
輸出:
完整代碼:
[C#]
//Create a Pdf document PdfDocument doc = new PdfDocument(); //Add a new page PdfNewPage page = doc.Pages.Add() as PdfNewPage; //HTML string string htmlText= "This demo shows how we can insert HTML styled text to PDF using " + "Spire.PDF for .NET. "; //Render HTML text PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 5); PdfBrush brush = PdfBrushes.Black; PdfHTMLTextElement richTextElement = new PdfHTMLTextElement(htmlText, font, brush); richTextElement.TextAlign = TextAlign.Left; //Format Layout PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat(); format.Layout = PdfLayoutType.Paginate; format.Break = PdfLayoutBreakType.FitPage; //Draw htmlString richTextElement.Draw(page, new RectangleF(0, 20, page.GetClientSize().Width, page.GetClientSize().Height), format); doc.SaveToFile("Output.pdf");
[VB.NET]
'Create a Pdf document Dim doc As New PdfDocument() 'Add a new page Dim page As PdfNewPage = TryCast(doc.Pages.Add(), PdfNewPage) 'HTML string Dim htmlText As String = "This demo shows how we can insert HTML styled text to PDF using " & "Spire.PDF for .NET. " 'Render HTML text Dim font As New PdfFont(PdfFontFamily.Helvetica, 5) Dim brush As PdfBrush = PdfBrushes.Black Dim richTextElement As New PdfHTMLTextElement(htmlText, font, brush) richTextElement.TextAlign = TextAlign.Left 'Format Layout Dim format As New PdfMetafileLayoutFormat() format.Layout = PdfLayoutType.Paginate format.Break = PdfLayoutBreakType.FitPage 'Draw htmlString richTextElement.Draw(page, New RectangleF(0, 20, page.GetClientSize().Width, page.GetClientSize().Height), format) doc.SaveToFile("Output.pdf")
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn