Событие OnGetFilePath не запускается
После того как пользователь отсканировал документ - я хотел бы разрешить ему выбрать место для сохранения файла, сохранить файл и, наконец, вернуть путь к файлу, который он только что сохранил.
Я пытаюсь использовать событие " OnGetFilePath", но оно не работает.
Код JS здесь:
var DWObject;
Dynamsoft.WebTwainEnv.AutoLoad = false;
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
function LoadEnv() {
Dynamsoft.WebTwainEnv.Load();
}
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
if (DWObject) {
DWObject.IfShowFileDialog = true;
DWObject.RegisterEvent('OnGetFilePath', OnGetFilePath);
DWObject.SelectSource(function () {
DWObject.OpenSource();
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.AcquireImage(OnAcquireImageSuccess, OnAcquireImageFailure);
}, function () {
console.log('SelectSource failed!');
});
}
}
function OnAcquireImageSuccess() {
console.log('Successfully aquired image');
SavePDF();
DWObject.CloseSource();
}
//File saved to disk successfully
function SavePDF() {
DWObject.SaveAsPDF('file.pdf');
}
//Not Fired
function OnGetFilePath(bSave, filesCount, index, path, filename) {
console.log("File Path!");
}
1 ответ
Это то, что я сделал, и я думаю, что это поможет вам.
- Я скачал образец кода - https://demo.dynamsoft.com/DWT/online_demo_scan.aspx
Я добавил кнопку рядом с кнопкой Сканировать на online_demo_scan.html
Я добавил предупреждение в Dynamsoft_OnGetFilePath в online_demo_operation.js
function Dynamsoft_OnGetFilePath (bSave, count, index, path, name) {alert ('Событие OnGetFilePath сработало!'); }
И событие срабатывает, когда я нажимаю кнопку.
Согласно документации
Это событие срабатывает, когда 1. завершился метод ShowFileDialog; 2. метод LoadImageEx завершил работу с IfShowFileDialog, установленным в значение true.
РЕДАКТИРОВАТЬ: некоторый дополнительный код, чтобы показать, как сохранить файл после запуска события.
function Dynamsoft_OnGetFilePath(bSave, count, index, path, name) {
var file_path = path + "\\" + name + ".pdf";
DWObject.IfShowFileDialog = false;
DWObject.SaveAsPDF(file_path);
alert(file_path);
}