Мой вопрос очень конкретный, и я надеюсь, что кто-то сделал это преобразование из HTMLto DOCX.Преобразование 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/языки/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)
Jars в моих проектах для достижения этой цели, как foll обязанный.
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 и увидел, что не было никакого способа инициализации внутри it.I потратили около половины дня, чтобы выяснить это дело, и я не уверен, если это это правильный способ сделать преобразование, или это даже возможно.
Если кто-то это сделал, он/она отправил мне правильный xhtmlrenderer.jar файл или любую другую зависимость для достижения этой простой задачи.
Заранее спасибо
С уважением, Bhanu
возможно дубликат [Преобразование HTML в документ в Java] (http://stackoverflow.com/questions/5403356/convert-html-to-doc-in-java) –