gpt4 book ai didi

javascript - 使用 Angular 5 自动显示 DWT Java 脚本库进度对话框

转载 作者:行者123 更新时间:2023-11-29 17:46:47 24 4
gpt4 key购买 nike

我正在将 Dynamic Web Twain javascript 库合并到我的 Angular 应用程序中,以允许我的最终用户使用 Web 浏览器而不是桌面应用程序进行扫描。

加载页面后,进度条会立即弹出。这不是预期的行为,当我使用 Angular 4 时也不会发生。我在工作中使用 Angular 5。我使用哪种浏览器(IE、Chrome、Firefox)也没有区别。

我的 Angular 版本是:

> Angular CLI: 1.6.6 Node: 9.4.0 OS: win32 x64 Angular: 5.2.3 ...
> animations, common, compiler, compiler-cli, core, forms ... http,
> language-service, platform-browser ... platform-browser-dynamic,
> router
>
> @angular/cli: 1.6.6 @angular-devkit/build-optimizer: 0.0.42
> @angular-devkit/core: 0.0.29 @angular-devkit/schematics: 0.0.52
> @ngtools/json-schema: 1.1.0 @ngtools/webpack: 1.9.6
> @schematics/angular: 0.1.17 typescript: 2.5.3 webpack: 3.10.0

我已经使用这些命令将 javascript 库包含到我新创建的 Angular 项目中:

npm install dwt --save
npm install @type/dwt --save

另请注意,我的 webtwain.min.js 已添加到我的 angular-cli.json 中的脚本中:

"scripts": [
"../node_modules/dwt/dist/dynamsoft.webtwain.min.js"

这是我的项目布局:

enter image description here

最后,这是我的 component.ts 文件及其相关的 html(无论我如何填充 html,结果都是一样的):

    /// <reference types="dwt" />

import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-scan',
template: '<button (click)="acquireImage()">Scan Document</button><div id="dwtcontrolContainer"></div>',
styleUrls: ['./scan.component.css']
})
export class ScanComponent implements OnInit {

constructor() { }

ngOnInit() {

}


acquireImage(): void {
const dwObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
dwObject.IfShowIndicator = false;
const bSelected = dwObject.SelectSource();
if (bSelected) {
const onAcquireImageSuccess = () => { dwObject.CloseSource(); };
const onAcquireImageFailure = onAcquireImageSuccess;
dwObject.OpenSource();
dwObject.AcquireImage({}, onAcquireImageSuccess, onAcquireImageFailure);
}
}

}

最后是结果: enter image description here

显示值为 0% 的“进度条”会立即弹出。在 Angular 4 中,这不会发生。关于造成这种情况的原因有什么想法吗?我正在尝试阅读 4 和 5 之间的变化,特别是异步和同步加载,但我对这个框架还是陌生的。

谢谢,乔希

最佳答案

我是 Dynamsoft 的 Tom。

您在此处发布的是 SDK Dynamic Web TWAIN v13.3 中的一个已知问题。

这里是修复

  1. 更新 CSS (dynamsoft_dwt_html5.css) 以添加以下内容

    dialog[closed] {
    display: none;
    }

  2. 更新 dynamsoft.webtwain.initiate.js 以应用新的 CSS 规则

    m.showDialog=function(y){var z=this,v;if(z.open){j.error("showDialog called on open dialog.");return}z.open=i; <强> z.removeAttribute("closed");

    m.closeDialog=function(t){var v=this;if(!v.open){j.error("closeDialog called on closed dialog.")}v.open=o;v.removeAttribute("open"); <强> v.setAttribute("closed","closed");

    y.push('<dialog class="dynamsoft-dwt-dialogProgress" <强> closed="closed" style="top:30%">

由于代码被最小化,它可能在您自己的 JS 副本中看起来有所不同,如果您愿意,可以给我们的支持团队发送电子邮件(support@dynamsoft.com,如果可能,请使用您的公司电子邮件地址)以获得修补。谢谢。

顺便说一句,该补丁将成为即将发布的 v13.4 的一部分。

关于javascript - 使用 Angular 5 自动显示 DWT Java 脚本库进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48669929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com