PdfFileEditor functions in multi threaded code


using Aspose PDF for Java 24.5

we want to use PdfFileEditor​ split functions in multi threaded code.

It seems that even if you use own instances for the threads you have side effects between the objects.

Code sample:

public void splitAllMulti(String srcDoc, String destDir) throws IOException, InterruptedException, ExecutionException {
    int parallelism = 2;
    ForkJoinPool customThreadPool = new ForkJoinPool(parallelism);
    String fname = destDir + "/" + FilenameUtils.getBaseName(srcDoc);
    ArrayList<Integer> stream = new ArrayList<>();
    customThreadPool.submit(() -> 
        stream.parallelStream().forEach(i -> {
            PdfFileEditor pdfEditor2 = new com.aspose.pdf.facades.PdfFileEditor();
            String destName = fname + "_" + i + "_%NUM%.pdf";
            pdfEditor2.splitToPages(srcDoc, destName);
            pdfEditor2 = null;

If you run this code on a large PDF (eg 100 plus pages)

you get exceptions:

*Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7*

*at com.aspose.pdf.internal.l2f.l1v.lI(Unknown Source)*

*at com.aspose.pdf.internal.l2f.l1v.lj(Unknown Source)*

*at com.aspose.pdf.PageCollection.delete(Unknown Source)*

*at com.aspose.pdf.PageCollection.delete(Unknown Source)*

*at com.aspose.pdf.facades.APdfFileEditor.lI(Unknown Source)*

*at com.aspose.pdf.facades.APdfFileEditor.splitToPages(Unknown Source)*

*at com.aspose.pdf.facades.PdfFileEditor.splitToPages(Unknown Source)*

Is the class PdfFileEditor ready to be used in a multi thread scenario?
What do we need to consider?

kind regards


We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): PDFJAVA-44001

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.