Для нашего проекта Java я изучаю преобразование офисных файлов в PDF, а затем в изображения. В настоящее время у меня есть успех с pptx
, docx
, xls
, xlsx
, pdf
к изображению. Если кому-то нужен рабочий код для вышеупомянутого, знаете ли.Java: конвертировать из документа в pdf и ppt в pdf с ошибкой
К сожалению, 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;
Если нет никакого способа, чтобы исправить это, любой другой механизм преобразования будет работать. Пожалуйста, дайте мне знать. Спасибо.
Да, сейчас я использую libreoffice ... намного лучше ... Я также отправлю свой код. –
С нетерпением жду этого. – fqye