我愿意通过以下方法使用JODConverter
和ByteArrayStream
。
public void convert(InputStream in,
DocumentFormat df,
OutputStream out,
DocumentFormat df1).
问题是我不知道如何创建一个工作的
DocumentFormat
;我想要的是.doc(Microsoft Word 2003)和XHTML的参数。我发现了类似的东西,但它不起作用(我正在使用JODConverter 2.2和OpenOffice 4.0在无头模式下运行)。
DocumentFormat doc = new DocumentFormat("Microsoft Word",
"doc",
"application/msword");
DocumentFormat html = new DocumentFormat("HTML",
"html",
"text/html");
它抛出:
java.lang.IllegalArgumentException: unsupported input format: Microsoft Word
最佳答案
我已经找到了一个解决方案,这就是如何在DocumentFormat
2.2中实现JODConverter
和.html
:
//for HTML documents.
DocumentFormat html = new DocumentFormat("HTML", DocumentFamily.TEXT, "text/html", "html");
html.setExportFilter(DocumentFamily.TEXT, "HTML (StarWriter)");
//for .doc documents.
DocumentFormat doc = new DocumentFormat("Microsoft Word", DocumentFamily.TEXT, "application/msword", "doc");
doc.setExportFilter(DocumentFamily.TEXT, "MS Word 97");