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!

domingo, 18 de outubro de 2009

3DES VB Dot NET

Hoje escrevo um pedaço de codigo (duas funções) para utilização de Triple DES em VB Dot NET, pois passei algumas horas na net em busca de um exemplo de como fazer isto e não encontrei nada! :(

Espero que isto seja util para alguém ;) Afinal de contas TripleDES ainda é das formas seguras de guardar dados ;)

Dedicado a uma Anjo Tigre que me serviu de inspiração! 88 teclas, 9 anos, 7 dias e muita paciencia... para me servir de inspiração ainda nos dias que correm!