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