【教程】PDF组件Spire.PDF 教程:如何在C#,VB.NET中将HTML样式化文本插入PDF

来源:互联网 发布:巡音露卡的事件簿知乎 编辑:程序博客网 时间:2024/06/06 08:23

Spire.PDF支持通过使用PdfHTMLTextElement类在PDF文档中呈现简单的HTML字符串。该类支持一组基本的HTML标签,包括Font,B,I,U,Sub,Sup和BR。对于使用CSS的复杂HTML呈现,请检查将HTML字符串转换为PDF。

详细步骤:

Step 1: 创建一个新的PDF文档,添加一个页面。

PdfDocument doc = new PdfDocument();PdfNewPage page = doc.Pages.Add() as PdfNewPage;

Step 2: 定义HTML字符串。

string htmlText= "This demo shows how we can insert <u><i>HTML styled text</i></u> to PDF using "                 + "<font color='#FF4500'>Spire.PDF for .NET</font>. ";

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: 格式化页面布局,以使HTML文本在内容超过一页时会分解成多个页面。

PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat();format.Layout = PdfLayoutType.Paginate;format.Break = PdfLayoutBreakType.FitPage;

Step 5: 在页面上绘制HTML字符串。

richTextElement.Draw(page, new RectangleF(0, 20, page.GetClientSize().Width, page.GetClientSize().Height), format);

Step 6: 保存文档。

doc.SaveToFile("Output.pdf");

输出:

图片1

完整代码:

[C#]

//Create a Pdf documentPdfDocument doc = new PdfDocument(); //Add a new pagePdfNewPage page = doc.Pages.Add() as PdfNewPage; //HTML stringstring htmlText= "This demo shows how we can insert <u><i>HTML styled text</i></u> to PDF using "                 + "<font color='#FF4500'>Spire.PDF for .NET</font>. "; //Render HTML textPdfFont font = new PdfFont(PdfFontFamily.Helvetica, 5);PdfBrush brush = PdfBrushes.Black;PdfHTMLTextElement richTextElement = new PdfHTMLTextElement(htmlText, font, brush);richTextElement.TextAlign = TextAlign.Left; //Format LayoutPdfMetafileLayoutFormat 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 documentDim doc As New PdfDocument() 'Add a new pageDim page As PdfNewPage = TryCast(doc.Pages.Add(), PdfNewPage) 'HTML stringDim htmlText As String = "This demo shows how we can insert <u><i>HTML styled text</i></u> to PDF using "    & "<font color='#FF4500'>Spire.PDF for .NET</font>. " 'Render HTML textDim font As New PdfFont(PdfFontFamily.Helvetica, 5)Dim brush As PdfBrush = PdfBrushes.BlackDim richTextElement As New PdfHTMLTextElement(htmlText, font, brush)richTextElement.TextAlign = TextAlign.Left 'Format LayoutDim format As New PdfMetafileLayoutFormat()format.Layout = PdfLayoutType.Paginateformat.Break = PdfLayoutBreakType.FitPage 'Draw htmlString richTextElement.Draw(page, New RectangleF(0, 20, page.GetClientSize().Width, page.GetClientSize().Height), format)doc.SaveToFile("Output.pdf")

点击下载Spire.PDF

阅读全文
0 0
原创粉丝点击