here is the code :
Code: Select all
try {
// open TWAIN device manager
self.twainDeviceManager.open(self.twainDeviceManagerInitSettingsJS);
// // get the default TWAIN device
// twainDevice = twainDeviceManager.get_DefaultDevice();
// open TWAIN device (display device UI and display dialog with image scanning progress)
twainDevice.open(false, true);
// specify that grayscale images must be acquired from TWAIN scanner
twainDevice.set_PixelType(new Vintasoft.Twain.WebPixelTypeEnumJS("Gray"));
// create collection for images acquired from TWAIN scanner
var acquiredImages = new Vintasoft.Twain.WebAcquiredImageCollectionJS(self.twainDeviceManager);
var acquireModalState;
//var savedImageCount = 0;
do {
// do one step of modal image acquisition process
var acquireModalResult = twainDevice.acquireModalSync();
// get state of image acquisition
acquireModalState = acquireModalResult.get_AcquireModalState().valueOf();
l('acquiremodalstate');
l(acquireModalState);
switch (acquireModalState) {
case 2: // image is acquired
// get acquired image
var acquiredImage = acquireModalResult.get_AcquiredImage();
// add acquired image to the collection of acquired images
acquiredImages.add(acquiredImage);
// save acquired image to "result.pdf" file
console.log(acquiredImages);
//acquiredImages.saveImages("C:\\Users\\luigi\\Desktop\\PDF\\"+nome_file+".pdf", false, [ acquiredImage.get_Id() ]);
//savedImageCount = savedImageCount + 1;
break;
case 4: // scan is failed
alert(acquireModalResult.get_ErrorMessage());
break;
case 9: // scan is finished
let params = {};
var imageIds = []
// for each acquired image
for (var i = 0; i < acquiredImages.get_Count(); i++) {
// add image identifier to array of image identifiers
imageIds.push(acquiredImages.getItem(i).get_Id());
}
// save images to an image file and return file data as a Base64 string
var imageFileAsBase64String = acquiredImages.getAsBase64String(nome_file + '.pdf', imageIds);
// l(imageFileAsBase64String);
params.fileToUpload = imageFileAsBase64String;
params.nomeFile = nome_file;
let connection = new Connection('scansioni/pdfupload', params, true);
connection.go().then(function (response) {
if (response.result == "success") {
alert("Scansione caricata con successo");
self.initLoadListaPdfUtente();
}
else {
console.log(response);
}
});
break;
}
}
while (acquireModalState !== 0);
The only thing that comes to my mind is something related to the time needed to reach this statement "while (acquireModalState !==0);".
Could you help me to figure it out?
Thank you in advance.
Luigi