【发布时间】:2020-07-29 14:34:28
【问题描述】:
我正在使用 Tesseract Java API (tess4J) 将 Tiff 图像转换为 PDF。
这很好用,但为了使用TessAPI1.TessPDFRendererCreate API,我不得不将源 Tiff 图像和输出 PDF 作为实际物理文件写入本地文件存储。
请注意以下代码 sn-p 中的以下内容:-
-
输入的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 作为字节数组接收。
一如既往地欢迎任何建议。谢谢你:)
【问题讨论】:
标签: java pdf-generation bufferedimage tess4j leptonica