我在使用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,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(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。