2016-10-03 3 views
0

Я использую 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

Любой пришел через это раньше?

+0

Пожалуйста Retest с 2.0.3 –

+1

Благодаря @TilmanHausherr - я испытал с новой версией , и получил ту же проблему. Я только что создал билет для улучшения, который, как я думаю, решает проблему - https://issues.apache.org/jira/browse/PDFBOX-3521 – rhinds

ответ

Смежные вопросы