2013-05-15 3 views
1

Я получаю сообщение об ошибке при использовании textextractor библиотеки pdfclown. Код я использовал этоизвлечение текста с использованием функции pdfclown 'textextractor'

TextExtractor textExtractor = new TextExtractor(true, true); 
for(final Page page : file.getDocument().getPages()) 
{ 
    System.out.println("\nScanning page " + (page.getIndex()+1) + "...\n"); 

    // Extract the page text! 
    Map textStrings = textExtractor.extract(page); 

часть ошибки я получил это

exception in thread 'main' java.lang.exceptionininitializer error 
at org.pdfclown.document.contents.fonts.encoding.put 
at ...... 
at ...... 
<about 30 such lines> 
caused by java.lang.nullpointerexception 
at java.io.reader.<init><Reader.java:78> 
at java.io.inputstreamreader 
<about 30 lines more> 

Я также узнал, что это происходит, когда мой PDF содержит несколько пуль, например

  • пункт 1
  • позиция 2
  • позиция 3

Plz помогите мне извлечь текст из таких pdf-файлов.

+0

Просьба представить PDF-документ, о котором идет речь. – mkl

+0

@mkl Я столкнулся с одной и той же проблемой во многих других PDF-файлах. Один такой pdf-файл [этот] (https://docs.google.com/file/d/0B9xa_HtrD7kcUjM4cjAyX2JGVkk/edit?usp=sharing) – utkarsh

+0

Я только что проверил ваш PDF-файл с исходным фрагментом (очевидно, с закрытым '}' добавленным), и PDF был извлечен в порядке, по крайней мере, исключение не было выбрано, и весь текст (кроме заголовка) был извлечен в порядке. Я использовал текущую версию trunk PDF Clown в среде java 6. Таким образом, вы можете проверить версию, которую используете, и, если это не помогло, предоставить более полный исходный код и трассировку стека. – mkl

ответ

0

(Следующий комментарий оказался решение :)

Использования highlighter.java класса (при условии, on your google drive в комментарии) вместе с текущей PDF Clown версии ствола в банке, то PDF был обработан без инцидентов, особенно но без NullPointerException (хотя основные моменты были частично не в правильном положении).

Однако, посмотрев на ваше общее содержимое диска Google, я предположил, что вы не использовали кубок PDF Clown, а просто скомпилировали классы из папки источника распространения и использовали их.

Файлы файла PDF Clown содержат дополнительные ресурсы,, хотя ваша установка не включалась. Таким образом:

Ваш highlighter.java должен использоваться с pdfclown.jar в пути к классам.

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