Apache Tika не может извлечь полнотекстовое содержимое из большого PDF-файла

Я пытаюсь извлечь текст из большого файла PDF (не отсканированного / растеризованного PDF), используя apache tika.

Но после извлечения текста, когда я сравниваю оригинал (из pdf) и извлеченный текст, я обнаружил, что много текстового содержимого отсутствует. Я пытался использовать setMaxStringLength(-1) и BodyContentHandler(-1), чтобы максимизировать результат. Но до сих пор не удалось извлечь полный текстовый контент из файла PDF.

Ниже приведены два образца, которые я пробовал.

Образец: 1

public class Extract 
{
    public static void main( String[] args ) throws IOException, SAXException, TikaException
    {
        File file = new File("1.pdf");

        //Instantiating Tika facade class
        Tika tika = new Tika();
        tika.setMaxStringLength(-1);
        String filecontent = tika.parseToString(file);
        System.out.println("Extracted Content: " + filecontent);
    }
}

Образец: 2

public class Extract 
{
    public static void main( String[] args ) throws IOException, SAXException, TikaException
    {
        BodyContentHandler handler = new BodyContentHandler(-1); //-1 to allow parsing for unlimited character
        Metadata metadata = new Metadata();
        FileInputStream inputstream = new FileInputStream(new File("1.pdf"));
        ParseContext pcontext = new ParseContext();

        //parsing the document using PDF parser
        PDFParser pdfparser = new PDFParser(); 
        pdfparser.parse(inputstream, handler, metadata,pcontext);

        //getting the content of the document
        System.out.println("Contents of the PDF :" + handler.toString());

        //getting metadata of the document
        System.out.println("Metadata of the PDF:");
        String[] metadataNames = metadata.names();

        for(String name : metadataNames) {
            System.out.println(name+ " : " + metadata.get(name));
        }
    }
}

Я могу видеть содержимое последней страницы pdf. Но случайно много текстов отсутствует в pdf.


person rockyPeoplesChamp    schedule 14.11.2016    source источник
comment
Если это происходит только для одного или нескольких pdf-файлов, поделитесь этим pdf-файлом для анализа.   -  person mkl    schedule 14.11.2016
comment
Пробовали ли вы следовать инструкциям по Устранение неполадок Apache Tika — Проблемы с текстом PDF?   -  person Gagravarr    schedule 14.11.2016


Ответы (1)


Это была глупейшая ошибка с моей стороны. Я брал выходной файл из консоли eclipse с ограниченным буферным пространством. Когда я записал вывод в файл, он кажется идеальным.

person rockyPeoplesChamp    schedule 03.07.2017