iTextSharp LGPLv2.Core не может правильно применить CSS в теге <style> - PullRequest
0 голосов
/ 13 февраля 2019

У меня проблема с тем, что мой itextsharp, кажется, не может правильно анализировать и применять не встроенные стили к моему HTML, вместо этого он отображает PDF только с правильными встроенными стилями, но он обрабатывает все как обычную строку.

После некоторых исследований я обнаружил, что у него есть класс таблицы стилей, поэтому я решил удалить свой css внутри моего тега и попытаться добавить его на страницу следующим образом:

var css = new StyleSheet();
                css.LoadStyle("h1", "text-align", "center");
                css.LoadStyle("h1", "text-transform", "uppercase");
                css.LoadStyle("h1", "text-align", "center");

                css.LoadStyle("h2", "text-align", "center");
                css.LoadStyle("h2", "text-transform", "uppercase");
                css.LoadStyle("h2", "text-align", "center");

                css.LoadStyle("h3", "text-align", "center");
                css.LoadStyle("h3", "text-transform", "uppercase");
                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", "list-style", "none");

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

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

Iзатем попытался применить его к моему HtmlWorker следующим образом:

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

Однако после анализа я не вижу, чтобы он вообще применял стили.Как правильно это сделать?Я вижу много вещей о itextsharp, но они, похоже, предназначены для другой версии, а именно для полной .NET Framework, я ограничен тем фактом, что это должно быть сделано вместо ядра dotnet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...