Java JODConverter错误android
这是关于堆栈溢出的一个新问题。我想知道如何使用Jodconverter库在android上进行文件转换。我看到了很多例子和问题,但都是基于java的,没有回答android特定的问题,甚至在官方网站上也没有。虽然我确实看到了该所有者自己在他发布的一个android应用程序中使用了该库,因此可以使用JODconverter在android上进行转换 以下代码来自android版本的官方网站:Java JODConverter错误android,java,android,jodconverter,Java,Android,Jodconverter,这是关于堆栈溢出的一个新问题。我想知道如何使用Jodconverter库在android上进行文件转换。我看到了很多例子和问题,但都是基于java的,没有回答android特定的问题,甚至在官方网站上也没有。虽然我确实看到了该所有者自己在他发布的一个android应用程序中使用了该库,因此可以使用JODconverter在android上进行转换 以下代码来自android版本的官方网站: OfficeManager officeManager = new DefaultOfficeManage
OfficeManager officeManager = new DefaultOfficeManagerConfiguration().buildOfficeManager();
officeManager.start();
OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
try{
converter.convert(new File("/sdcard/tsxt.doc"), new File("/sdcard/tsx465t.docx"));
}catch(Exception e){
e.printStackTrace();
}
officeManager.stop();
运行时我在上获得的崩溃的Logcat输出,包括除unoil库之外的所有库(因为添加unoil会使我转换为Dalvik失败错误):
我认为这不可能,因为
JODConverter
需要有效的OpenOffice
安装。
启动时,此库尝试猜测OpenOffice
安装文件夹(大多数情况下,根据操作系统,OpenOffice
位于特定文件夹中),
但在安卓系统下,我不确定这是否可能。
我没有Android
设备,我不知道这个操作系统上是否有OpenOffice
。
如果是,您必须设置
officeHome
属性(查看org.artofsolving.jodconverter.office.defaultofficemanager配置
类,如果我是对的)来自官方网站的代码与您的不同:
final LocalOfficeManager officeManager = LocalOfficeManager.install();
try {
// Start an office process and connect to the started instance (on port 2002).
officeManager.start();
// Convert
JodConverter
.convert(inputFile)
.to(outputFile)
.execute();
} finally {
// Stop the office process
OfficeUtils.stopQuietly(officeManager);
}
您找到解决方案了吗?因为可以在stacktrace中看到
artofsolving
,所以我们可以假设我们正在讨论的JODConverter版本不是您发布的示例中使用的版本。但正如@LouMéou所说,我不确定是否可以在android上使用JODconverter,因为它需要(自由或开放式)Office安装。
final LocalOfficeManager officeManager = LocalOfficeManager.install();
try {
// Start an office process and connect to the started instance (on port 2002).
officeManager.start();
// Convert
JodConverter
.convert(inputFile)
.to(outputFile)
.execute();
} finally {
// Stop the office process
OfficeUtils.stopQuietly(officeManager);
}