Сейда не может разбивать большие PDF-файлы - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь разделить PDF на 2000 страниц (размер составляет 8 482 816 байт), и я получаю сообщение об ошибке ниже.Есть ли ограничение на количество страниц, которые может обрабатывать Сейда?Очевидно, что я получаю ту же ошибку при использовании pdfsam, как и при использовании sejda в бэкэнде.

C:\Users\tomas.greif>C:\Users\xxx\Desktop\split\sejda-console-3.2.67\bin\sejda-console splitbyevery -f "C:\Users\tomas.greif\Desktop\split\01-04-18 2.pdf" -o C:\Users\tomas.greif\Desktop\split\out -n 1 -p [CURRENTPAGE#####]
Configuring Sejda 3.2.67
Document root element "sejda", must match DOCTYPE root "null".
Document is invalid: no grammar found.
Starting execution with arguments: 'splitbyevery -f C:\Users\xxx\Desktop\split\01-04-18 2.pdf -o C:\Users\xxx\Desktop\split\out -n 1 -p [CURRENTPAGE#####]'
Java version: '1.8.0_191'
Validating parameters.
Starting task (org.sejda.impl.sambox.SplitByPageNumbersTask@62379589) execution.
Opening C:\Users\xxx\Desktop\split\01-04-18 2.pdf
Found 0 inherited images and 0 inherited fonts potentially unused
Starting split by page numbers for org.sejda.model.parameter.SplitByEveryXPagesParameters@50a638b5[step=1,optimizationPolicy=AUTO,discardOutline=false,outputPrefix=[CURRENTPAGE#####],output=org.sejda.model.output.FileOrDirectoryTaskOutput@1189dd52[C:\Users\tomas.greif\Desktop\split\out],sourceList=[C:\Users\tomas.greif\Desktop\split\01-04-18 2.pdf],compress=true,version=VERSION_1_6,existingOutputPolicy=FAIL,lenient=false,1]
Starting split at page 1 of the original document
Created output temporary buffer C:\Users\xxx\Desktop\split\out\.sejdaTmp8635042219708410613.tmp
Task progress: 0% done
Filtering annotations
Skipped acroform merge, nothing to merge
Ending split at page 1 of the original document, generated document size is 11.68 KB
Starting split at page 2 of the original document
Created output temporary buffer C:\Users\xxx\Desktop\split\out\.sejdaTmp4677890173653656260.tmp
Exception in thread "main" java.lang.StackOverflowError
        at java.util.Spliterator.getExactSizeIfKnown(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at org.sejda.sambox.pdmodel.PDPageTree.getKids(PDPageTree.java:172)
        at org.sejda.sambox.pdmodel.PDPageTree.get(PDPageTree.java:318)
        at org.sejda.sambox.pdmodel.PDPageTree.get(PDPageTree.java:327)
        at org.sejda.sambox.pdmodel.PDPageTree.get(PDPageTree.java:327)
        at org.sejda.sambox.pdmodel.PDPageTree.get(PDPageTree.java:327)
        at org.sejda.sambox.pdmodel.PDPageTree.get(PDPageTree.java:327)

У меня есть другие PDF-файлы из того же источника с меньшим количеством разделений страниц.Я попытался разделить после 500 страниц или 1000 страниц, но получил ту же ошибку.Я предполагаю, что это связано с количеством страниц, поскольку файл также невелик.

Обновление: я смог использовать PDFTKBuilder, который, очевидно, использует различные базовые библиотеки, и PDF-разделение работало просто отлично.Скорее всего, это будет ошибка или ограничение Сейда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...