IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

indexer un fichier PDF


Sujet :

API standards et tierces Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut indexer un fichier PDF
    bjr
    je veux indexer des fichiers PDF en utilisant lucene et pdfbox.
    comment faire??
    merci

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Salut, voilà un exemple simple (indexation de 2 fields : un id (nom du fichier) et un valeur (tout le contenu).

    Tu peux perfectionner la chose en extrayant les titres du document mais c'est plus coton. Tu peux aussi indexer les meta-data du document. Regarde la doc de PDFBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package fr.opsys.petra.indexation;
     
    import java.io.File;
    import java.io.IOException;
     
    import org.apache.lucene.analysis.WhitespaceAnalyzer;
    import org.apache.lucene.document.Document;
    import org.apache.lucene.document.Field;
    import org.apache.lucene.index.IndexWriter;
    import org.apache.lucene.store.Directory;
    import org.apache.lucene.store.FSDirectory;
    import org.junit.Test;
    import org.pdfbox.pdmodel.PDDocument;
    import org.pdfbox.util.PDFTextStripper;
    //import org.pdfbox.searchengine.lucene.LucenePDFDocument; non compatible avec Lucene 2.4.0
     
    public class IndexationPDFTest {
    	@Test public void monTest() throws IOException {
    		//1. Extraction contenu du PDF
    		File file = new File("D:\\text_extraction.pdf");
    		PDDocument pddoc = PDDocument.load(file);
    		PDFTextStripper stripper = new PDFTextStripper();
    		String contenu = stripper.getText(pddoc);
     
    		//2. Creation de l'index
    		Directory dir = FSDirectory.getDirectory("C:\\WhitespaceAnalyser100000"); // Emplacement de l'index 
    		IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED);
     
    		//3. Creation du document Lucene
    		Document doc = new Document();
    	    doc.add(new Field("id", file.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED));
    	    doc.add(new Field("valeur", contenu, Field.Store.NO, Field.Index.ANALYZED));
     
    	    //4. Indexation
    		writer.addDocument(doc);
    		writer.close();
    	}
    lucene est en version 2.4.0
    PDFBox est en version 0.7.3

    Bien à toi
    Cuicui

Discussions similaires

  1. Moteur de recherche indexant les contenus de fichiers (pdf, odt, docx, etc)
    Par ALIM-Issy dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 29/03/2015, 18h48
  2. recherche indexée sur fichiers Word Pdf
    Par dakota77 dans le forum VB.NET
    Réponses: 5
    Dernier message: 10/07/2010, 13h42
  3. Indexation de fichiers PDF
    Par Tcheby dans le forum Windows
    Réponses: 0
    Dernier message: 17/10/2007, 11h14
  4. Indexation de fichiers .doc, .rtf, .PDF
    Par carmelaurel dans le forum Langage
    Réponses: 3
    Dernier message: 29/09/2006, 18h46
  5. [XMLRAD] Fichier PDF
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 09/01/2003, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo