VintaSoft Twain .NET SDK Discussions
Questions, comments and suggestions concerning VintaSoft Twain .NET SDK.
Board index < VintaSoft Twain < VintaSoft Twain .NET SDK Discussions
Error: Image with identifier: 'bla bla bla' is not foundI suppose it's thrown by the self.acquiredImages.getAsBase64String() function, i think because everytime the user confirms for continuing scanning, it keeps the IDs but not the relative previous scanned images.
//Triggering the Scanning Process
self.managerDOM.find(".scan_btn").each(function () {
var item = $(this);
item.click(async function (e) {
var dateScan = self.getTime();
var nomeFile = item.text() + '_' + dateScan;
console.log(nomeFile)
self.scanMore = true;
self.acquiredImages = new Vintasoft.Twain.WebAcquiredImageCollectionJS(self.twainDeviceManager);
while (self.scanMore == true) await self.__synchronouslyAcquireImagesFromTwainScannerAndSaveToPdfFile(self.selectedDevice, nomeFile);
});
});
//Scanning Function
__synchronouslyAcquireImagesFromTwainScannerAndSaveToPdfFile(selectedDevice, nome_file) {
var self = this;
var twainDevice = selectedDevice;
return new Promise(async function (resolve, reject) {
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();
l(acquireModalResult);
// 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
self.acquiredImages.add(acquiredImage);
// save acquired image to "result.pdf" file
console.log(self.acquiredImages);
break;
case 4: // scan is failed
alert(acquireModalResult.get_ErrorMessage());
break;
case 9: // scan is finished
let result = await swalConfirm('Continuare la scansione?', 'Si', 'No');
if (result.isConfirmed) {
self.scanMore = true;
// resolve();
break;
} else {
self.scanMore = false;
let params = {};
var imageIds = [];
const c = self.acquiredImages.get_Count();
l('Const c: '+c);
// for each acquired image
for (var i = 0; i < c; i++) {
// add image identifier to array of image identifiers
imageIds.push(self.acquiredImages.getItem(i).get_Id());
l('Acquired image id: ' + self.acquiredImages.getItem(i).get_Id());
l('Acquired image getitem[i]: '+self.acquiredImages.getItem(i));
l('Selfacquiredimages: '+self.acquiredImages);
}
l('Image ids');
l(imageIds);
// save images to an image file and return file data as a Base64 string
var imageFileAsBase64String = self.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();
let PDFsidebaropen = false;
self.togglePdfSideBar(PDFsidebaropen);
self.acquiredImages.clear();
}
else {
console.log(response);
}
// resolve();
});
break;
}
}
}
while (acquireModalState !== 0);
}
catch (ex) {
alert('Catched error');
alert(ex);
}
finally {
if (twainDevice != null) {
// close the device
twainDevice.close();
}
resolve();
// close the device manager
self.twainDeviceManager.close();
}
});
}
Could you help me?