【发布时间】:2013-08-01 18:30:54
【问题描述】:
我正在使用 iTextSharp 将 HTML 转换为 PDF 并通过电子邮件发送。它工作正常,只是它似乎不支持“背景”样式。这是我用来解析 HTML 的代码
private MemoryStream createPDF(string html){
MemoryStream msOutput = new MemoryStream();
TextReader reader = new StringReader(html);
Document document = new Document(PageSize.A4, 30, 30, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(document, msOutput);
HTMLWorker worker = new HTMLWorker(document);
document.Open();
writer.CloseStream = false;
worker.StartDocument();
worker.Parse(reader);
worker.EndDocument();
worker.Close();
document.Close();
msOutput.Position = 0;
return msOutput;
}
HTML 看起来像这样:
<p>
Have you <span style="background:red;padding:0.1em 0;" title="This has been brought to your attention.">ever switched your electronic medical records vendor? If so...</span></p>
我希望它不会突出显示文本。但是,使用“颜色:红色”可以改变文本的颜色,但我需要它突出显示,就像“背景”一样。
无论如何,我一直在寻找最后一天,但找不到解决方案。这可能吗?如果没有,是否有支持此功能的库?我也尝试过Pechkin 库,但同样的事情发生了。
【问题讨论】:
-
我不知道你是否已经看过这个关于 Pechkin 和背景颜色的常见问题解答,但是...github.com/gmanny/…(它应该几乎默认设置为 true,IMO)
标签: c# html pdf-generation itextsharp