首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用CSS从HTML中在iTextSharp中渲染PDF

在使用CSS从HTML中渲染PDF时,可以使用iTextSharp库。iTextSharp是一个开源的.NET库,用于生成和操作PDF文档。以下是一个简单的示例,说明如何使用iTextSharp将HTML和CSS转换为PDF文档:

  1. 首先,确保已安装iTextSharp库。可以使用NuGet包管理器安装:
代码语言:txt
复制
Install-Package iTextSharp
Install-Package iTextSharp.xmlworker
  1. 创建一个HTML字符串,包含要转换为PDF的内容和CSS样式:
代码语言:csharp
复制
string htmlContent = @"
<!DOCTYPE html>
<html>
<head>
   <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1 {
            color: #4CAF50;
        }
    </style>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is a simple HTML document with CSS styles.</p>
</body>
</html>
";
  1. 使用iTextSharp将HTML和CSS转换为PDF文档:
代码语言:csharp
复制
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace HtmlToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a PDF document
            Document pdfDocument = new Document();
            using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
            {
                PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument, fs);
                pdfDocument.Open();

                // Parse the HTML content and CSS styles
                using (StringReader htmlReader = new StringReader(htmlContent))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, htmlReader);
                }
            }
        }
    }
}

这将生成一个名为output.pdf的PDF文件,其中包含从HTML和CSS样式转换而来的内容。

注意:iTextSharp库已经过时,并且不再维护。建议使用iText 7库,它是iTextSharp的继任者,提供了更多功能和更好的性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flying-saucer + iText + Freemarker实现pdf的导出, 支持中文、css以及图片

项目中有个需求,需要将合同内容导出成pdf。上网查阅到了 iText , iText 是一个生成PDF文档的开源Java库,能够动态的从XML或者数据库生成PDF,同时还可以对文档进行加密,权限控制,并且还支持Java/C#等,但是iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式让人头大。那么有没有什么方式能够支持css呢,又查阅到了 flying-saucer, flying-saucer也是导出PDF的一种解决方案,并且是基于iText的开源API,并且实现了CSS解析器,能够很好的支持CSS2.1,以及少量的CSS。最终解决方案定为: flying-saucer + iText +  Freemarker。

01
领券