Java-Extraction de texte à partir d'un PDF à l'aide de l'OCR


J'ai un fichier pdf (une partie de celui-ci donnée ci-dessous), et je veux en extraire du texte. J'ai utilisé PDFTextStream, mais cela ne fonctionne pas avec ce fichier. (Cependant, cela a fonctionné avec un autre fichier, qui a du texte simple).

Quelles autres bibliothèques OCR sont capables de le faire?

Veuillez aider. Merci.

Aperçu du fichier pdf

glipmses de fichier pdf

Author: Dax Amin, 2016-04-16

1 answers

J'ai essayé avec PDFBox et cela a produit des résultats satisfaisants.

Voici le code pour extraire du texte de PDF en utilisant PDFBox:

import java.io.*;

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.pdfbox.util.*;

public class PDFTest {

 public static void main(String[] args){
 PDDocument pd;
 BufferedWriter wr;
 try {
         File input = new File("C:/BillOCR/data/bill.pdf");  // The PDF file from where you would like to extract
         File output = new File("D:/SampleText.txt"); // The text file where you are going to store the extracted data
         pd = PDDocument.load(input);
         System.out.println(pd.getNumberOfPages());
         System.out.println(pd.isEncrypted());
         pd.save("CopyOfBill.pdf"); // Creates a copy called "CopyOfInvoice.pdf"
         PDFTextStripper stripper = new PDFTextStripper();
         stripper.setStartPage(1); //Start extracting from page 3
         stripper.setEndPage(1); //Extract till page 5
         wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output)));
         stripper.writeText(pd, wr);
         if (pd != null) {
             pd.close();
         }
        // I use close() to flush the stream.
        wr.close();
 } catch (Exception e){
         e.printStackTrace();
        }
     }
}
 3
Author: Dax Amin, 2016-04-16 11:16:28