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;
        }