iTextについて質問したいのですが。PDF ファイル内のテキストの検索で問題が発生しています。
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 がスキャンされた画像で構成されているかどうかを判断する方法はありますか?