转换为HTML时导入外部CSS文件

时间:2015-07-09 16:27:57

标签: java docx4j

我正在尝试使用给定的示例程序将 docx 文件转换为 HTML 文件。
样本表明:

String userCSS = "html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img, 
  ol, ul, li, table, caption, tbody, tfoot, thead, tr, th, td " +
                      "{ margin: 0; padding: 0; border: 0;}" +
                   "body {line-height: 1;} ";
htmlSettings.setUserCSS(userCSS);

即使setUserCSS是折旧方法。 这工作正常,但我有自己的css文件,我想使用 我想避免在可能的情况下将其从文件中提取为字符串。

除此之外,我想组合多个css文件,使得结果输出html的顶部包含:

<link rel="stylesheet" type="text/css" href="stylesheet1.css"/>
<link rel="stylesheet" type="text/css" href="stylesheet2.css"/>
<link rel="stylesheet" type="text/css" href="stylesheet3.css"/>

在头部。

那,或者找到我可以在HTMLSettings类上调用的setUserCSS方法的替代方法。

对于这种情况找不到多少,只是为了反过来。任何解决方案都很受欢感谢。

2 个答案:

答案 0 :(得分:0)

我不知道你用哪种语言来编写这样的程序。但是你可以通过编写一个将文件路径转换为css链接的函数来实现。

例如:

htmlSettings.loadCSS('path/stylesheet1.css');

这将转换为

<link rel="stylesheet" type="text/css" href="path/stylesheet1.css"/>

答案 1 :(得分:0)

docx4j的HTML输出的重点是根据文档中的格式创建CSS。

也就是说,如果通过XSLT创建HTML,则相关代码位于XsltHTMLFunctions.java

中的createStyleElement方法中

如果您使用的是非XSLT方法,则它位于HTMLExporterVisitorDelegate中。