Itext PdfUtilities.convertPdf2Png在我的目录中创建自动图像
我已经编写了一些使用Tesseract(Tesser4j)在PDF上执行OCR的代码:Itext PdfUtilities.convertPdf2Png在我的目录中创建自动图像,itext,tesseract,pdfbox,Itext,Tesseract,Pdfbox,我已经编写了一些使用Tesseract(Tesser4j)在PDF上执行OCR的代码: 它可以识别文本,这很好,但我的问题是它需要将图像放在磁盘上的一个目录中。如何将buffereImage或File传递给methodedoOCR(),而不需要磁盘上的文件?您正在将File对象传递给doOCR。调用convertPdf2Png时,它会调用GhostScript将PDF文件转换为一个或多个PNG文件。如果需要,您当然可以在OCR后删除它们,例如,在finally块中执行f.delete()。@Br
它可以识别文本,这很好,但我的问题是它需要将图像放在磁盘上的一个目录中。如何将
buffereImage
或File
传递给methodedoOCR()
,而不需要磁盘上的文件?您正在将File
对象传递给doOCR
。调用convertPdf2Png
时,它会调用GhostScript
将PDF文件转换为一个或多个PNG文件。如果需要,您当然可以在OCR后删除它们,例如,在finally
块中执行f.delete()
。@Bruno Lowagie先生感谢您的合作(y)
public void DoOCRAnalyse(String From) throws FileNotFoundException {
Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
File[] files=PdfUtilities.convertPdf2Png(new File(From));
for (File f:files) {
try {
String result = instance.doOCR(f);
/*String result = instance.doOCR(take File or BufferedImage); */
SearchForSVHC(result,SvhcList);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}
}