Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este
artigo tem como objetivo principal apresentar os componentes mais utilizados
para gerar arquivos PDF de uma maneira simples e eficaz. Você irá conhecer as
principais bibliotecas disponíveis na plataforma .NET, entre elas a iTextSharp. Em
que situação o tema é útil É útil para
situações onde é preciso disponibilizar ao usuário, de uma forma rápida e
segura, relatórios ou históricos financeiros de sua empresa, gerando o
documento no formato PDF. Também pode ser aplicado em situações onde o usuário
quer disponibilizar ao cliente uma forma diferenciada para gerar seus
documentos online, além de apenas imprimir ou gerar em formato do Word. PDF
com ASP.NET – Manipulando documentos O PDF é o formato de documento mais utilizado atualmente
para ler arquivos que contenham textos, imagens, links, sons, vídeos e até
mesmo gráficos. O fato de sua facilidade de uso e sua característica
multiplataforma contribuem e o levam a ser a extensão mais popular de
documentos na WEB. Neste artigo será abordado os principais conceitos de PDF,
além de focar nas principais bibliotecas disponíveis na plataforma .NET. Você
será capaz de construir esses exemplos em uma aplicação Web Forms (ASP.NET).
O formato PDF (Portable Document Format) foi criado pela empresa Adobe Systems em 1990 e vem sendo aperfeiçoado constantemente. O mesmo tem o objetivo principal de exibir e manipular documentos independentes do aplicativo, sistema operacional ou hardware ao qual for submetido.
Como o PDF é um padrão aberto, qualquer pessoa pode escrever aplicativos que criem ou leiam documentos neste padrão. Suas vantagens vão além, já que sua formatação costuma ser exatamente igual ao do arquivo de origem, preservando assim a qualidade do arquivo original. Além disso, o formato PDF preza pela segurança, visto que temos a opção de gerar arquivos e bloqueá-los por senha, impedindo assim o acesso e o limitando apenas a determinados usuários.
Para entendermos melhor como é gerado o PDF, vamos imaginar o funcionamento de uma impressora: quando clicamos na opção para imprimir um determinado arquivo, os dados deste arquivo são transmitidos à impressora de uma forma que ela o imprima da forma mais parecida possível com a versão digital. Seguindo este conceito, o PDF recebe estes dados e, ao invés de imprimir em um papel, os “imprime” no formato de visualização eletrônica.
Quando convertemos um documento do Word, por exemplo, para o formato PDF, todo seu conteúdo é exibido como se fosse uma imagem, não permitindo assim ao usuário alterar seu conteúdo. Esse recurso é um dos motivos de sua imensa popularidade, sendo muito usado na distribuição de e-books e até mesmo de demonstrativos financeiros de grandes empresas.
O formato PDF é tão seguro que é até mesmo difícil de corrompê-lo. Sem contar o fato de que, quando um documento é convertido para PDF, ele sofre um processo de compactação chegando a ser 10 vezes menor do que o seu tamanho original.
A tecnologia .NET nos oferece um grande arsenal de frameworks para a manipulação de arquivos no formato PDF. Estes que serão visto no decorrer do artigo.
Antes de nos aprofundarmos nas bibliotecas, é necessário que você esteja habituado a alguns conceitos importantes da Orientação a Objetos, pois as bibliotecas utilizadas fazem uso desses conceitos intensivamente.
Classes – Uma classe é definida pela palavra reservada “class” e serve como modelo para armazenar informações, realizar tarefas e disparar mensagens. Um sistema completo é composto, geralmente, por muitas classes que são instanciadas na memória do computador durante a execução do programa. Essa instância feita em memória, no momento em que o programa está sendo executado, chama-se objeto.
Métodos – São ações que realizam tarefas. Eles podem ou não retornar valores e, podem ou não, receber parâmetros. Podem ser criados dentro de uma classe e serem “chamados” na mesma ou em outra classe, por exemplo, usando a instanciação.
Instanciação – É a tarefa de trazer à existência de uma classe. Para compreender melhor isso vamos comparar com algo bem real. Nós fazemos parte da raça humana. Esta define nossas características, como quantidade de membros, ossos etc. Isto é o equivalente a uma classe. Contudo, você não é a classe humana, você faz parte dela. É você quem interage, anda, dorme e não a classe. Então podemos dizer que isso é relativo a objeto. Para utilizar uma classe, você precisa de um objeto desse tipo. Esse objeto é criado durante a instanciação, seria algo como o nascimento de uma pessoa da raça humana. Você cria um objeto de uma classe.
Método Estático – São métodos que podem ser chamados a partir de uma classe que ainda não foi instanciada, também é conhecido como método de classe.
Parâmetros – Estão intimamente ligados aos métodos, pois eles fazem parte da “assinatura” dele e são utilizados para enviar valores aos métodos ou receber valores gerados por eles.
Bibliotecas de PDF no .NET - Overview
Quando pensamos na criação de arquivos em PDF no .NET, seja para fins de conversão ou simplesmente na geração de relatórios, surgem “N” opções.
Neste artigo será mostrado as quatro bibliotecas open source mais utilizadas para criação de arquivos PDF na plataforma .NET. As mesmas são extremamente flexíveis e cheias de funcionalidades.
São elas:
• iTextSharp (Tabela 1);
• Report .NET (Tabela 2);
• Sharp PDF (Tabela 3);
• PDFjet (Tabela 4);
Classe |
Descrição |
PDFWriter |
É a classe principal desta biblioteca, responsável por manipular os documentos em PDF. |
Rectangle |
Utilizada para definir informações referentes ao documento que será gerado, como largura e altura, nos eixos X e Y. ... |
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.