VB.NET - Gerando arquivos PDF
Se você estava precisando gerar arquivos PDF usando o VB.NET e não queria comprar componentes de terceiros para completar esta tarefa, hoje você ganhou o dia.
Este artigo mostra como você pode gerar arquivos PDF usando uma biblioteca que pode ser usada sob a LGPL license.
Para poder gerar arquivos PDF você vai precisar fazer o download da biblioteca Reports.dll que se encontra no seguinte endereço:: http://sourceforge.net/projects/report
Esta biblioteca esta sob a licença LGPL, e, isto significa que ela é livre e que pode ser utilizada juntamente com softwares comerciais.
Uma definição para LGPL pode ser assim resumida:
Criada em 1999
como 'Library GPL', esta licença é basicamente a
GNU GPL com apenas uma diferença: softwares proprietários podem utilizar
bibliotecas sob esta licença. Isso serve para que a biblioteca cresça na
comunidade, aumentando suas chances de derrubar algum eventual rival
proprietário.
Atenção para um detalhe: softwares proprietários podem rodar com ajuda destas bibliotecas, mas qualquer um que queira criar uma biblioteca embutindo código de uma sob a GNU LGPL encontrará as mesmas obrigações sociais que são impostas pela GNU GPL. Aconselha-se o uso desta licença em bibliotecas, mas apenas naquelas que têm um rival proprietário. Se sua biblioteca é única e você a disponibiliza sob a GNU GPL diretamente, funcionará como uma vantagem exclusiva dos desenvolvedores de software livre. Conselho do Stallman. Library GPL.
Esta é variação da licença GPL que permite o desenvolvimento de programas de
código aberto que contenham módulos proprietários. |
Voltando ao nosso assunto, após efetuar o download da biblioteca Reports.dll , copie o arquivo para uma pasta definida. Pode ser a pasta c:\Windows\System32. (Junto com o download vem a documentação e exemplos em C#, VB.NET e ASP.NET)
Os exemplos a seguir foram adaptados dos exemplos que vem junto com o download da biblioteca.
Inicie um novo projeto no Visual Studio .NET 2003 (1.1) do tipo Windows Application usando a linguagem VB.NET dando ao mesmo o nome de geraPDF.
Agora vamos incluir uma referência a biblioteca Reports.dll; para isto clique com o botão direito do mouse sobre o nome do projeto(não da solução) e selecione a opção Add Reference. A seguir, estando na guia .NET, clique no botão Browse e selecione o arquivo Reports.dll que você baixou e copiou para sua máquina. A seguir clique em Select e em OK.
Voltando ao projeto podemos agora declarar a seguinte linha de imports para a referência a DLL : Imports Root.Reports
No formulário principal inclua dois botões de comando conforme a figura abaixo:
Nota: Na janela Solution Explorer você pode ver as referências usadas no projeto.
Vamos agora executar duas tarefas básicas:
1- Gerar um arquivo PDF e visualizá-lo no VB.NET (Você vai precisar ter o ACROBAT instalado)
2- Gerar um arquivo PDF, visualizá-lo e salvá-lo na pasta bin do projeto.
1 - Gerando e visualizando um arquivo PDF
No evento Click do primeiro botão de comando inclua o seguinte código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fp As FontProp = New FontPropMM(fd, 10)
page.AddCB_MM(60, New RepString(fp, "Olá, Mundo PDF ! ")) page.AddCB_MM(120, New RepString(fp, "www.macoratti.net "))
RT.ViewPDF(report, "OlaMundo.pdf") End Sub |
Este código faz exatamente o que os comentários explicam. Geram uma arquivo PDF e o exibe.
2 - Gerando, visualizando e salvando um arquivo PDF
No evento Click do primeiro botão de comando inclua o seguinte código:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim FontProp As New FontPropMM(FontDef, 8)
PDFPage.AddCB_MM(60, New RepString(FontProp, "Gerando PDF")) PDFPage.AddCB_MM(80, New RepString(FontProp, "Visual Basic.NET")) PDFPage.AddCB_MM(100, New RepString(FontProp, "www.macoratti.net"))
RT.ViewPDF(relatorioPDF, "OlaMundo.pdf")
relatorioPDF.Save("arquivo.pdf") MsgBox("Arquivo PDF salvo com sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox(ex.Message) End Try End Sub |
Ao executar o projeto o resultado obtido pelo código do segundo botão é o seguinte:
Não vou entrar em mais detalhes pois você tem a documentação e exemplos disponíveis ao fazer o download da biblioteca. Apenas lembrando é free.(não quer dizer que é grátis)
Estou disponibilizando um link para você pegar apenas a biblioteca Reports.dll , mas eu sugiro que você faça o download do site original.
Pegue a biblioteca(Reports.dll) aqui : ReportsDLL.zip
Até o próximo artigo VB.NET ...
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#