导出html文本到PDF(与内联样式).背景色不工作

本文关键字:样式 背景色 工作 文本 html PDF 导出 | 更新日期: 2023-09-27 18:02:48

我正在开发一个应用程序导出html数据到pdf文件(在c#中)。我按照以下步骤转换数据

StyleSheet styles = new StyleSheet();
tempText = tempText.Replace("'"", """);
ArrayList objects = HTMLWorker.ParseToList(new StringReader(tempText), styles);
       for (int k = 0; k < objects.Count; k++)
       {
                document.Add((iTextSharp.text.IElement)objects[k]);
       }

假设我的文本是

<h3 style="color:blue;">
       Write a Java 
       <span style="font-size:16px;">
           <span style="background-color:yellow;">
                program that prints two separate text
           </span> 
       </span>
       strings on the same line.
![ exported data in pdf is shown in the image below ][1]</h3>

问题是内部span标签的转换失败。它不会从样式中解析background-color。我该怎么做呢?我不想使用任何第三方工具。

导出html文本到PDF(与内联样式).背景色不工作

用c#将Html字符串导出为pdf。web应用程序

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=LetterListing.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter(PrintLetter());
HtmlTextWriter hw = new HtmlTextWriter(sw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();