【发布时间】:2016-05-17 22:01:57
【问题描述】:
对于我们的 Java 项目,我正在考虑将办公文件转换为 PDF,然后转换为图像。目前,我通过pptx、docx、xls、xlsx、pdf 对 Image 取得了成功。如果有人需要上述工作代码,请告诉我。
很遗憾,doc 到 PDF 和 ppt 到 PDF 无法正常工作。我尝试了多种解决方案,但似乎都没有奏效。我尝试过的最新版本是 JODConvertor,但也失败了。 JodConvertor 库无法连接到我在给定端口上运行的 libreoffice。
谁能给我一些可靠的方法来将DOC && PPT 转换为PDF 并且哪些是免费的?
代码:
private String createDocToPDfAndThenToImage(String path) {
try {
File inputFile = new File(path);
File outputFile = File.createTempFile("/home/akshay/jodtest", ".pdf");
OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
错误日志:
java.net.ConnectException: connection failed: socket,host=127.0.0.1,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
at com.journaldev.spring.service.GroupAttachmentsServiceImpl.createDocToPDfAndThenToImage(GroupAttachmentsServiceImpl.java:406)
at com.journaldev.spring.service.GroupAttachmentsServiceImpl.addAttachment(GroupAttachmentsServiceImpl.java:338)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
已使用此命令启动了一个无头实例:
/usr/bin/libreoffice --headless --accept=socket,host=localhost,port=8100;
如果没有办法解决这个问题,任何其他转换机制都可以工作。请告诉我。谢谢你。
【问题讨论】:
标签: java pdf powerpoint doc file-conversion