public void Serializa(ListaArquivos data, string lPath)
        {
            if (data != null)
            {
                FileStream lArquivo = new FileStream(lPath,FileMode.Create,FileAccess.Write);
                BinaryFormatter formatter = new BinaryFormatter();
                formatter.Serialize(lArquivo, data);
                lArquivo.Close();

            }
        }
        private void btnGerarPDF_Click(object sender, EventArgs e)
        {
            string lMessagemErro = null;
            if (ddlTipoDocumento.SelectedItem == null)
            {
                lMessagemErro = "Selecione o Tipo de documento\n";
            }

            if (ddlExercicio.SelectedItem == null)
            {
                lMessagemErro += "Selecione o Exercicio Financeiro\n";

            }
            if (txtDinamico.Text.Equals("") && txtDinamico.Visible == true)
            {
                lMessagemErro += "Informe " + lbldinamico2.Text;
            }
            if (ddlDinamico.Text.Equals("") && ddlDinamico.Visible == true)
            {
                lMessagemErro += "Informe " + lbldinamico2.Text;
            }
            if (!string.IsNullOrEmpty(lMessagemErro))
            {
                MessageBox.Show(lMessagemErro, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            string lPasta = lblIdCliente.Text+"\\"+ DateTime.Now.Year + "\\" + DateTime.Now.Month;
            try
            {

                dadosArquivo = new Arquivo();
                _device.AcquiredImages.PdfMultiPage = true;

                _device.AcquiredImages.PdfDocumentInfo.Author = "Teste Desenvolvimento  - desenvolvedor";
                _device.AcquiredImages.PdfDocumentInfo.Title = "Teste Desenvolvimento";
                _device.AcquiredImages.PdfImageCompression = PdfImageCompression.Auto;
                _device.AcquiredImages.PdfMultiPage = true;

                string lPastaDoc = Directory.GetCurrentDirectory() + "\\Documentos\\" + lPasta;
                //string lPastaTemp = Directory.GetCurrentDirectory() + "\\Temp";

                if (!Directory.Exists(lPastaDoc))
                {
                    Directory.CreateDirectory(lPastaDoc);
                }

                string nomeArquivo = lPastaDoc + "\\temp.pdf";

                //lDispositivo.AcquiredImages[imagemIndex].Save(nomeArquivo);

                Cursor = Cursors.WaitCursor;
                // save second and next images
                for (int i = 0; i < _device.AcquiredImages.Count; i++)
                {
                    _device.AcquiredImages[i].Save(nomeArquivo);
                }

                string lHash = Hashs.ObterHashdoArquivo(TiposHash.TpSHA1, nomeArquivo);

                File.Move(nomeArquivo, lPastaDoc + "\\" + lHash + ".pdf");

                Cursor = Cursors.Default;
                if (File.Exists(lPastaDoc + "\\config.bin"))
                {
                    estadoArquivo = serielize.Deserializa(lPastaDoc + "\\config.bin");
                }

                dadosArquivo.HashArquivo = lHash;
                dadosArquivo.Ano = DateTime.Now.Year;
                dadosArquivo.Mes = DateTime.Now.Month;
                dadosArquivo.Transferencia = StatusTransferencia.NaoTransferido;
                dadosArquivo.Tipo =  (TipoDocumento)ddlTipoDocumento.SelectedIndex;
                dadosArquivo.IsAssinado = true;
                dadosArquivo.DataDigitalizacao = DateTime.Now.ToString("dd/MM/yyyy");
                dadosArquivo.PathArquivo = lPastaDoc + "\\" + lHash + ".pdf";
                ArquivoUtil ar = new ArquivoUtil();
                dadosArquivo.HashPartes = ar.DividirArquivo(lPastaDoc + "\\" + lHash + ".pdf", lPastaDoc);
                dadosArquivo.ExisteFisico = File.Exists(lPastaDoc + "\\" + lHash + ".pdf");
                estadoArquivo.Arquivos.Add(dadosArquivo);

                serielize.Serializa(estadoArquivo, lPastaDoc+"\\config.bin");
                pictureBox1.Image = null;
                MessageBox.Show("PDF gerado com sucesso");
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message + "Erro ao gerar PDF");
            }
        }