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

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 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: 格式化页面布局,以使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");

输出:

87b8d5b48cde48ea8ac2ee86ff15860c636433295431415451.jpg%0A

完整代码:

[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")PDF

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SPire.PDF是一个强大的.NET库,可以用于处理PDF文件。虽然Spire.PDF库本身没有专门的功能用于去水印,但是我们可以通过一些技巧来实现去水印的效果。 首先,我们需要加载原始的带有水印的PDF文件。然后,我们可以通过读取PDF中的每个页面,查找并删除水印内容。可以使用Spire.PDF库提供的文本查找功能来实现这一点。通过不断迭代每一页中的每个文本对象,我们可以使用正则表达式来查找和识别水印文本,并将其删除或替换为空字符串。 例如,可以使用以下代码来实现去除简单文本水印的功能: ```csharp using Spire.Pdf; using Spire.Pdf.Graphics; using System.Text.RegularExpressions; PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("original.pdf"); foreach (PdfPageBase page in pdf.Pages) { PdfTextFind[] result = page.FindText("Watermark", TextFindParameter.None); for (int i = result.Length - 1; i >= 0; i--) { PdfTextFind find = result[i]; //判断查找到的文本是否为水印 if (IsWatermark(find) == true) { //删除水印文本 page.DeleteText(find.Bounds); } } } pdf.SaveToFile("removed_watermark.pdf"); pdf.Close(); ``` 在上述代码中,我们首先加载原始的PDF文件。然后,对于每个页面,我们使用`FindText`方法查找包含水印内容文本。在`IsWatermark`方法中,我们可以使用正则表达式或其他类似的条件判断是否找到了水印。最后,我们使用`DeleteText`方法删除水印文本,并保存修改后的PDF文件。 需要注意的是,Spire.PDF库的去水印功能可能对复杂的水印效果或加密的PDF文件无法完全适用。在处理特殊情况时,可能需要进一步的定制开发或者使用其他专业的PDF处理工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值