c# - 使用 ITextSharp 将 HTML 页面转换为 PDF 时缺少 CSS 样式
问题描述
我有一个带有内联样式的 html 页面,包含几个</br>
标签和div
两个标签tables
,我使用的是 ITextSharp-5 版本。
我已将我的HTML
页面转换为PDf
使用ItextSharp
. 这里的问题是,最终PDF
转换的文档没有 HTML 页面的确切样式。下面是我的转换代码。
var htmlFile = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/Templates/GIPConversion.HTML"));
StringReader sr = new StringReader(htmlFile.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
bytes = memoryStream.ToArray();
memoryStream.Close();
}
请让我知道如果我在转换时遗漏了什么,我的最终输出应该与我的 HTML 页面相同。
谢谢 。
解决方案
推荐阅读
- java - Java:串行端口异常-端口忙
- sql - 显示每个唯一变量计数的选择语句
- r - 用于称重的变量集改变了结果估计
- javascript - 该网站无法使用加载更多按钮
- php - 我的事件监听器在 Symfony 4.1 中的可重用包中不起作用
- linux - 内核编程 - 互斥锁
- windows - 包括“for delims”中的特殊字符(&)-导致批处理文件
- reactjs - React/Redux 错误的上下文
- unit-testing - java.lang.IncompatibleClassChangeError org.junit.jupiter.params.provider.Arguments 必须是 InterfaceMethodref 常量
- linux - 变量旁边带有下划线的unix回显字符串