Converting docx to pdf via JODConverter and LibreOffice causes error
java, jodconverter, libreoffice, ms-office, pdf-conversion
Solution
I'm working with PHP and using the python script to convert and I faced a problem similar to yours, I had errorCode 283 and SfxBaseModel::impl_store failed: 0x11b.
I have an Apache server that runs with apache user and a regular user that runs LibreOffice service, let's say theuser, theuser is on apache group in order to write on tmp folders of my app. When I convert to pdf I create a folder (let's call it thefolder) to store the converted file (using mkdir function on PHP) I saw that thefolder hasn't group write permission and I test with other location from terminal (with theuser user) and it works, on thefolder I have errorCode 283, what I did is use umask function in PHP to change the permission for the creation of thefolder.
Summary: Check permissions on folder in wich you'll put the resulting file
Problem
I have 1000 .docx files that I want to convert to pdf so I have written a program to do this, but I can never get through all 1000 files before an error is thrown. I start a headless version of LibreOffice using `soffice --headless --accept="socket,host=127.0.0.1,port=2002;urp;"`. I am using LibreOffice 4.2.0.4 and JODConverter 2.2.2. This is my conversion code (prior to this I just iterate all the .docx files in a directory): ``` try { File inputFile = new File(sourceFile); if (!inputFile.exists()) { return -1; } File outputFile = new File(destFile); OpenOfficeConnection connection = new SocketOpenOfficeConnection(host_Str, Integer.parseInt(port_Str)); connection.connect(); DocumentConverter converter = new OpenOfficeDocumentConverter(connection); converter.convert(inputFile, outputFile); connection.disconnect(); return 0; } catch (ConnectException e) { System.out.println("Openoffice listener exception!"); return 1; } ``` I can always convert at least 50 files or so before an error is thrown; this is one of the errors I have had: ``` Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not save output document; OOo errorCode: 3088 at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(OpenOfficeDocumentConverter.java:142) at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:120) at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104) at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:74) at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:70) at previews.ConvertToPdfJOD.office2PDF(ConvertToPdfJOD.java:119) at previews.ConvertToPdfJOD.beginConvert(ConvertToPdfJOD.java:91) at previews.ConvertToPdfJOD.main(ConvertToPdfJOD.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) Caused by: com.sun.star.task.ErrorCodeIOException: SfxBaseModel::impl_store <file:///C:/dev/testFiles/docx/newsletter_t3w7-2012.docx.pdf> failed: 0xc10 at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182) at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313) at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101) at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136) at com.sun.proxy.$Proxy8.storeToURL(Unknown Source) at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.storeDocument(OpenOfficeDocumentConverter.java:156) at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(OpenOfficeDocumentConverter.java:140) ... 12 more ``` Other error examples include: ``` Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not save output document Caused by: com.sun.star.uno.RuntimeException: [msci_uno bridge error] UNO type of C++ exception unknown: "std.bad_alloc", RTTI-name=".?AVbad_alloc@std@@"! ``` and ``` Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not save output document; OOo errorCode: 283 Caused by: com.sun.star.task.ErrorCodeIOException: SfxBaseModel::impl_store <file:///R:/document%20preview%20DY/speedTests/doc/cm9draftfinallist.doc.pdf> failed: 0x11b ``` and ``` Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not load input document ``` and ``` Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not save output document; OOo errorCode: 3088 Caused by: com.sun.star.task.ErrorCodeIOException: SfxBaseModel::impl_store <file:///C:/dev/testFiles/docx/newsletter_t3w7-2012.docx.pdf> failed: 0xc10 ``` In every situation (so far), I have been able to retry the conversion on the docx file where the error occurred and the conversion has been successful. I have looked at similar questions on this site but most them are for situations where an error is thrown the first time a conversion is attempted, whereas in my case there are always some successful conversions before a failure. I have also tried using OpenOffice with the same results. I have tried googling error messages but to no avail. My question is why are these errors occurring, and what can I do to convert all 1000 docx files? Also I am aware of docx4j but I need to be able to convert .doc files as well which this does not support.