jodconverter

发布于 2021-11-30 17:24:13 字数 2322 浏览 834 评论 3

使用jodconverter为什么会报这个错误?
org.artofsolving.jodconverter.office.OfficeException: could not load document: 2623e5b1775c4bf696eae55cad4fa5e1.doc
 at org.artofsolving.jodconverter.AbstractConversionTask.loadDocument(AbstractConversionTask.java:93)
 at org.artofsolving.jodconverter.AbstractConversionTask.execute(AbstractConversionTask.java:53)
 at org.artofsolving.jodconverter.office.PooledOfficeManager$2.run(PooledOfficeManager.java:75)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:722)


jod使用代码如下:

public static String word2Txt(String inputFilePath, String outputFilePath)
			throws FileNotFoundException, IOException {
		
		DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();

		//获取服务器上openOffice的安装路径
		Properties properties = PropertiesUitls
				.fetchProperties("/config.properties");
		String officeHome = properties.getProperty("openInstallPath");
		
		
		config.setOfficeHome(officeHome);
		
		OfficeManager officeManager = config.buildOfficeManager();
		if (!officeManager.isRunning()) {
			officeManager.start();
		}

		try {
			OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
			File inputFile = new File(inputFilePath);
			if (inputFile.exists()) {// 找不到源文件, 则返回
				File outputFile = new File(outputFilePath);
				if (!outputFile.getParentFile().exists()) { // 假如目标路径不存在, 则新建该路径
					outputFile.getParentFile().mkdirs();
				}
				converter.convert(inputFile, outputFile);
			} else {
				throw new IllegalArgumentException("找不到需要转换的文件");
			}
		} catch (Exception e) {
			officeManager.stop();
			
			throw new IllegalArgumentException(e);
		}
		officeManager.stop();
		

		return outputFilePath;
	}

这个问题只是针对部分word文档才出现?有谁知道是什么原因?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬花如无物 2021-12-02 03:56:01

那个word文件确实像是有问题的样子,可有办法判断文件是什么文件编码?这里不能上传文件,真愁人啊。 补:文件看起来是真实的.doc文件,用office软件都能正常打开的,不会报任何问题

丢了幸福的猪 2021-12-02 00:12:30

回复
可以尝试读取文件头试下额, http://www.oschina.net/question/222361_212571

带上头具痛哭 2021-12-01 08:10:23

看看你的 word 是不是真的是word 文件额, 说不定是 Html 文件额。 貌似 openoffice 是又一些文件转化 word

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文