gpt4 book ai didi

java - 将 HTML 转换为 DOCX

转载 作者:行者123 更新时间:2023-11-30 06:17:02 24 4
gpt4 key购买 nike

我的问题非常具体,我希望有人完成了从 HTML 到 DOCX 的转换。

为此,我从 github 中获取了示例代码,并在我的本地 Eclipse 安装程序中进行了尝试。

import java.io.File;
import java.io.FileNotFoundException;

import javax.xml.bind.JAXBException;

import org.docx4j.convert.in.xhtml.XHTMLImporterImpl;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.exceptions.InvalidFormatException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart;

public class HtmlToDocConvert {

/**
* @param args
* @throws FileNotFoundException
* @throws JAXBException
* @throws Docx4JException
*/
public static void main(String[] args) throws FileNotFoundException,
JAXBException, Docx4JException {
// TODO Auto-generated method stub

// File file = new File("C:\\TestWordToHtml\\html\\Test.html");

String inputfilepath = "C:\\TestWordToHtml\\html\\Test.html";

try {

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage
.createPackage();

NumberingDefinitionsPart ndp = new NumberingDefinitionsPart();
wordMLPackage.getMainDocumentPart().addTargetPart(ndp);
ndp.unmarshalDefaultNumbering();

XHTMLImporterImpl xHTMLImporter = new XHTMLImporterImpl(
wordMLPackage);
xHTMLImporter.setHyperlinkStyle("Hyperlink");
wordMLPackage.getMainDocumentPart().getContent().addAll(
xHTMLImporter.convert(new File(inputfilepath), null));

File output = new java.io.File(System.getProperty("user.dir")
+ "/html_output.docx");
wordMLPackage.save(output);
System.out.println("done");

System.out.println("file path where it is stored is" + " "
+ output.getAbsolutePath());

}

catch (InvalidFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

上面的代码给我一个错误如下

线程“主”java.lang.NoSuchMethodError 中的异常:org.docx4j.org.xhtmlrenderer.docx.DocxRenderer.(Ljava/lang/String;)V 在 org.docx4j.convert.in.xhtml.XHTMLImporterImpl.getRenderer(XHTMLImporterImpl.java:252) 在 org.docx4j.convert.in.xhtml.XHTMLImporterImpl.convert(XHTMLImporterImpl.java:466) 在 HtmlToDocConvert.main(HtmlToDocConvert.java:41)

我的项目中实现此目的的 Jar 如下。

docx4j-3.2.1.jar
docx4j-ImportXHTML-3.2.1.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar
xhtmlrenderer-1.0.0.jar
log4j.jar

我已经剥离了 xhtmlrendere.jar 文件来查看 DOCRendered 类,发现里面没有 init 方法。我花了将近半天的时间来弄清楚这个东西,我不确定这是否是正确的方法进行转换,或者这甚至是可能的。

如果有人这样做了,他/她可以向我发送正确的 xhtmlrenderer.jar 文件或任何其他依赖项来完成这个简单的任务。

提前致谢

问候,巴努

最佳答案

这不是完整的例子,是吗?看看ConvertInXHTMLFile.java来自 docx4j示例。

恕我直言,您缺少程序的基本部分。此外,这个话题已经讨论过了:

Convert html to doc in java

How to convert HTML to a Microsoft Word document ?

Convert HTML to Microsoft Word Document in Java

how to convert HTML to .docx using docx4j?

关于java - 将 HTML 转换为 DOCX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com