2010-10-25 9 views
2

Je veux analyser des sites Web pdf.lire des fichiers pdf en utilisant java

Quelqu'un peut-il dire comment extraire tous les mots (mot à mot) d'un fichier pdf en utilisant java.

Le code ci-dessous extrait le contenu d'un fichier pdf et l'écris dans un autre fichier pdf. Je veux que le programme l'écrive dans un fichier texte.

import java.io.FileOutputStream; 

import java.io.IOException; 

import com.itextpdf.text.*; 

import com.itextpdf.text.pdf.*; 

public class pdf { 

    private static String INPUTFILE = "http://www.britishcouncil.org/learning-infosheets-medicine.pdf" ; 

    private static String OUTPUTFILE = "c:/new3.pdf"; 

    public static void main(String[] args) throws DocumentException, 
      IOException { 

     Document document = new Document(); 

     PdfWriter writer = PdfWriter.getInstance(document, 
       new FileOutputStream(OUTPUTFILE)); 

     document.open(); 

     PdfReader reader = new PdfReader(INPUTFILE); 

     int n = reader.getNumberOfPages(); 

     PdfImportedPage page; 


     for (int i = 1; i <= n; i++) { 

       page = writer.getImportedPage(reader, i); 

       Image instance = Image.getInstance(page); 

       document.add(instance); 

     } 

     document.close(); 

    } 

} 

Merci à l'avance

+0

double possible de [Comment lire des fichiers PDF en utilisant java] (http://stackoverflow.com/questions/4784825/comment-lire-pdf-files-using-java) – Travis

Répondre

0

utilisant org.apache.pdfbox

import org.apache.pdfbox.*; 

public static String convertPDFToTxt(String filePath) { 
     byte[] thePDFFileBytes = readFileAsBytes(filePath); 
     PDDocument pddDoc = PDDocument.load(thePDFFileBytes); 
     PDFTextStripper reader = new PDFTextStripper(); 
     String pageText = reader.getText(pddDoc); 
     pddDoc.close(); 
     return pageText; 
} 

private static byte[] readFileAsBytes(String filePath) { 
     FileInputStream inputStream = new FileInputStream(filePath); 
     return IOUtils.toByteArray(inputStream); 
} 
+0

Puis-je lire partiellement un fichier pdf? par exemple, seulement la première page, ou jusqu'à ce qu'un certain texte se produise, plutôt que de lire l'ensemble du fichier pdf? donc je peux éviter de télécharger le fichier entier. – vasilevich