Recentemente utilizei um componente gratuito em Visual Basic Dot Net que me pareceu digno de ser dado a conhecer. Trata-se do iTextSharp. Esta simples biblioteca permite muito mais do que o nome sugere. Além de permitir gerar ficheiros Portable Document Format a partir de programas feitos em Visual Basic Dot Net.
Existem bons exemplos feitos em C#, e alguns em VB, mas são muito poucos. Gerar PDF’s a partir de VB sem recurso a ferramentas proprietárias não é complicado, desde que se conheçam os componentes correctos e se lhes dê uso.
O código que abaixo apresento gera um documento pdf e foi colocado num botão, para simplificar as coisas. Existem formas de fazer Reports, assinar digitalmente documentos, cifrar documentos, entre outras coisas com o iTextSharp. Eu apenas me concentrei em fazer um exemplo o mais simples possível. O limite é virtualmente a imaginação do programador.
Inicialmente indico ao VB que vou precisar dos seguintes componentes:
Nem todos os programadores escrevem bem Português! Mas isso não faz deles menores.
Agora num botão normal coloco o código que vai gerar o ficheiro .pdf em c:\ , o documento é formatado em A4, com margens, e apenas inclui alguns parágrafos e pedaços de código não formatados. Penso que para iniciar será melhor assim.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Cria uma class de objectos Documento e define o formato de página (A4), a margem esquerda, direita, superior e inferior
Dim doc As New Document(iTextSharp.text.PageSize.A4, 10, 10, 42, 35)
Try
Dim wri As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("c:\PAP.pdf", FileMode.Create))
'Abre o documento para Escrita
doc.Open()
'Escreve algum conteudo no documento
Dim paragraph As New Paragraph("Esta é a Primeira linha do primeiro paragrafo deste exemplo.")
Dim pharse As New Phrase("Esta é a segunda linha usando uma fraze.")
Dim chunk As New Chunk(" Esta é a terceira linha usando um Chunk (pedaço desformatado).")
Dim blankline As New Paragraph(" ")
' Agora adiciona o texto criado acima utilizadno diferentes objectos de class para o documento pdf
doc.Add(paragraph)
doc.Add(pharse)
doc.Add(chunk)
doc.Add(blankline)
Catch dex As DocumentException
'Trata das excepções de Documento
Catch ioex As IOException
'Trada das excepções de input/output
Catch ex As Exception
'trata das restantes excepções
Finally
'fecha o documento
doc.Close()
End Try
End Sub
End Class
Acima deixo um exemplo basico de algo que eu pesquisei e não encontrei, dedicado a quem precisar e agora encontre. Porque partilhar Código e Know-How é mais do que uma simples "politica", é disponibilizar aos outros o que gostariamos que nos disponibilizassem a nós!
Se por algum acaso achares este How-To inutil, diz! Manda um mail! Diz o quão inutil ele é! Pois para um "Blog Estipido (Yet Another Stupid Blog)" é mesmo disto que ele precisa!