【问题标题】:How to apply style to element inside td - Convert html to PDF using ItexSharp如何将样式应用于 td 内的元素 - 使用 ItextSharp 将 html 转换为 PDF
【发布时间】:2020-08-23 09:22:49
【问题描述】:

目前,我正在生成pdf并通过邮件发送,问题是css样式不适用于td标签内部的元素,任何线索。

在示例中,我在 td 标记内使用了 h1 标记,h1 没有得到 css 样式。

  var doc = new Document(PageSize.LETTER, 50, 50, 80, 60);
  MemoryStream memoryStream = new MemoryStream();
  PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);

   string rutaImagen = Server.MapPath("/images/LogoMOPT.png");
            

   string image = $@"<img src=""{rutaImagen}""/>";
   string name = @"<h1 style=""border: 1px solid #ff5733;"">Eddie</h1>";
            
   doc.Open();
   
   var html = $@" <table style='height: 171px; margin - left: auto; margin - right: auto;' border='1' width='676'>
                  <tbody><tr><td style='width: 225px;'>{image}</td>
                  <td style='width: 225px; text-align:center;'>2</td> 
                  <td style='width: 225px;'><h1 style='border: 1px solid #ff5733;'>Test</h1></td></tr><tr>
                  < td style='width: 225px;'>4</td> <td style='width: 225px;'>5</td> <td style='width: 225px;'>6</td></tr>
                  </tbody>
                  </table>";
           
          
            var sr = new StringReader(html);
            XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc,sr);
            writer.CloseStream = false;
            doc.Close();
            memoryStream.Position = 0;
  

【问题讨论】:

  • 您要在列边框还是在列中的文本上应用样式?
  • 标签H1内的文字,一个边框
  • 用于文本大小,此标签没有边框。如何在文本上应用边框

  • 谢谢,那么如何将边框应用于文本?
  • 任何颜色都可以应用于整个文本,而不仅仅是文本边框。

标签: c# html css itext html-to-pdf


【解决方案1】:

&lt;h1&gt; 标签内的整个文本的颜色可以由style 应用,如下所示。但无法应用文字边框。

<h1 style="color: #ff5733;">Eddie</h1>

要在文本或字体上应用边框,必须使用css 属性,如下所示:

<h1 style="text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; font-family: sans; color: white;
">Text With Border</h1>

第二种方式

可以通过为h1添加css类来安排:

h1 {
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;    
    font-family: sans; color: white;
}

那么不需要在HTML中应用内联样式

<h1>Text With Border</h1>

这是一个实际的例子:

https://jsfiddle.net/qtjrhg72/1/

【讨论】:

  • 所以,以任何方式应用边框,可能使用 div
  • 我看不到边框
猜你喜欢
  • 2014-09-29
  • 2015-10-01
  • 2019-07-21
  • 2022-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多