Tess4j-Pdf到Tiff到tesseract-“警告:无效的分辨率0 dpi。改为使用70。”

时间:2019-10-08 12:28:06

标签: java ocr tesseract tess4j

我是usig tess4j(net.sourceforge.tess4j:tess4j:4.4.0),并尝试对pdf文件进行OCR。 因此,据我了解,我必须先将pdf转换为tiff或png(建议使用其中的任何一个?),我这样做是什么:

tesseract.doOCR(PdfUtilities.convertPdf2Tiff(inputPdfFile)); 

并收到以下警告:

Warning: Invalid resolution 0 dpi. Using 70 instead.

问题

  • 它对我的扫描结果有影响吗? (如果没有,可以-我可以switch off警告)
  • 有没有办法手动设置DPI,或者convertPdf应该为我处理吗?

2 个答案:

答案 0 :(得分:1)

如果图像元数据中没有分辨率信息,则Tesseract会尝试自己估计分辨率,以便可以在结果中计算字体大小信息。

您可以尝试使用以下API来设置输入图像的分辨率:

instance.SetTessVariable("user_defined_dpi", "300");

TessBaseAPISetSourceResolution(TessBaseAPI handle, int ppi);

您可以通过以下方式禁止控制台输出:

instance.setTessVariable("debug_file", "/dev/null");

答案 1 :(得分:0)

未设置默认分辨率。

补充nguyenq的回答:

  componentDidMount() {
    const { navigation } = this.props;
    this._unsubscribe = navigation.addListener('focus', () => {
     //call your function that update component 
    });
  }

  componentWillUnmount() {
    this._unsubscribe();
  }