Beispiel #1
0
        public async Task <RetornoHttp> GerarHtmlToPdf(ConteudoPdf conteudo)
        {
            if (conteudo == null || String.IsNullOrEmpty(conteudo.Conteudo))
            {
                return(RetornoHttp.ResultErro("Conteudo para gerar o PDF não informado."));
            }

            ArquivoPdf arquivo = null;

            DirectoryInfo pasta = new DirectoryInfo("/data");

            if (!pasta.Exists)
            {//Criar
                pasta.Create();
            }

            var      rng         = new Random((int)DateTime.Now.Ticks);
            String   pathArquivo = pasta.FullName + "/" + string.Format("{0}.pdf", rng.Next().ToString("0000000000"));
            FileInfo arquivoPdf  = new FileInfo(pathArquivo);

            Document doc = new Document(PageSize.A4); //criando e estipulando o tipo da folha usada

            doc.SetMargins(40, 40, 40, 80);           //estibulando o espaçamento das margens que queremos
            doc.AddCreationDate();                    //adicionando as configuracoes

            PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(arquivoPdf.FullName, FileMode.Create));

            doc.Open();

            //criando uma string vazia
            string dados = "";

            //criando a variavel para paragrafo
            Paragraph paragrafo = new Paragraph(dados, new Font(Font.NORMAL, 14));

            //etipulando o alinhamneto
            paragrafo.Alignment = Element.ALIGN_JUSTIFIED;

            //Alinhamento Justificado adicioando texto
            paragrafo.Add(conteudo.Conteudo);

            //acidionado paragrafo ao documento
            doc.Add(paragrafo);

            //fechando documento para que seja salva as alteraçoes.
            doc.Close();
            writer.Flush();
            writer.Close();

            //Atualizar
            arquivo          = new ArquivoPdf();
            arquivo.Nome     = arquivoPdf.Name;
            arquivo.Tamanho  = arquivoPdf.Length;
            arquivo.DataHora = arquivoPdf.CreationTime;

            return(RetornoHttp.ResultSucesso(arquivo));
        }
Beispiel #2
0
        public async Task <RetornoHttp> ListarArquivos()
        {
            List <ArquivoPdf> lista = new List <ArquivoPdf>();
            DirectoryInfo     pasta = new DirectoryInfo("/data");

            if (pasta.Exists)
            {
                foreach (var file in pasta.GetFiles())
                {
                    lista.Add(new ArquivoPdf(file.Name, file.Length, file.CreationTime));
                }
            }
            return(RetornoHttp.ResultSucesso(lista));
        }