2016-05-03 6 views
2

Ich verwende derzeit den folgenden Code, um den Inhalt und die Metadaten von PDF-Dateien mithilfe der TIKA-Bibliothek zu extrahieren. Gibt es eine Möglichkeit, bestimmte Seiten zu lesen ODER das Parsing auf die ersten paar Seiten in TIKA zu beschränken?So lesen Sie die ersten Seiten einer PDF-Datei mit TIKA

public static void main(final String[] args) throws IOException,TikaException, SAXException { 

     BodyContentHandler handler = new BodyContentHandler(); 
     Metadata metadata = new Metadata(); 
     FileInputStream inputstream = new FileInputStream(new File("test/test.pdf")); 
     ParseContext pcontext = new ParseContext(); 

     //parsing the document using PDF parser 
     AutoDetectParser pdfparser = new AutoDetectParser(); 
     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(); 
     System.out.println(metadata.get("xmpTPg:NPages")); 

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

Antwort

1

TIKA nicht wirklich Seiten handhaben, aber es <div><p> sendet vor und </p></div> nach Seiten. Sie können die Handler startElement und endElement bearbeiten, um nach diesen Zeichen zu suchen.

Wenn Sie weitere Informationen benötigen, können Sie die topchef Antwort abrufen.
https://stackoverflow.com/a/6271696/2197529