我想问一个关于iText的问题。 我正在寻找PDF文件中的文本时遇到问题。iText是否支持OCR?
我可以用getTextfromPage()
方法创建一个纯文本文件,如下面的代码示例中描述:
/** The original PDF that will be parsed. */
public static final String PREFACE = "D:/B.pdf";
/** The resulting text file. */
public static final String RESULT = "D:/Result.txt";
public void ParsePDF(String From, String Destination) throws IOException{
PdfReader reader = new PdfReader(PREFACE);
PrintWriter out = new PrintWriter(new FileOutputStream(RESULT));
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
out.println(PdfTextExtractor.getTextFromPage(reader, i));
}
out.flush();
out.close();
reader.close();
}
我试图找到在结果文本像这样的特定String
:
public void FindWords(String From) {
try{
String ligneLue;
LineNumberReader lnr=new LineNumberReader(new FileReader(RESULT));
try{
while((ligneLue=lnr.readLine())!=null){
SearchForSVHC(ligneLue,SvhcList);
}
}
finally{
lnr.close();
}
}
catch(IOException e){
System.out.println(e);}
}
public void SearchForSVHC(String Ligne,List<String> List){
for(String CAS :List){
if(Ligne.contains(CAS)){
System.out.print("Yes "+CAS);
break;
}}
}
我的问题是,我解析的一些PDF包含扫描图像,这意味着没有真正的文本,只是像素。
iText是否支持光学字符识别(OCR)并作为后续问题:是否有方法可以确定PDF是否由扫描图像组成?
谢谢@Bruno Lowagie –
不,它没有看到这个文档的最后一行http://www.itextpdf.com/itext.php – 2013-05-15 13:17:41