2016-04-26 4 views
0

Ich versuche nur den Text aus einer PDF-Datei, indem Sie das Tutorial auf ihrer Website mit Tika zu extrahieren, aber ich bin immer nur 25k Zeilen Text zurück, die so aussieht.Tika tut Ausgabedokument Inhalt

% PDF-1.5 % μμμμ 1 0 obj < >>> endobj 2 0 obj <> endobj 3 0 obj <>/ProcSet [/ PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox [0 0 612 792]/Inhalt 4 0 R/Gruppe <>/Tabs/S/StructParents 0 >> endobj 4 0 obj <> Strom Xoe • Wßoâ8? ~ Gâ ~Çät? Û ± óCª "QÚ ®î' +? T¼öÁ, @ £ Mi? ÙëíóÙ ?? mºœ = žùfæóÌ „Oo/º¹ ™ ~ ™ ÿqGrúÙm7? UÛɧ۸, éönN · õµ°¹?Ù{ ½AL®EL?‘˜k?ͯ?3-¤6”Z+ŠãýL’HÄiXÐßq?½Ä&ªø¹Œ'6ª!^ÇJ‡•—¡hÚXÉ zæÝvà–•É„ê;ü0?;\àú??ïò1š+#àßH©?¤ÊÒÒòR&R?³r’ÜHeg¥Ü±H†#©ýÚ ·?V0†ffË”?ê??àÀ¨ÌY4Ï?dvWN pka € Ó? § ¥? þ? ± R ? b/uiyi ± Z/.Ur ß ™ yah> eD Ix ÷“Bboùã½K ™ ø = Y # c¾ ?? u8> ¡# di ¢ iE:?????? û8øš Â- ç ™ DÇ ‰ ?? ± d% ó-Ð? = E¿|§? É;% h "Bäï¯ ?? çcW®º @ S? ÝGn4 ÷? ÚÞÞr # m¸ ÷ öÅö5Î ¹ μ¸Ûè ¥ q ± 2ÑOH« Ýž0®? : rO¯Ü¸UÓ šÑíƒ + Š³`ý »¶Ž • Û-oiýÌ^väh_o7ŒÐT8 ÷ ~ 'Î

ich habe auch die gleiche Art von Sache, wenn es mit dem Versuch?!? DOCX-Format zu, aber es funktioniert mit .txt in Ordnung. Wer weiß, was ich falsch mache?

BodyContentHandler handler = new BodyContentHandler(-1); 

     Metadata metadata = new Metadata(); 
     FileInputStream inputstream = new FileInputStream(new File("fake.pdf")); 
     ParseContext pcontext=new ParseContext(); 

     //Text document parser 
     TXTParser TexTParser = new TXTParser(); 

     TexTParser.parse(inputstream, handler, metadata,pcontext); 
     System.out.println("Contents of the document:" + handler.toString()); 

Antwort

0

realisiert Nur ich war mit TXTParser statt AutoDetectParser. Kann jemand diese Frage bitte schließen oder löschen?

3

Die Probleme scheint zu sein, dass Sie eine TXTParser zu verwenden versuchen, ein PDF-Dokument zu analysieren. PDF steht für Portable Document Format, die binäre Daten in der Datei enthält.

Zum Glück Apache Tika kommt mit einem Wrapper, der automatisch das Format der Datei erkennt, die Sie analysieren möchten.

Versuchen Sie dieses Beispiel aus dem Tika Documentation:

public String parseExample() throws IOException, SAXException, TikaException { 
    AutoDetectParser parser = new AutoDetectParser(); 
    BodyContentHandler handler = new BodyContentHandler(); 
    Metadata metadata = new Metadata(); 
    try (InputStream stream = ParsingExample.class.getResourceAsStream("test.pdf")) { 
     parser.parse(stream, handler, metadata); 
     return handler.toString(); 
    } 
}