Java 转换为HTML时导入外部CSS文件
我正在尝试使用给定的示例程序将docx文件转换为HTML文件。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;}" +
样本表明:
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
按预期行为的实例?谢谢