Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 转换为HTML时导入外部CSS文件_Java_Docx4j - Fatal编程技术网

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

Java 转换为HTML时导入外部CSS文件,java,docx4j,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;}" +

我正在尝试使用给定的示例程序将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
方法的替代方法


在这个案子里找不到太多,只有另一种情况。任何解决方案都值得赞赏。谢谢。

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

例如:

htmlSettings.loadCSS('path/stylesheet1.css');
这将转换为

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

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

例如:

htmlSettings.loadCSS('path/stylesheet1.css');
这将转换为

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

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

也就是说,如果HTML是通过XSLT创建的,则相关代码位于中的createStyleElement方法中


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

docx4j HTML输出的重点是基于文档中的格式创建CSS

也就是说,如果HTML是通过XSLT创建的,则相关代码位于中的createStyleElement方法中


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

我使用的是docx4j库,如下所示:。他们没有loadCSS方法,我也没有能力覆盖它。理论上,我可以编写一个函数来读取css文件的内容并将其转换为字符串,但如上所述,我希望避免这种情况。我使用的是docx4j库,如下所示:。他们没有loadCSS方法,我也没有能力覆盖它。理论上,我可以编写一个函数,读取css文件的内容并将其转换为字符串,但是如上所述,我希望避免这种情况;我想我可能是误解了或者用错了词,但我没有使用ImportXHTML——我有一个doc文件,我想生成HTML;我想为HTML输出提供一个样式表。如果您的回答是这样的,那么我很抱歉不理解如何实现,但我认为我正在尝试做一些不同的事情。谢谢,这很有帮助,但我仍然不能完全确定HTMLExporterVisitorDelegate如何处理外部css文件。我正在使用标志_EXPORT_preference_XSL作为我正在调用的toHTML方法的第三个参数,理想情况下,我希望将这些文件作为某个参数传递给作为第一个参数传入的HTMLSettings对象上的方法。这看起来可能吗?另一种表达清晰的方式是;有没有一种方法可以代替
HTMLSettings.setUserCSS()
,让我只传入一个允许
Docx4J.toHTML
按预期行为的实例?谢谢,谢谢你的回答;我想我可能是误解了或者用错了词,但我没有使用ImportXHTML——我有一个doc文件,我想生成HTML;我想为HTML输出提供一个样式表。如果您的回答是这样的,那么我很抱歉不理解如何实现,但我认为我正在尝试做一些不同的事情。谢谢,这很有帮助,但我仍然不能完全确定HTMLExporterVisitorDelegate如何处理外部css文件。我正在使用标志_EXPORT_preference_XSL作为我正在调用的toHTML方法的第三个参数,理想情况下,我希望将这些文件作为某个参数传递给作为第一个参数传入的HTMLSettings对象上的方法。这看起来可能吗?另一种表达清晰的方式是;有没有一种方法可以代替
HTMLSettings.setUserCSS()
,让我只传入一个允许
Docx4J.toHTML
按预期行为的实例?谢谢