Abbyy Fine Reader Engine 12 中默认禁用条形码识别。为了启用它,我需要将 PageAnalysisParams 对象的 DetectBarcodes 属性设置为 TRUE。谁能帮助我,如何在我的 java 代码 sdk 中将此属性设置为 true?
这是我们必须设置的属性:
public native void setDetectBarcodes(boolean arg0);
我们如何从 java 代码中调用本机函数?
因为直接用对象调用它会出错。
Abbyy Fine Reader Engine 12 中默认禁用条形码识别。为了启用它,我需要将 PageAnalysisParams 对象的 DetectBarcodes 属性设置为 TRUE。谁能帮助我,如何在我的 java 代码 sdk 中将此属性设置为 true?
这是我们必须设置的属性:
public native void setDetectBarcodes(boolean arg0);
我们如何从 java 代码中调用本机函数?
因为直接用对象调用它会出错。
要获取/初始化您的实例,IPageAnalysisParams
您可以:
IPageAnalysisParams pageAnalysisParams = engine.CreatePageAnalysisParams();
您还可以从“文档处理参数”中获取实例,例如:
IDocumentProcessingParams documentparams = engine.CreateDocumentProcessingParams();
IPageAnalysisParams pageAnalysisParams = documentparams.getPageProcessingParams().getPageAnalysisParams();
来源:https ://github.com/search?q=IPageAnalysisParams&type=code
查看公共代码示例,您应该:
IDocumentProcessingParams
( dpParams
) 的实例。document.Process(dpParams);
正如@xerx593 建议的那样,以编程方式调整文档处理参数是一个完全有效的答案。
另一个有效的答案是使用配置文件,例如custom_barcode_profile.ini
,并根据您的需要进行填充。这使您可以更好地控制和阅读您的个人资料:
...
[PageAnalysisParams]
DetectBarcodes = TRUE
...
使用您的 ABBYY SDK 文档和/或 ABBYY java 包装类来微调其他参数,而不是使用document.Process(dpParams);
,实例化一个引擎对象并将您的custom_barcode_profile.ini
文件传递给它:
IEngine engine = Engine.InitializeEngine(<your sdk & license params>);
engine.LoadProfile("custom_barcode_profile.ini");
IFRDocument document = engine.CreateFRDocument();
document.AddImageFile("document.png", null, null);
document.Process(null);
document.Export("result.xml", FileExportFormatEnum.FEF_XML, null);
您不能以编程方式将多个预定义配置文件“混合”为一个,您需要将参数添加到自定义配置文件,甚至创建另一个配置文件并将其传递给您的引擎对象。
要在我们稍后定义的配置文件中启用表检测,请在文档中查找影响表检测的参数,例如DetectTables
,并将其添加到您的自定义配置文件中:
...
[PageAnalysisParams]
DetectBarcodes = TRUE
DetectTables = TRUE
...