示例#1
0
 public string executarOcr(string arquivo)
 {
     try
     {
         var saida = Ocr.GerarDocumentoPesquisavelPdf(oGdPictureImaging, oGdPicturePDF, arquivo, true, "por", null, null, null, null, null, 250);
         getPastaDestino(saida);
     }
     catch (Exception ex)
     {
         using (FileStream fs = File.Create("log.txt"))
         {
             Byte[] info = new UTF8Encoding(true).GetBytes(ex.Message);
             // Add some information to the file.
             fs.Write(info, 0, info.Length);
         }
     }
     return("");
 }
示例#2
0
        public void monitorarPasta(monitoramento monitoramento, string caminho)
        {
            string AsposeWords = string.Concat(GetCurrentDirectory(), "\\Aspose\\Aspose.Words.lic");
            string AsposePdf   = string.Concat(GetCurrentDirectory(), "\\Aspose\\Aspose.Pdf.lic");

            lockArquivo = true;
            switch (monitoramento)
            {
            case monitoramento.RTF:
                string[] files = Directory.GetFiles(caminho);
                for (int i = 0; i < (int)files.Length; i++)
                {
                    string str  = files[i];
                    string str1 = Ocr.GerarDocumentoPesquisavelPdf(this.oGdPictureImaging, this.oGdPicturePDF, str, true, "por", null, null, null, null, null, 250);
                    string str2 = AsposeWords;
                    using (FileStream fileStream = File.Open(str2, FileMode.Open))
                    {
                        (new Aspose.Words.License()).SetLicense(fileStream);
                    }
                    string str3 = AsposePdf;
                    using (FileStream fileStream1 = File.Open(str3, FileMode.Open))
                    {
                        (new Aspose.Pdf.License()).SetLicense(fileStream1);
                    }
                    Aspose.Pdf.Document document = new Aspose.Pdf.Document(str1);
                    document.Save(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"), SaveFormat.DocX);
                    Aspose.Words.Document document1 = new Aspose.Words.Document(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"));
                    document1.Save(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".rtf"));
                    string str4 = ConfigurationManager.AppSettings["pastaSaidaRTF"].ToString();

                    var move  = string.Concat(str4, "\\", Path.GetFileNameWithoutExtension(str) + ".rtf");
                    int count = 1;
                    while (File.Exists(move))
                    {
                        string tempFileName = string.Format("{0}({1})", (str4 + "\\" + Path.GetFileNameWithoutExtension(str)), count++);
                        move = tempFileName + ".rtf";
                    }
                    File.Move(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".rtf"), move);
                    File.Delete(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"));
                    File.Delete(str1);
                }
                break;

            case monitoramento.RTFEMAIL:
                ////captura de email
                foreach (var item in Directory.GetFiles(caminho))
                {
                    string str  = item;
                    string str1 = Ocr.GerarDocumentoPesquisavelPdf(this.oGdPictureImaging, this.oGdPicturePDF, str, true, "por", null, null, null, null, null, 250);
                    string str2 = AsposeWords;
                    using (FileStream fileStream = File.Open(str2, FileMode.Open))
                    {
                        (new Aspose.Words.License()).SetLicense(fileStream);
                    }
                    string str3 = AsposePdf;
                    using (FileStream fileStream1 = File.Open(str3, FileMode.Open))
                    {
                        (new Aspose.Pdf.License()).SetLicense(fileStream1);
                    }
                    Aspose.Pdf.Document document = new Aspose.Pdf.Document(str1);
                    document.Save(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"), SaveFormat.DocX);
                    Aspose.Words.Document document1 = new Aspose.Words.Document(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"));
                    document1.Save(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".rtf"));
                    string str4 = ConfigurationManager.AppSettings["pastaSaidaRTF"].ToString();

                    var move  = string.Concat(str4, "\\", Path.GetFileNameWithoutExtension(str) + ".rtf");
                    int count = 1;
                    while (File.Exists(move))
                    {
                        string tempFileName = string.Format("{0}({1})", (str4 + "\\" + Path.GetFileNameWithoutExtension(str)), count++);
                        move = tempFileName + ".rtf";
                    }
                    File.Move(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".rtf"), move);
                    File.Delete(string.Concat(Path.GetDirectoryName(str1), "\\", Path.GetFileNameWithoutExtension(str1), ".docx"));
                    File.Delete(str1);

                    string   nome      = Path.GetFileName(item);
                    string   remetente = nome.Substring(0, nome.IndexOf('@') + 1);
                    string[] url       = nome.Substring(nome.IndexOf('@') + 1).Split('_');

                    if (move.Contains(".rtf"))
                    {
                        if (sendemail(move, remetente + url[0]))
                        {
                            File.Delete(move);
                        }
                    }
                }

                break;

            case monitoramento.OCR:
                foreach (var item in Directory.GetFiles(caminho))
                {
                    string nome = Path.GetFileName(item);

                    var saida = Ocr.GerarDocumentoPesquisavelPdf(oGdPictureImaging, oGdPicturePDF, item, true, "por", null, null, null, null, null, 250);
                    if (saida.Contains(".pdf"))
                    {
                        string pastaSaidaOcr = ConfigurationManager.AppSettings["pastaSaidaOcr"].ToString();
                        if (File.Exists(pastaSaidaOcr + @"\" + Path.GetFileName(saida)))
                        {
                            File.Delete(pastaSaidaOcr + @"\" + Path.GetFileName(saida));
                        }
                        File.Move(saida, pastaSaidaOcr + @"\" + Path.GetFileName(saida));
                    }
                }
                break;

            case monitoramento.OCREMAIL:
                foreach (var item in Directory.GetFiles(caminho))
                {
                    string   nome      = Path.GetFileName(item);
                    string   remetente = nome.Substring(0, nome.IndexOf('@') + 1);
                    string[] url       = nome.Substring(nome.IndexOf('@') + 1).Split('_');
                    var      saida     = Ocr.GerarDocumentoPesquisavelPdf(oGdPictureImaging, oGdPicturePDF, item, true, "por", null, null, null, null, null, 300);

                    if (saida.Contains(".pdf"))
                    {
                        if (sendemail(saida, remetente + url[0]))
                        {
                            File.Delete(saida);
                        }
                    }
                }
                break;

            default:
                break;
            }
            lockArquivo = false;
            var PastaDestinoTemp = ConfigurationManager.AppSettings["PastaDestinoTemp"];

            foreach (var item in Directory.GetFiles(PastaDestinoTemp))
            {
                File.Delete(item);
            }
        }