gpt4 book ai didi

c# - 使用 iTextSharp 将带有 CSS 的 HTML 转换为 PDF

转载 作者:搜寻专家 更新时间:2023-10-31 08:56:25 24 4
gpt4 key购买 nike

我在使用 C# 网站的 asp.net 中工作。我想转换一个 HTML DIV,其中包含各种 html 元素,如 div、标签、表格和带有 css 样式(背景颜色、cssClass 等)的图像,我希望使用 iTextSharp DLL 将其全部内容转换为 PDF,但在这里我面临未应用 css 的问题。任何人都可以通过提供任何示例或代码片段来帮助我。

最佳答案

安装 2 个 NuGet 包 iTextSharp 和 itextsharp.xmlworker 并使用以下代码:

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;


byte[] pdf; // result will be here

var cssText = File.ReadAllText(MapPath("~/css/test.css"));
var html = File.ReadAllText(MapPath("~/css/test.html"));

using (var memoryStream = new MemoryStream())
{
var document = new Document(PageSize.A4, 50, 50, 60, 60);
var writer = PdfWriter.GetInstance(document, memoryStream);
document.Open();

using (var cssMemoryStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(cssText)))
{
using (var htmlMemoryStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, htmlMemoryStream, cssMemoryStream);
}
}

document.Close();

pdf = memoryStream.ToArray();
}

关于c# - 使用 iTextSharp 将带有 CSS 的 HTML 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com