我是usig tess4j(net. source ceforge.tess4j:tess4j:4.4.0)并尝试在pdf文件上OCR。因此,据我所知,我必须首先将pdf转换为tiff或png(任何建议?)
tesseract.doOCR(PdfUtilities.convertPdf2Tiff(inputPdfFile));
并收到以下警告:
Warning: Invalid resolution 0 dpi. Using 70 instead.
问题
转换Pdf
为我处理这个?
如果图像元数据中没有分辨率信息,Tesseract会尝试自行估计分辨率,以便在结果中计算字体大小信息。
您可以尝试以下API来设置输入图像分辨率:
instance. setVariable("user_defined_dpi","300");
或
TessBaseAPISetSource分辨率(TessBaseAPI句柄,int ppi);
您可以通过以下方式抑制控制台输出:
instance. setVariable("debug_file","/dev/null");
在tess4j的5.4.0版本中,instance. setVariable("user_defined_dpi","300");
而不是instance.SetTessVariable("user_defined_dpi","300");
未设置默认分辨率。
补充nguyenq的回答:
instance.setVariable("user_defined_dpi", "300");