无法对类型为XHTMLImporter

时间:2015-06-24 15:07:42

标签: java

目前我正在使用doxc4j version 3.2.1

方法setHyperlinkStyle()的默认参数是"超链接"。

所以基本上它在我的代码中看起来像这样:

XHTMLImporter.setHyperlinkStyle("Hyperlink");

有人可以解释我收到错误的原因:Cannot make a static reference to the non-static method setHyperlinkStyle(String) from the type XHTMLImporter

虽然使用以前的版本时工作正常。

2 个答案:

答案 0 :(得分:0)

您需要创建XHTMLImporter的实例,而不是尝试在静态上下文中使用方法。

XHTMLImporter xi = new XHTMLImporter();
xi.setHyperlinkStyle("Hyperlink");

并在您需要的地方使用xi

答案 1 :(得分:0)

这是在github中提取项目样本文件夹的示例。

        XHTMLImporter xHTMLImporter= null;
    Class<?> xhtmlImporterClass = null;
    try {
        xhtmlImporterClass = Class.forName("org.docx4j.convert.in.xhtml.XHTMLImporterImpl");
        Constructor<?> ctor = xhtmlImporterClass.getConstructor(WordprocessingMLPackage.class);
        xHTMLImporter = (XHTMLImporter) ctor.newInstance(pkg);
    } catch (Exception e) {
        log.error("docx4j-XHTMLImport jar not found. Please add this to your classpath.");
        log.error(e.getMessage(), e);
        return xhtmlError(sdtParent, docContainer, docfrag, "Missing XHTML Handler!");
    }   

这个链接找到了XHTMLImporter的用法,你可以找到更多的例子。 https://github.com/plutext/docx4j/search?utf8=%E2%9C%93&q=xhtmlimporter

如果您不能使用XHTMLImportImporterImpl,请尝试添加此依赖项

<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-ImportXHTML</artifactId>
    <version>3.2.1</version>
</dependency>