Example #1
0
        public virtual void Scan(short CountPages = 200, AxFiScnLib.AxFiScn _driverFujitsu = null, WFCapture wfCapture = null)
        {
            try
            {
                if (this.BeforeScanEvent != null)
                {
                    this.BeforeScanEvent(this);
                }

                if (!msgfilter)
                {
                    msgfilter = true;
                    Application.AddMessageFilter(this);
                }

                this.tw = new Twain(this.Handle);
                this.tw.TransferPictureEvent += TransferPictureEvent;
                this.tw.Brightness            = ACSConfig.GetImages().Brightness;
                this.tw.Contrast              = ACSConfig.GetImages().Contrast;
                this.tw.Resolution            = ACSConfig.GetImages().Resolution;
                this.tw.ScanAs = ACSConfig.GetScanner().ScanAs;
                this.tw.SetDevice(ACSConfig.GetScanner().Driver);

                var nameDriver = ACSConfig.GetScanner().Driver;

                if (nameDriver.ToUpper().Contains("SP-1120"))
                {
                    Fujitsu clsFujitsu = new Fujitsu(_driverFujitsu, wfCapture, ACSGlobal.LoteSelecionado.DIRLOTEINBOX);
                    if (clsFujitsu.AcquireFujitsu() == 1)
                    {
                        if (this.AfterScanEvent != null)
                        {
                            //  this.AfterScanEvent(true);
                            EndingScan(false);
                        }
                    }
                    else
                    {
                        EndingScan(false);
                        WFMessageBox.Show("Sem comunicação com scanner!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                if (nameDriver.ToUpper().Contains("LEXMARK"))
                {
                    //WFLoading.ShowLoad();
                    bool isDuplex = ACSGlobal.Duplex;

                    if (this.tw.AcquireLexmark(CountPages, 0, 0, isDuplex) == TwRC.Success)
                    {
                        if (this.AfterScanEvent != null)
                        {
                            this.AfterScanEvent(true);
                        }     //WFLoading.CloseLoad();
                    }
                    else
                    {
                        if (this.AfterScanEvent != null)
                        {
                            this.AfterScanEvent(false);
                        }
                        EndingScan(false);
                        WFMessageBox.Show("Sem comunicação com scanner!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    bool isDuplex = ACSGlobal.Duplex;

                    if (this.tw.Acquire(CountPages, 0, 0, isDuplex) == TwRC.Success)
                    {
                        if (this.AfterScanEvent != null)
                        {
                            this.AfterScanEvent(true);
                        }
                        WFLoading.CloseLoad();
                    }
                    else
                    {
                        if (this.AfterScanEvent != null)
                        {
                            this.AfterScanEvent(false);
                        }
                        EndingScan(false);
                        WFMessageBox.Show("Sem comunicação com scanner!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }



                if (!ACSConfig.GetScanner().Driver.ToUpper().Contains("FUJITSU") && !ACSConfig.GetScanner().Driver.ToUpper().Contains("SP-1120"))
                {
                    Application.DoEvents();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #2
0
        public int AcquireFujitsu()
        {
            try
            {
                int status;
                int ErrorCode;


                //Open the scanner (method)
                status = driverFujitsu.OpenScanner2(driverFujitsu.Handle.ToInt32()); //OpenScanner2 is recommended

                if (status == -1)
                {
                    //Display the error information
                    ErrorCode = driverFujitsu.ErrorCode;
                    return(ErrorCode);
                }


                driverFujitsu.ShowSourceUI    = false;
                driverFujitsu.ScanTo          = 0; //Data output method: file
                driverFujitsu.CompressionType = 5; //Compression format: JPEG compression
                driverFujitsu.FileType        = 3; //File format: JPEG file

                var BRss  = (short)(ACSConfig.GetImages().Brightness);
                var CONss = (short)(ACSConfig.GetImages().Contrast);
                driverFujitsu.Brightness = BRss;
                driverFujitsu.Contrast   = CONss;
                //set color
                if (ACSConfig.GetScanner().ScanAs == 0)
                {
                    driverFujitsu.PixelType = 0;
                }                                                                       //Branco e Preto  }
                else if (ACSConfig.GetScanner().ScanAs == 1)
                {
                    driverFujitsu.PixelType = 1;
                }                                                                            //Escala de cinza  }
                else
                {
                    driverFujitsu.PixelType = 2;
                }                                     //Colorido }


                if (ACSConfig.GetImages().Resolution <= 200)
                {
                    driverFujitsu.Resolution = 0;
                }
                else if (ACSConfig.GetImages().Resolution < 300)
                {
                    driverFujitsu.Resolution = 1;
                }
                else if (ACSConfig.GetImages().Resolution < 400)
                {
                    driverFujitsu.Resolution = 2;
                }
                else if (ACSConfig.GetImages().Resolution < 500)
                {
                    driverFujitsu.Resolution = 3;
                }
                else if (ACSConfig.GetImages().Resolution < 600)
                {
                    driverFujitsu.Resolution = 4;
                }
                else if (ACSConfig.GetImages().Resolution < 700)
                {
                    driverFujitsu.Resolution = 5;
                }
                else if (ACSConfig.GetImages().Resolution < 800)
                {
                    driverFujitsu.Resolution = 6;
                }
                else if (ACSConfig.GetImages().Resolution < 900)
                {
                    driverFujitsu.Resolution = 7;
                }
                else
                {
                    driverFujitsu.Resolution = 9;
                }


                setDuplex = ACSGlobal.Duplex;

                //set duplex
                if (setDuplex)
                {
                    driverFujitsu.PaperSupply = 2;
                }
                else
                {
                    driverFujitsu.PaperSupply = 1;
                }

                driverFujitsu.FileName         = pathSaveInbox + "\\000";
                driverFujitsu.BarcodeDetection = true;

                if (!driverFujitsu.FeederLoaded(driverFujitsu.Handle.ToInt32()))
                {
                    return(-1);
                }

                driverFujitsu.SetCapability(0x1013, 1, 1);

                driverFujitsu.SetCapability(0x1012, 1, 3);


                status = driverFujitsu.StartScan(driverFujitsu.Handle.ToInt32());
                // WFCapture_AfterScanEvent();

                // An error occurred during a scan
                if (status == -1)
                {
                    //Display the error information
                    ErrorCode = driverFujitsu.ErrorCode;
                    return(ErrorCode);
                }



                return(1);
            }
            catch (Exception a)
            {
                ACSLog.InsertLog(MessageBoxIcon.Error, a);
                throw;
            }
        }
 private void tbBrightnessReload_ValueChanged(object sender, EventArgs e)
 {
     nudBrightnessReload.Value = (sender as TrackBar).Value;
     ACSConfig.GetImages().BrightnessReload = (float)nudBrightnessReload.Value;
 }
        private bool SaveSettings()
        {
            List <string> UsuariosInvalidos = new List <string>();


            ///GRID ASSINATURAS
            if (dataGridView1.Rows.Count > 0)
            {
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    bool fInsert = true;
                    DataGridViewTextBoxCell  txtNome = (DataGridViewTextBoxCell)(row.Cells[0]);
                    DataGridViewComboBoxCell combo   = (DataGridViewComboBoxCell)(row.Cells[1]);

                    if (txtNome.Tag != null)
                    {
                        var    id       = ((GEDPESSOAS)txtNome.Tag).PES_IDPESSOA;
                        int    idPessoa = (int)id;
                        var    sNome    = txtNome.Value;
                        string chave    = (combo.Value == null) ? "" : combo.Value.ToString();

                        if (chave != "")
                        {
                            string sCpfCertificado = Assinador.BuscaCPFCertificadosValidos(chave);
                            string sVefica         = ACSConfig.GetApp().CPFValidateCertificado;

                            if (sVefica == "YES")
                            {
                                if (sCpfCertificado != "" && ((GEDPESSOAS)txtNome.Tag).PES_CPF != sCpfCertificado)
                                {
                                    fInsert = false;
                                    UsuariosInvalidos.Add("Usuário " + sNome + ", possui um CPF diferente ao do Certificado. Impossível fazer a vinculação do Certificado");
                                }
                            }
                        }

                        if (fInsert)
                        {
                            var fVerifica = DataBase.ACSDataBase.UpdateCertificadoUsuario(idPessoa, chave);
                            if (idPessoa == ACSGlobal.UsuarioLogado.USR_IDPESSOA)
                            {
                                ACSGlobal.UsuarioLogado.USR_SERIALNUMBERCERT = chave;
                            }
                        }
                    }
                }
            }

            ////GRID ASSINATURAS



            ACSConfig.GetStorage().Input  = tbInput.Text;
            ACSConfig.GetStorage().Output = tbOutput.Text;


            if (rbJPG.Checked)
            {
                ACSConfig.GetImages().Format = ImageFormat.Jpeg;
            }
            if (rbPNG.Checked)
            {
                ACSConfig.GetImages().Format = ImageFormat.Png;
            }
            if (rbTIF.Checked)
            {
                ACSConfig.GetImages().Format = ImageFormat.Tiff;
            }

            ACSConfig.GetImages().Resolution = float.Parse(dudResolution.SelectedItem.ToString());

            ACSConfig.GetBarCodeSettings().MaxLength = int.Parse(tbMaxLength.Text);

            ACSConfig.GetScanner().Driver = cbDrivers.Text;

            if (cbDrivers.Text.Contains("Lexmark"))
            {
                ACSMinCapture.Controls.UCImagesManipulation ucImagem = new Controls.UCImagesManipulation(null);
                ucImagem.btnDuplex.Visible = true;
                ucImagem.btnDuplex.Refresh();
            }
            else
            {
                ACSMinCapture.Controls.UCImagesManipulation ucImagem = new Controls.UCImagesManipulation(null);
                ucImagem.btnDuplex.Visible = false;
                ucImagem.btnDuplex.Refresh();
            }

            if (rbPretoBranco.Checked)
            {
                ACSConfig.GetScanner().ScanAs = 0;
            }

            if (rbTonsCinza.Checked)
            {
                ACSConfig.GetScanner().ScanAs = 1;
            }

            if (rbColorido.Checked)
            {
                ACSConfig.GetScanner().ScanAs = 2;
            }


            ACSConfig.GetImages().Brightness       = (int)tbBrightness.Value;
            ACSConfig.GetImages().BrightnessReload = (int)tbBrightness.Value;
            ACSConfig.GetImages().Contrast         = (int)tbContrast.Value;

            ACSConfig.GetNetworkAccesser().Valid    = cbAutentica.Checked;
            ACSConfig.GetNetworkAccesser().Domain   = tbDominio.Text;
            ACSConfig.GetNetworkAccesser().User     = tbUsuario.Text;
            ACSConfig.GetNetworkAccesser().Password = tbSenha.Text;
            if (UsuariosInvalidos.Count > 0)
            {
                foreach (var item in UsuariosInvalidos)
                {
                    WFMessageBox.Show(item, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                return(false);
            }
            return(true);
        }
        private void WFPreferencias_Load(object sender, EventArgs e)
        {
            tbInput.Text  = ACSConfig.GetStorage().Input;
            tbOutput.Text = ACSConfig.GetStorage().Output;

            rbJPG.Checked = ACSConfig.GetImages().Format == ImageFormat.Jpeg;
            rbPNG.Checked = ACSConfig.GetImages().Format == ImageFormat.Png;
            rbTIF.Checked = ACSConfig.GetImages().Format == ImageFormat.Tiff;

            dudResolution.SelectedIndex = dudResolution.Items.IndexOf(ACSConfig.GetImages().Resolution.ToString());

            tbMaxLength.Text = ACSConfig.GetBarCodeSettings().MaxLength.ToString();

            try
            {
                using (var tw = new Twain(this.Handle))
                {
                    this.cbDrivers.Items.Clear();

                    foreach (var device in tw.GetDevices())
                    {
                        this.cbDrivers.Items.Add(device.ProductName);
                    }

                    cbDrivers.Text = ACSConfig.GetScanner().Driver;
                }
            }
            catch (Exception)
            {
                WFMessageBox.Show("Reinicie a aplicação para realizar alguma alteração!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            switch (ACSConfig.GetScanner().ScanAs)
            {
            case 0:
            {
                rbPretoBranco.Checked = true;
                break;
            }

            case 1:
            {
                rbTonsCinza.Checked = true;
                break;
            }

            case 2:
            {
                rbColorido.Checked = true;
                break;
            }
            }

            nudBrightness.Maximum = tbBrightness.Maximum;
            nudBrightness.Minimum = tbBrightness.Minimum;

            nudBrightnessReload.Maximum = tbBrightnessReload.Maximum;
            nudBrightnessReload.Minimum = tbBrightnessReload.Minimum;

            nudContrast.Maximum = tbContrast.Maximum;
            nudContrast.Minimum = tbContrast.Minimum;

            tbBrightness.Value       = (int)ACSConfig.GetImages().Brightness;
            tbBrightnessReload.Value = (int)ACSConfig.GetImages().BrightnessReload;
            tbContrast.Value         = (int)ACSConfig.GetImages().Contrast;

            nudBrightness.Value       = tbBrightness.Value;
            nudBrightnessReload.Value = tbBrightnessReload.Value;
            nudContrast.Value         = tbContrast.Value;

            cbAutentica.Checked = ACSConfig.GetNetworkAccesser().Valid;
            tbDominio.Text      = ACSConfig.GetNetworkAccesser().Domain;
            tbUsuario.Text      = ACSConfig.GetNetworkAccesser().User;
            tbSenha.Text        = ACSConfig.GetNetworkAccesser().Password;

            this.imageBox1.GridDisplayMode = Cyotek.Windows.Forms.ImageBoxGridDisplayMode.Client;
            this.imageBox1.Invalidate();
        }
 private void tbContrast_ValueChanged(object sender, EventArgs e)
 {
     nudContrast.Value = (sender as TrackBar).Value;
     ACSConfig.GetImages().Contrast = (float)nudContrast.Value;
 }