问题描述
我正在尝试在Android App中使用Documents4j java library将Docx格式的文档转换为PDF文件,但输出的pdf文件已损坏或损坏。 输出的pdf文件为0字节,为空。 我正在使用以下代码将Docx转换为pdf。
String uniqueString = UUID.randomUUID().toString();
File outputFile = new File(Environment.getExternalStorageDirectory() + "/meer_" + uniqueString+".pdf");
File inputWord = new File(input);
try {
InputStream docxInputStream = new FileInputStream(inputWord);
OutputStream outputStream = new FileOutputStream(outputFile);
IConverter converter = LocalConverter.builder().build();
converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
outputStream.close();
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}
if(outputFile.exists()){
openPdf(outputFile);
}
解决方法
documents4j 通过委派从Java应用程序到MS Word实例的转换来起作用。该实例可以在您可以通过HTTP(S)到达的服务器上运行,但是本地转换器当然不能在无法运行MS Word的Android上运行。