使用HTMLPasser在c#中将html转换为pdf表格时背景色不适用

使用HTMLPasser在c#中将html转换为pdf表格时背景色不适用,c#,pdf,pdf-generation,html-parsing,itextsharp,C#,Pdf,Pdf Generation,Html Parsing,Itextsharp,我需要转换一些html字符串来生成pdf文件,但它不应用任何样式(内联样式)。如果使用pdtable没有问题,但在我的情况下,我也不能使用pdftable。 我尝试了以下代码,它成功地生成了pdf,但没有样式 我的代码是 string resHtml = "<table style='background:red" width='100%' border='1' cellpadding='0' cellspacing='0'><tr><td align='cent

我需要转换一些html字符串来生成pdf文件,但它不应用任何样式(内联样式)。如果使用pdtable没有问题,但在我的情况下,我也不能使用pdftable
我尝试了以下代码,它成功地生成了pdf,但没有样式

我的代码是

string resHtml = "<table style='background:red" width='100%' border='1' cellpadding='0' cellspacing='0'><tr><td align='center'>TD2</td><td align='center'>TD1</td></tr>   <tr><td align='center'>TD2</td><td align='center'>TD1</td></tr>     </table><table><tr border='0'><td style='text-align: center;font-size:10px;color:#99999B;'>This is Computer genarated pay slip does not require any signatures</td></tr></table>"; 

iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();

styles.LoadTagStyle("table", "background", "red"); //I found this in stackoverflow but no use

StringReader stringReader = new StringReader(resHtml);

Document Doc = new Document(PageSize.A4, 10f, 10f, 50f, 20f);
HTMLWorker htmlparser = new HTMLWorker(Doc);
PdfWriter.GetInstance(Doc, Response.OutputStream);
Doc.Open();
htmlparser.Open();
htmlparser.Parse(stringReader);
htmlparser.SetStyleSheet(styles);
htmlparser.Close();

Doc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(Doc);
Response.End();

string resHtml=“
HtmlWorker
早已被宣布为过时。您是否尝试用
XmlWorker
重现该问题?我很好奇:这是新代码吗?还是这段非常旧的代码正在维护中?如果是新代码,那么我想知道为什么人们不使用
XMLWorker
,以及他们从哪里想到使用
HTMLWorker
。从上面的例子来看肯定不是。也许是一些我们不知道的过时的教程?如果你能给我你发现的网站,也许可以要求教程的作者更新他的教程。是的,这是一个非常老的项目,谢谢你的建议,我会尝试与xmlworker。