tess4J的TessAPI1.TessPDFRendererCreate API可以不用创建物理文件就可以使用吗?
It is possible to use the TessAPI1.TessPDFRendererCreate API of tess4J without needing to create physical files?
我正在使用 Tesseract Java API (tess4J) 将 Tiff 图像转换为 PDF。
这很好用,但我不得不将源 Tiff 图像和输出 PDF 作为实际物理文件写入本地文件存储,以便使用 TessAPI1.TessPDFRendererCreate
API.
请注意以下代码段中的以下内容:-
输入的Tiff原本是一个java.awt.image.BufferedImage
,但我必须将它写入物理文件(sourceTiffFile是一个File对象)。
我必须为输出指定一个文件路径(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 作为字节数组接收。
一如既往地欢迎任何建议。谢谢:)
你可以传入ProcessPage
API方法一个Pix
,它可以从一个BufferedImage
转换过来,但输出仍然是一个物理文件。 Tesseract 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);
我正在使用 Tesseract Java API (tess4J) 将 Tiff 图像转换为 PDF。
这很好用,但我不得不将源 Tiff 图像和输出 PDF 作为实际物理文件写入本地文件存储,以便使用 TessAPI1.TessPDFRendererCreate
API.
请注意以下代码段中的以下内容:-
输入的Tiff原本是一个
java.awt.image.BufferedImage
,但我必须将它写入物理文件(sourceTiffFile是一个File对象)。我必须为输出指定一个文件路径(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 作为字节数组接收。
一如既往地欢迎任何建议。谢谢:)
你可以传入ProcessPage
API方法一个Pix
,它可以从一个BufferedImage
转换过来,但输出仍然是一个物理文件。 Tesseract 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);