Converting docx to pdf via JODConverter and LibreOffice causes an error

I have 1000 .docx files that I want to convert to pdf, so I wrote a program for this, but I can never go through all 1000 files until an error occurs. I am starting a headless version of LibreOffice with 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 (before that, I just iterate over all the .docx files in the 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 before the error is reset; this is one of the errors that I 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 examples of errors 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 any situation (so far), I was able to repeat the conversion in the docx file where the error occurred, and the conversion was successful.

, , , . OpenOffice . Google, .

, , 1000 docx? docx4j, .doc, .

+4
2

PHP python script , , , ErrorCode 283 SfxBaseModel:: impl_store: 0x11b.

Apache, apache , LibreOffice, theuser, theuser apache, tmp . pdf, ( ), ( mkdir PHP). , ( ), , . 283, , , umask PHP .

: ,

+2

. , , , root:

soffice --headless --accept="socket,host=127.0.0.1,port=2002;urp;"
-1

Source: https://habr.com/ru/post/1525149/


All Articles