不开源项目aspose.ocr最新版23.10.0的一些科普
Asposeadmin 发布于:2024-09-27 17:31:25
阅读:loading
前面在摸索了Aspose的Cells、Words、Pdf等多款组件,分别是常见的Word/Excel/Pdf办公软件,闲下心来又继续了解了一下Aspose For Java语言的其他软件,经过一些持续的分析和摸索实践越来越多的将它们给科学化,即所有的软件(组件)均不修改任何jar包依赖,纯粹使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。
特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)。
本次实践的是Aspose.ocr的23.10.0版本,它是一个功能强大的用于处理 图像识别 的开发工具包,如果有需要使用Java来操作 识别图像 文件的需求可以了解一下它。本次示例提供了将 PNG图片 文件格式图像文本识别,并另存为其他格式文件的简单示例,更多/更专业的API使用有疑问请自行转至官网查看或学习,示例参考如下几点:
(1)提供了识别PNG图片的示例,从图片中提取文本,并将其转换为:DOCX、PDF、JSON、XLSX等格式的文件;
(2)提供了使用反射调用特定的class代码逻辑,无需修改原始的jar;
(3)科学使用的版本有23.10.0,不科学的使用只会输出一小部分的文本,且会增加水印文本;
(4)需要注意这个示例需要JDK 64位的,因为使用到了`onnxruntime`库,内置了各种操作系统的动态链接库,如dll、so等,对于Windows系统的只有64位dll,所以需要JDK 64位;
public class AsposeOcrReflectTest extends cn.chendd.cells.base.BaseTest {
@Test
public void test1() throws Exception {
/*注册 23.10*/
RegisterOcr.registerOcr23100();
AsposeOCR ocr = new AsposeOCR();
OcrInput input = new OcrInput(InputType.SingleImage);
input.add(getClass().getResource("/Chi.png").getPath());
RecognitionSettings settings = new RecognitionSettings();
settings.setLanguage(Language.Eng);
settings.setLanguage(Language.Chi);
PreprocessingFilter filter = new PreprocessingFilter();
filter.add(PreprocessingFilter.AutoSkew());
settings.setPreprocessingFilters(filter);
settings.setLinesFiltration(true);
final ArrayList<RecognitionResult> list = ocr.Recognize(input, settings);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Chi.pdf") , Format.PdfNoImg , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Chi.docx") , Format.Docx , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Chi.xlsx") , Format.Xlsx , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Chi.json") , Format.Json , list);
for (RecognitionResult result : list) {
System.out.println(result.recognitionText + "---" + result.GetJson());
}
}
@Test
public void test2() throws Exception {
/*注册 23.10*/
RegisterOcr.registerOcr23100();
AsposeOCR ocr = new AsposeOCR();
OcrInput input = new OcrInput(InputType.SingleImage);
input.add(getClass().getResource("/Http.png").getPath());
RecognitionSettings settings = new RecognitionSettings();
settings.setLanguage(Language.Eng);
settings.setLanguage(Language.Chi);
PreprocessingFilter filter = new PreprocessingFilter();
filter.add(PreprocessingFilter.AutoSkew());
settings.setPreprocessingFilters(filter);
settings.setLinesFiltration(true);
final ArrayList<RecognitionResult> list = ocr.Recognize(input, settings);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Http.pdf") , Format.PdfNoImg , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Http.docx") , Format.Docx , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Http.xlsx") , Format.Xlsx , list);
AsposeOCR.SaveMultipageDocument(super.getRootFile("aspose.ocr/Http.json") , Format.Json , list);
for (RecognitionResult result : list) {
System.out.println(result.recognitionText + "---" + result.GetJson());
}
}
}
(源文件Chi.png)
(识别的结果)
(源文件Http.png)
(识别的结果)
(1)`aspose.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;
(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;
(3)示例与相关文件下载:《源码下载与示例.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;
点赞
发表评论
评论列表
留言区
- 不开源项目aspose.cells最新版23.10的一些科普
- 不开源项目aspose.words最新版23.10的一些科普
- 不开源项目aspose.pdf最新版23.10的一些科普
- 不开源项目aspose.slides最新版23.10的一些科普
- 不开源项目aspose.diagram最新版23.10的一些科普
- 不开源项目aspose.tasks最新版23.10的一些科普
- 不开源项目aspose.imaging最新版23.10的一些科普
- 不开源项目aspose.html最新版23.10的一些科普
- 不开源项目aspose.zip最新版24.8的一些科普
- 不开源项目aspose.email最新版23.10的一些科普
- 不开源项目aspose.note最新版23.11的一些科普
- 不开源项目aspose.cad最新版23.10的一些科普
- 不开源项目aspose.3d最新版23.10.0的一些科普
- 不开源项目aspose.psd最新版23.10的一些科普
- 不开源项目aspose.barcode最新版23.10的一些科普
- 不开源项目aspose.page最新版23.10的一些科普
- 不开源项目aspose.omr最新版23.11的一些科普
- 不开源项目aspose.pub最新版22.8的一些科普
- 不开源项目aspose.font最新版23.10的一些科普
- 不开源项目aspose.tex最新版23.11的一些科普