【发布时间】:2015-06-21 11:59:26
【问题描述】:
我目前正在开发一个 Windows 8.1 应用程序,并且我正在使用 Web 语言,主要是 jQuery(Cordova 类型项目),因为它可能在其他平台上使用。 我需要使用 Microsoft OCR 库(不是 Tesseract 或任何其他库,我知道它们,但我现在真的需要使用这个)来分析图像并在我的应用程序中使用提取的文本。
我下载了JavaScript sample app from MSDN 并启动它:它可以正常工作(当然是在 VS 2013 中安装 OCR 插件之后)。
我现在正在尝试将 OCR 引擎集成到我的应用程序中(我也在我的项目中安装了 OCR 插件),但它根本不起作用。事实上,当我尝试在我的机器上启动我的应用程序时,执行失败并返回此错误消息:
ms-appx://io.cordova.blankcordovaapp2/www/scripts/myscript.js 中第 11 行第 5 列的无法管理的异常
0x800a1391 - JavaScript 执行错误:« WindowsPreview » 未定义"
这是代码的“错误”部分(它位于我脚本的开头):
$(document).ready(function () {
"use strict";
// Keep objects in-scope across the lifetime of the scenario.
var FileToken = "";
// Define namespace and API aliases.
var FutureAccess = Windows.Storage.AccessCache.StorageApplicationPermissions.futureAccessList;
// Should be initialising the OCR engine
var OCR = WindowsPreview.Media.Ocr;
var ocrEngine = new OCR.OcrEngine(OCR.OcrLanguage.french);
document.addEventListener("deviceready", onDeviceReady, false);
我尝试以与在 microsoft OCR 示例中相同的方式初始化 OCR 引擎。根据官方文档,VS似乎没有找到应该是的WindowsPreview.Media.Ocr:
适用于 Windows 运行时的 Microsoft OCR 库包含 WindowsPreview.Media.Ocr 命名空间。该库作为 NuGet 包分发 - 它不包含在 Windows 软件开发工具包 (SDK) 中。
我确实使用 NuGet 命令行在项目中安装了插件,所以我不知道为什么它无法识别并且无法初始化。
提前感谢您的帮助,如果我不够清楚,请随时询问更多详细信息。
【问题讨论】:
-
顺便说一句,我手动添加了对
WindowsPreview.Media.Ocr.winmd的引用(来自包)并在OcrEngine获得了The specified module could not be found. -
你好 Eonasdan!不,我还没有弄清楚,但我仍在努力,所以我希望我能找到解决方案。它也可能对其他人有所帮助,这样会很棒。但是,是的,正如你所看到的,我在 MSDN 上的帖子还没有走得太远。
-
是的,我对位于 Projects\'Myappname'\packages\Microsoft.Windows.Ocr.1.0.0\lib\win81\x64\WindowsPreview.Media.Ocr 的 winmd 文件做了同样的事情。 winmd (加上 x86 以防万一),但它仍然无法处理与您收到的错误消息略有不同的错误消息。我的似乎找不到 WindowsPreview(与我之前描述的错误相同,这很奇怪,因为我添加了参考...)。
-
只是好奇 - 你的平台是什么 - x86、x64 或 ARM?
-
我使用的是 x64。没有通过 nuget 包添加引用。甚至 MS 的示例应用程序也不起作用(至少对我来说不起作用)
标签: javascript cordova visual-studio-2013 ocr visual-studio-cordova