Flying-saucer 忽略大写的 css 标识符

发布于 2024-10-27 19:16:23 字数 308 浏览 1 评论 0原文

我最近开始使用 Flying-saucer 库从 html 网页生成 pdf。一切正常,只是 CSS 规则(与下面的规则类似)被忽略了。

TD.standardActiv
{
    FONT-SIZE: 10pt;
    COLOR: #1a467a;
    FONT-FAMILY: Arial;
    BACKGROUND-COLOR: #6f9bce;
}

如果我将“TD”更改为“td”,则一切正常。有谁知道如何解决这个问题?我考虑过替换所有大写标识符,但这是一个丑陋的解决方案,因为需要更新的 css 文件数量很大。

I recently start using flying-saucer library to generate a pdf from html web page. Everything works fine, except that the CSS rules, that look similar with the one below, are ignored.

TD.standardActiv
{
    FONT-SIZE: 10pt;
    COLOR: #1a467a;
    FONT-FAMILY: Arial;
    BACKGROUND-COLOR: #6f9bce;
}

If I change the 'TD' to 'td', everything is working properly. Does anyone know how to solve this? I thought about replacing all upper case identifiers, but it's an ugly solution, because of the amount of css files that should be updated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

高冷爸爸 2024-11-03 19:16:23

您有三个选择:

  1. 自己下载所有 CSS,并通过一些大小写转换器代码运行它们
  2. 开源的 Powah:将底层代码更改为不区分大小写。
  3. 更新到较新版本的 FS/iText。这可能已经被修复。

第三点是微不足道的,但可能行不通。第 1 种可能不太实用,我对飞碟不太熟悉。

我是#2 的忠实粉丝。您可能需要修改 iText 的 com.itextpdf/lowagie.text.html.simpleparsers.StyleSheet 类的源代码。主干已经将标签更改为小写,所以我猜#3 可能就是您所需要的。

You have three options:

  1. Download all the CSS's yourself and run them through some case converter code
  2. The Powah of Open Source: Change the underlying code to be case insensitive.
  3. Update to a newer version of FS/iText. This may have already been fixed.

Number 3 is trivial, but may not work. Number 1 may not be practical, I'm not that familiar with Flying Saucer.

I'm a big fan of #2. You'll probably have to modify the source to iText's com.itextpdf/lowagie.text.html.simpleparsers.StyleSheet class. The trunk already changes the tags to lower case, so I'm guessing #3 just might be all you need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文