Sunteți pe pagina 1din 8

17/12/13 Reportes con ITextSharp en Visual Basic

https://foro.undersecurity.net/read.php?68,8278,10737 1/8
Reportes con ITextSharp en Visual Basic
Posted by elsr.doo
[1]

Hola a todos,
Un pequeo tip's para quienes quieran hacer un reporte en PDF desde .NET, usando ITxsharp
que es una libreria gratis (http://sourceforge.net/projects/itextsharp
[2]
)
Ante todo yo estoy usando Microsoft Visual Basic 2010 Express, pero para tambien los que
programan en SharpDevelos funciona de igual menra.
1.
Agregerar la referencia del dll previamente descargado.
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 2/8
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 3/8
2.
Importar desde el codigo para que se pueda crear el documento PDF y ademas agregar
imagenes y tablas.
Imports iTextSharp
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.Image
Imports System.IO
3. Crear un documento con texto
Dim Documento As New Document 'Declaracion del documento
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 4/8
Dim parrafo As New Paragraph ' Declaracion de un parrafo
pdf.PdfWriter.GetInstance(Documento, New FileStream("Demo.pdf", FileMode.Create)) 'Crea el archivo "DEMO.PDF
Documento.Open() 'Abre documento para su escritura
parrafo.Alignment = Element.ALIGN_CENTER 'Alinea el parrafo para que sea centrado o justificado
parrafo.Font = FontFactory.GetFont("Arial", 10, ALIGN_CENTER) 'Asigan fuente
parrafo.Add("DEMO EXPLICATIVO") 'Texto que se insertara
Documento.Add(parrafo) 'Agrega el parrafo al documento
parrafo.Clear() 'Limpia el parrafo para que despues pueda ser utilizado nuevamente
Documento.Close() 'Cierra el documento
System.Diagnostics.Process.Start("Demo.pdf") 'Abre el archivo DEMO.PDF
4. Ahora le agregamos una imagen
Dim imagendemo As ItextSharp.text.Image 'Declaracion de una imagen
imagendemo = ItextSharp.text.Image.GetInstance("imagendemo.jpg") 'Dirreccion a la imagen que se hace referencia
imagendemo.SetAbsolutePosition(50, 550) 'Posicion en el eje cartesiano
imagendemo.ScaleAbsoluteWidth(200) 'Ancho de la imagen
imagendemo.ScaleAbsoluteHeight(165) 'Altura de la imagen
Documento.Add(imagendemo) ' Agrega la imagen al documento
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 5/8
5.Ahora agregaremos tablas
Dim tablademo As New PdfPTable(4) 'declara la tabla con 4 columnas
tablademo.SetWidthPercentage({70, 330, 50, 100}, PageSize.A4) 'Ajusta el tamao de cada columna
tablademo.AddCell(New Paragraph("Columna 1", FontFactory.GetFont("Arial", 5))) 'Agrega COLUMNA1 con fuente ARIAL tamao 5
tablademo.AddCell(New Paragraph("Columna 2", FontFactory.GetFont("Arial", 8))) 'Agrega COLUMNA1 con fuente ARIAL tamao 8
tablademo.AddCell(New Paragraph("Columna 3", FontFactory.GetFont("Arial", 10))) 'Agrega COLUMNA1 con fuente ARIAL tamao 10
tablademo.AddCell(New Paragraph("Columna 4", FontFactory.GetFont("Arial", 12))) 'Agrega COLUMNA1 con fuente ARIAL tamao 12
Documento.Add(tablademo) ' Agrega la tabla al documento
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 6/8
Codigo entero...
Imports iTextSharp
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.Image
Imports System.IO
Public Class Demo
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Documento As New Document 'Declaracion del documento
Dim parrafo As New Paragraph ' Declaracion de un parrafo
Dim imagendemo As ItextSharp.text.Image 'Declaracion de una imagen
Dim tablademo As New PdfPTable(4) 'declara la tabla con 4 Columnas
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 7/8
pdf.PdfWriter.GetInstance(Documento, New FileStream("Demo.pdf", FileMode.Create)) 'Crea el archivo "DEMO.PDF"
Documento.Open() 'Abre documento para su escritura
parrafo.Alignment = Element.ALIGN_CENTER 'Alinea el parrafo para que sea centrado o justificado
parrafo.Font = FontFactory.GetFont("Arial", 10, ALIGN_CENTER) 'Asigan fuente
parrafo.Add("DEMO EXPLICATIVO") 'Texto que se insertara
Documento.Add(parrafo) 'Agrega el parrafo al documento
parrafo.Clear() 'Limpia el parrafo para que despues pueda ser utilizado nuevamente
Documento.Add(New Paragraph(" ")) 'Salto de linea
imagendemo = ItextSharp.text.Image.GetInstance("imagendemo.jpg") 'Dirreccion a la imagen que se hace referencia
imagendemo.SetAbsolutePosition(50, 550) 'Posicion en el eje cartesiano
imagendemo.ScaleAbsoluteWidth(200) 'Ancho de la imagen
imagendemo.ScaleAbsoluteHeight(165) 'Altura de la imagen
Documento.Add(imagendemo) ' Agrega la imagen al documento
Documento.Add(New Paragraph(" ")) 'Salto de linea
tablademo.SetWidthPercentage({70, 330, 50, 100}, PageSize.A4) 'Ajusta el tamao de cada columna
tablademo.AddCell(New Paragraph("Columna 1", FontFactory.GetFont("Arial", 5))) 'Agrega COLUMNA1 con fuente ARIAL tamao 5
tablademo.AddCell(New Paragraph("Columna 2", FontFactory.GetFont("Arial", 8))) 'Agrega COLUMNA1 con fuente ARIAL tamao 8
tablademo.AddCell(New Paragraph("Columna 3", FontFactory.GetFont("Arial", 10))) 'Agrega COLUMNA1 con fuente ARIAL tamao 10
tablademo.AddCell(New Paragraph("Columna 4", FontFactory.GetFont("Arial", 12))) 'Agrega COLUMNA1 con fuente ARIAL tamao 12
Documento.Add(tablademo) 'Agrega la tabla al documento
Documento.Close() 'Cierra el documento
System.Diagnostics.Process.Start("Demo.pdf") 'Abre el archivo DEMO.PDF
End Sub
17/12/13 Reportes con ITextSharp en Visual Basic
https://foro.undersecurity.net/read.php?68,8278,10737 8/8
1. https://foro.undersecurity.net/profile.php?68,545
2. http://sourceforge.net/projects/itextsharp
End Class
Bueno con esa info ya pueden generar buenos reportes solo acostumbrase a la sintaxis y les
recomiendo dos libros iText in Action - 2nd Edition,Bruno Lowagie y iText in Action: Creating
and Manipulating PDF, Bruno Lowagie. Estos dan ejemplos en JAVA igualmente siguen siendo
recomendados.
Edited 1 time(s). Last edit at 11/18/2010 03:35PM by elsr.doo.

S-ar putea să vă placă și