Exemplo n.º 1
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private void SendButton_Click(object sender, EventArgs e)
        {
            DisableAllButtons(false);
            ChageStatusText("Status: PDF wird erstellt");
            var TempPath = GetRandomTempFilePath();

            new Thread(delegate()
            {
                CurPageControl.CreatePDF(TempPath, StatusBar);
                ChageStatusText("Status: Email wurde geöffnet");
                OpenEmail(TempPath);
                DisableAllButtons(true);
            }).Start();
        }
Exemplo n.º 2
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private void DeletePageButton_Click(object sender, EventArgs e)
        {
            try
            {
                var CurIndex = AllPagesTabControl.SelectedIndex;
                CurPageControl.ClearTab(CurIndex);
                AllPagesTabControl.TabPages.RemoveAt(CurIndex);
                for (int i = 0; i < AllPagesTabControl.TabPages.Count; i++)
                {
                    AllPagesTabControl.TabPages[i].Text = "Seite " + (i + 1).ToString();
                }
                EnableButtons();
                GC.Collect();
            }
            catch (Exception ex)
            {
                Program.MeldeFehler(ex.Message + "\n" + ex.StackTrace);
                Environment.Exit(1);
            }
        }
Exemplo n.º 3
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private void ResetScanButton_Click(object sender, EventArgs e)
        {
            CurPageControl.ClearTabs();
            EnableButtons();
            GC.Collect();
        }
Exemplo n.º 4
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private bool ResetTwain(int Modus)
        {
            try
            {
                TwainLib = new Twain(new WinFormsWindowMessageHook(this));
                TwainLib.TransferImage += delegate(Object sender2, TransferImageEventArgs args)
                {
                    new Thread(delegate()
                    {
                        if (!ReferenceEquals(args.Image, null))
                        {
                            ScannedPageCount++;
                            if (!CheckIfEmptyCheckBox.Checked || !IsImageEmpty(args.Image))
                            {
                                using (var imageFactory = new ImageFactory(preserveExifData: true))
                                {
                                    var ImageByteArray = ImageToByteArray(args.Image);
                                    Image ScannedImage;
                                    using (var CurImageStream = new MemoryStream())
                                    {
                                        imageFactory.Load(ImageByteArray).BitDepth(32).Format(new JpegFormat {
                                            Quality = 100
                                        }).Save(CurImageStream);
                                        ScannedImage = Image.FromStream(CurImageStream);
                                    }
                                    CurPageControl.AddTab(ScannedImage);
                                }
                            }
                            if (ScanFinished)
                            {
                                switch (Modus)
                                {
                                case 0:
                                    DisableAllButtons(true);
                                    EnableButtons();
                                    ChageStatusText("Status:");
                                    break;

                                case 1:
                                    if (AllPagesTabControl.TabCount > 0)
                                    {
                                        ChageStatusText("Status: PDF wird erstellt");
                                        var TempPath = GetRandomTempFilePath();
                                        new Thread(delegate()
                                        {
                                            CurPageControl.CreatePDF(TempPath, StatusBar);
                                            ChageStatusText("Status:");
                                            SavePDFDialog(TempPath);
                                            DisableAllButtons(true);
                                            EnableButtons();
                                        }).Start();
                                    }
                                    break;

                                case 2:
                                    if (AllPagesTabControl.TabCount > 0)
                                    {
                                        ChageStatusText("Status: PDF wird erstellt");
                                        var TempPath = GetRandomTempFilePath();
                                        new Thread(delegate()
                                        {
                                            CurPageControl.CreatePDF(TempPath, StatusBar);
                                            ChageStatusText("Status: Email wurde geöffnet");
                                            OpenEmail(TempPath);
                                            DisableAllButtons(true);
                                            EnableButtons();
                                        }).Start();
                                    }
                                    break;
                                }
                            }
                            GC.Collect();
                        }
                    }).Start();
                };
                TwainLib.ScanningComplete += delegate
                {
                    ScanFinished = true;
                    if (ScannedPageCount == 0)
                    {
                        ChageStatusText("Status:");
                        DisableAllButtons(true);
                        EnableButtons();
                    }
                };
                return(true);
            }
            catch (Exception ex)
            {
                if (ex.Message.ToLowerInvariant().Contains("default source".ToLowerInvariant()))
                {
                    MessageBox.Show("Sie müssen zuerst ein Scanner durch die Treiber einrichten.");
                }
                else
                {
                    Program.MeldeFehler(ex.Message + "\n" + ex.StackTrace);
                }
                Environment.Exit(1);
                return(false);
            }
        }