You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Nreco将HTML页面中指定DIV内容转换为PDF?

使用Nreco将指定DIV内容转换为PDF的解决方案

要实现仅转换HTML页面中指定contract DIV的内容为PDF,核心思路是先提取该DIV的完整HTML内容,再传入Nreco的PDF转换器处理,具体步骤如下:

  • 步骤1:提取目标DIV的HTML内容
    使用HTML解析库(如HtmlAgilityPack)加载Employee页面的HTML,定位到id="contract"的DIV节点,获取其包含的完整HTML代码。

  • 步骤2:用Nreco转换提取的HTML为PDF
    初始化Nreco的HtmlToPdfConverter实例,直接将提取到的DIV HTML传入GeneratePdf方法生成PDF。

代码示例(C#)

首先确保已安装NuGet包:Nreco.PdfGenerator和HtmlAgilityPack

using HtmlAgilityPack;
using NReco.PdfGenerator;

// 加载Employee页面的HTML(可从文件、流或字符串读取)
var htmlDoc = new HtmlDocument();
htmlDoc.Load("Employee.html"); // 替换为你的HTML文件路径或加载方式

// 定位contract DIV并提取其HTML内容
var contractDiv = htmlDoc.GetElementbyId("contract");
if (contractDiv == null)
{
    throw new Exception("未找到id为contract的DIV节点");
}
var targetHtml = contractDiv.OuterHtml; // 获取DIV及其内部所有元素的HTML

// 初始化Nreco转换器
var pdfConverter = new HtmlToPdfConverter();
// 可按需设置PDF参数,比如页面大小、边距等
pdfConverter.PageSize = PageSize.A4;
pdfConverter.Margins = new PageMargins { Top = 10, Bottom = 10, Left = 10, Right = 10 };

// 生成PDF并保存
byte[] pdfBytes = pdfConverter.GeneratePdf(targetHtml);
File.WriteAllBytes("Contract.pdf", pdfBytes);

关键说明

  • 若HTML页面是动态生成(如ASP.NET页面),可直接在后端获取控件的HTML内容,无需用HtmlAgilityPack解析文件。
  • 如果DIV依赖页面全局CSS样式,需确保提取的HTML中包含必要样式:要么将样式内联到DIV元素中,要么在转换器中添加样式文件引用。

内容的提问来源于stack exchange,提问作者M.Ngqanekana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:31:32