是否可以使用tesssAPI1.TesPDFRendererCreate API of tess4J而无需创建物理文件



我正在使用Tesseract Java API(tess4J(将Tiff图像转换为PDF。

这样做很好,但为了使用TessAPI1.TessPDFRendererCreateAPI,我不得不将源Tiff图像和输出PDF都作为实际的物理文件写入本地文件存储。

请注意以下代码片段中的以下内容:-

  1. 输入Tiff最初是一个java.awt.image.BufferedImage,但我必须将其写入一个物理文件(sourceTiffFile是一个file对象(。

  2. 我必须为输出指定一个文件路径(pdfFullFilepath是一个字符串,表示新PDF文件的绝对路径(。

    try {
    ImageIO.write(bufferedImage, "tiff", sourceTiffFile);
    } catch (Exception ioe) {
    //handling code...
    }
    TessResultRenderer renderer = TessAPI1.TessPDFRendererCreate(pdfFullFilepath, dataPath, 0);
    TessAPI1.TessResultRendererInsert(renderer, TessAPI1.TessPDFRendererCreate(pdfFullFilepath, dataPath, 0));
    int result = TessAPI1.TessBaseAPIProcessPages(handle, sourceTiffFile.getAbsolutePath(), null, 0, renderer);
    

我真的很想避免创建物理文件,但不确定使用这个API是否可能。理想情况下,我希望将Tiff作为java.awt.image.BufferedImage或字节数组传递,并将输出PDF作为字节数组接收。

任何建议都将一如既往地受到欢迎。谢谢:(

您可以在ProcessPageAPI方法中传递一个Pix,它可以从BufferedImage转换而来,但输出仍然是一个物理文件。API命令。

https://tesseract-ocr.github.io/tessapi/4.0.0/a01625.html

http://tess4j.sourceforge.net/docs/docs-4.4/net/sourceforge/tess4j/TessAPI1.html

例如:

int result = TessAPI1.TessBaseAPIProcessPage(handle, LeptUtils.convertImageToPix(bufferedImage), page_index, "input file name", null, 0, renderer);

相关内容

  • 没有找到相关文章

最新更新