DWT Java 脚本库进度对话框自动显示 Angular 5
DWT Java Script Library Progress Dialogue Automatically Displays with Angular 5
我正在将 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"
这是我的项目布局:
最后,这是我的 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);
}
}
}
最后是结果:
显示为0%的'progressbar'立即弹出。在 angular4 中,这不会发生。关于造成这种情况的原因有什么想法吗?我正在尝试阅读 4 和 5 之间的变化,特别是异步和同步加载,但我对这个框架还是陌生的。
谢谢,
乔什
我是 Dynamsoft 的 Tom。
您在此处发布的内容是 SDK Dynamic Web TWAIN v13.3 中的一个已知问题。
这是解决方法
更新 CSS (dynamsoft_dwt_html5.css) 添加以下内容
dialog[closed] {
display: none;
}
更新 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 的一部分。
我正在将 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"
这是我的项目布局:
最后,这是我的 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);
}
}
}
最后是结果:
显示为0%的'progressbar'立即弹出。在 angular4 中,这不会发生。关于造成这种情况的原因有什么想法吗?我正在尝试阅读 4 和 5 之间的变化,特别是异步和同步加载,但我对这个框架还是陌生的。
谢谢, 乔什
我是 Dynamsoft 的 Tom。
您在此处发布的内容是 SDK Dynamic Web TWAIN v13.3 中的一个已知问题。
这是解决方法
更新 CSS (dynamsoft_dwt_html5.css) 添加以下内容
dialog[closed] { display: none; }
更新 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 的一部分。