public async void ShowAddingPage() { if (_model.PDF2Add == null || _model.DestinationFile == null) { return; } if (_model.PDF2Add.Where(w => w.Check2Add != false).Select(w => w).Count() == 0) { return; } var x = await activeWindow.ShowProgressAsync("Starting to Add Pages", "", false, s_without_animation); var converter = new ScannerImageConverter(_model.TempFolder); _model.IsMsgVisible = true; try { var pass = string.Empty; AcrobatProcess(); await Task.Delay(500); foreach (var item in _model.PDF2Add) { try { if (item.Check2Add != false) { await Task.Factory.StartNew(() => converter.AddToExistingPDF(item.FullPathWithExtension, $@"{_model.TempFolder}{_model.DestinationFile.FullName}.pdf", x)); } } catch (Exception ex) { //if (ex.Message.ToUpper() == "A PASSWORD IS REQUIRED TO OPEN THE PDF DOCUMENT.") // pass = await AskForPassword(item.FullName); if (ex.Message.ToUpper() == "THE SPECIFIED PASSWORD IS INVALID.") { pass = await AskForPassword(item.FullName); if (pass != null) { try { await Task.Factory.StartNew(() => converter.AddToExistingPDF(item.FullPathWithExtension, $@"{_model.TempFolder}{_model.DestinationFile.FullName}.pdf", x, pass)); } catch (Exception exx) { await ShowErrorMessage($"File: {item.FullName}.pdf", exx.Message); } } } else { await ShowErrorMessage(message : ex.Message); } } } await x.CloseAsync(); _model.IsMsgVisible = false; } catch (Exception ex) { await x.CloseAsync(); await ShowErrorMessage(message : ex.Message); _model.IsMsgVisible = false; } activeWindow.FindChild <WebBrowser>("pdfview").Navigate($"{_model.TempFolder}{_model.DestinationFile.FullName}.pdf"); }
public async void ShowScanAndAdd() { _model.IsMsgVisible = true; var scanner = new ScannerService(); var pAsync = await activeWindow.ShowProgressAsync("Status", "Starting...", false, s_without_animation); pAsync.SetIndeterminate(); var converter = new ScannerImageConverter(_model.TempFolder); switch (_model.AutoAdd) { case true: await Task.Factory.StartNew(async() => { try { var filee = scanner.ScanAll(pAsync, _model.ColorSetting); if (filee.Count == 0) { await pAsync.CloseAsync(); return; } converter.SavePDFsOn(filee, pAsync); await pAsync.CloseAsync(); _model.IsMsgVisible = false; AcrobatProcess(); await Task.Delay(500); pAsync.SetMessage("Adding pages to file..."); await Task.Factory.StartNew(() => converter.AddToExistingPDF($@"{_model.TempFolder}Preview.pdf", $@"{_model.TempFolder}{_model.FileNameAdded}.pdf")); App.Current.Dispatcher.Invoke(() => { activeWindow.FindChild <WebBrowser>("pdfview").Navigate($@"{_model.TempFolder}{_model.FileNameAdded}.pdf"); }); await pAsync.CloseAsync(); _model.IsMsgVisible = false; } catch (Exception ex) { await pAsync.CloseAsync(); App.Current.Dispatcher.Invoke(() => { ShowErrorMessage(ex.Message); }); } }); break; case false: var file = await Task <ImageFile> .Factory.StartNew(() => scanner.Scan(pAsync, _model.ColorSetting)).ContinueWith(async(t) => { try { if (t != null) { var scannedImage = converter.ConvertScannedImage(t.Result); var saveResult = converter.SaveOnPDF(scannedImage as BitmapFrame, pAsync); AcrobatProcess(); await Task.Delay(500); pAsync.SetMessage("Adding pages to file..."); await Task.Factory.StartNew(() => converter.AddToExistingPDF($@"{_model.TempFolder}Preview.pdf", $@"{_model.TempFolder}{_model.FileNameAdded}.pdf")); App.Current.Dispatcher.Invoke(() => { activeWindow.FindChild <WebBrowser>("pdfview").Navigate($@"{_model.TempFolder}{_model.FileNameAdded}.pdf"); }); await pAsync.CloseAsync(); _model.IsMsgVisible = false; } else { } } catch (Exception ex) { await pAsync.CloseAsync(); App.Current.Dispatcher.Invoke(() => { ShowErrorMessage(ex.Message); }); } }); break; default: break; } // _model.IsMsgVisible = false; }