sábado, 24 de outubro de 2009

iTextSharp em Visual Basic Dot net



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!

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.