Я использую PDFBox для извлечения текста из нескольких документов PDF и во время выполнения моего модульного тестового набора (через градлу). Я получаю прерывистые сбои, вызванные NullPointerException. Теперь мое базовое предположение состоит в том, что оно вызвано несколько потоков, пытающихся загрузить шрифт в кеш шрифта dictionanry одновременно.PDFBox NPE загрузочные шрифты
Я знаю, as is stated in the FAQs, что PDFBox не поточно - но впечатление у меня от этого и this discussion here, является то, что относится конкретно к нескольким потокам доступ документа в то же время, и комментарий, кажется, предположить, что fontbox кеш, как ожидается, будет потокобезопасным.
Исключение я получаю в моем единичном тесте:
WARNING: Using fallback font 'LiberationSans-Bold' for 'Arial-BoldItalicMT'
java.lang.NullPointerException:
at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFont(FontMapperImpl.java:463)
at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:417)
at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getTrueTypeFont(FontMapperImpl.java:321)
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:198)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:75)
at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:123)
at org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:60)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:815)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:472)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:446)
...
Oct 03, 2016 12:21:24 PM org.apache.pdfbox.pdmodel.font.PDTrueTypeFont <init>
WARNING: Using fallback font 'LiberationSans-Bold' for 'Arial-BoldMT'
Oct 03, 2016 12:21:24 PM org.apache.pdfbox.pdmodel.font.PDTrueTypeFont <init>
Я использую PDFBox версии 2.0.2
Любой пришел через это раньше?
Пожалуйста Retest с 2.0.3 –
Благодаря @TilmanHausherr - я испытал с новой версией , и получил ту же проблему. Я только что создал билет для улучшения, который, как я думаю, решает проблему - https://issues.apache.org/jira/browse/PDFBOX-3521 – rhinds