iTextSharp LGPLv2.Core无法在<style>标记中正确应用CSS

时间:2019-02-13 18:46:52

标签: c# itext

我遇到一个问题,即我的itextsharp似乎无法正确解析并将非内联样式应用于我的HTML,而是仅以正确的内联样式呈现PDF,但是将任何内容都视为常规字符串。

经过研究,我发现它具有一个样式表类,因此我决定将我的css删除到我的标签中,然后尝试将其添加到页面中,如下所示:

  var css = new StyleSheet();
                css.LoadStyle(“ h1”,“ text-align”,“ center”);
                css.LoadStyle(“ h1”,“文本转换”,“大写”);
                css.LoadStyle(“ h1”,“ text-align”,“ center”);

                css.LoadStyle(“ h2”,“ text-align”,“ center”);
                css.LoadStyle(“ h2”,“文本转换”,“大写”);
                css.LoadStyle(“ h2”,“ text-align”,“ center”);

                css.LoadStyle(“ h3”,“ text-align”,“ center”);
                css.LoadStyle(“ h3”,“文本转换”,“大写”);
                css.LoadStyle(“ h3”,“ text-align”,“ center”);

                css.LoadStyle(“ marginBottomSmall”,“ margin-bottom”,“ 10px”);
                css.LoadStyle(“ tableTopAlign”,“ vertical-align”,“ top”);

                css.LoadStyle(“ customBullet :: before”,“ content”,@“'\ 2022'”);
                css.LoadStyle(“ customBullet :: before”,“ padding-right”,“ 0.5em”);

                css.LoadStyle(“ customBullet”,“ display”,“ flex”);

                css.LoadStyle(“ flexColumnContainer”,“ display”,“ flex”);
                css.LoadStyle(“ flexColumnContainer”,“ flex-direction”,“ column”);

                css.LoadStyle(“ tableDiv”,“ display”,“ table”);

                css.LoadStyle(“ fixedWidthMed”,“ width”,“ 325px”);
                css.LoadStyle(“ fixedWidthMed”,“ display”,“ table-cell”);

                css.LoadStyle(“ tableRow”,“ display”,“ table-row”);

                css.LoadStyle(“ flexRowContainer”,“ display”,“ flex”);
                css.LoadStyle(“ flexRowContainer”,“ flex-direction”,“ row”);

                css.LoadStyle(“ forceULPadding”,“ padding-left”,“ 20px”);

                css.LoadStyle(“ SoapListNoBullets”,“列表样式”,“无”);

                css.LoadStyle(“ printable”,“ max-width”,“ 800px”);

                css.LoadStyle(“ bottomPadContent td”,“ padding-bottom”,“ 10px”);
                css.LoadStyle(“ bottomPadContent td”,“ vertical-align”,“ top”);
 

然后我尝试如下将其应用于我的HtmlWorker:

  var htmlWorker = new HtmlWorker(doc);
            htmlWorker.Style = css;
 

但是,解析之后,我看不到它完全应用了样式。正确的方法是什么?我看到了很多有关itextsharp的信息,但是它们似乎是针对不同的版本的,也就是用于完整的.NET框架的,我受事实的限制,因为它必须是为dotnet核心制作的。

0 个答案:

没有答案