Este primer ejemplo mostraremos como crear un nuevo documento PDF, con el mensaje “Hola Mundo”. Primeramente necesitará crear un nuevo proyecto siga las instrucciones del capitulo 2 para crear un nuevo proyecto.
Con el proyecto y el primer formulario creado (este se crea automaticamente al iniciar un nuevo proyecto) vamos a comenzar a trabajar en nuestro primer archivo PDF. Antes de escribir cualquier línea de código es necesario agregar la referencia al proyecto (vea el capitulo 2 en la sección agregando la referencia al proyecto).
Una vez agregada la referencia a nuestro proyecto debemos importar cuatro espacios de nombres los cuales vamos a utilizar para generar los archivos PDF, en caso de que no los importemos, entonces las variables y las declaraciones en el código, el depurador los va a considerar como error y no podremos ni siquiera ejecutar nuestra aplicación. Los espacios de nombre que vamos a agregar van antes de toda declaración arriba del Public Class
Imports System
Imports System.IO
Estos dos espacios de nombre nos permiten escribir un documento en el disco duro, ya sea en la carpeta de instalación del programa o de nuestro servidor Web. Debido a que es necesario escribir en el disco duro, es importante tener una carpeta habilitada con permisos de escritura. Estos espacios de nombre no son de la librería iTextSharp sino del propio lenguaje y pueden ser utilizados siempre que necesitemos escribir algún archivo con nuestra aplicación.
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Los espacios de nombre de iTextSharp, son los encargados de generar el documento PDF, permitir agregar contenido al documento y agregar las propiedades del mismo, tales como las fuentes, colores, imágenes, tablas y demás contenido.
Una vez agregados los espacios de nombre antes mencionados, el documento debería verse de la siguiente manera. (El nombre de la Clase puede ser diferente).
Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Public Class Form1
End Class
Ya tenemos todo lo necesario para comenzar a crear documentos PDF desde visual basic .Net, los pasos que hemos realizado hasta este momento, (agregar la referencia al proyecto, y agregar los espacios de nombre al formulario que vamos a utilizar para generar el PDF, va a ser siempre de la misma manera, independientemente si vamos a generar un documento sencillo o muy elaborado).
Ahora vamos a crear la intefaz grafica, para este ejemplo vamos a crear una interfaz similar a la que podemos ver en la Imagen 8, como puede ver esta imagen solo contiene un botón de comando (command button), este boton se encargara de crear el archivo PDF.
Para agregar código al botón de comando vamos a dar doble clic sobre el botón de comando, y nos abrirá la pantalla de código del formulario. El codigo para crear los documentos se componen de varias partes, este por ser el primer ejemplo lo vamos a explicar a detalle, ya que este es el codigo base para generar los documentos PDF.
Primeramente tenemos que crear una variable tipo Document que va a ser el nuestra variable sobre la cual vamos a agregar el contenido (texto, imagenes, tablas) a nuestro archivo PDF. Para facilitar la comprension esta variable será nuestro archivo PDF, sobre esta variable trabajaremos siempre que ocupemos modificar las propiedades y caracteristicas de nuestro documento PDF.
Dim Doc As Document = New Document
Posteriormente tenemos que crear una variable que sera la que nos permitirá escribir en nuestro documento (la variable que declaramos arriba), para esto se hace uso del espacio de nombres de iTextSharp.text.pdf.PdfWrier
Dim WRITER As iTextSharp.text.pdf.PdfWriter
Una vez creadas las primeras dos variables hay que asignarle el valor a la variable WRITER como un PdfWriter.GetInstance, le vamos a indicar cual va a ser documento sobre el que se va a generar el archivo PDF (En este ejemplo la variable Doc) y el FileStream que es la ubicación donde se guardará archivo en nuestro disco duro.
El FileStream se encarga de guardar el documento en el disco duro, este se compone de dos parámetros, el primero es el nombre del archivo el cual debe contener la dirección completa de la ubicacion donde se va a guardar el archivo, el nombre del archivo y la extension .pdf (ej. C:\Mis archivos\Mi archivo.pdf). Como segundo parametro la funcion del FileStream en este caso como vamos a escribir en el disco duro debemos de poner FileMode.Create que es el que nos permite crear un nuevo documento. Como nota importante, el nombre que se le va a poner al archivo PDF, es un String Por lo que se pueden utilizar variables para asignar el nombre u obtenerlo de algun textbox.
WRITER = PdfWriter.GetInstance(Doc, New FileStream("C:\Isharp\File" & ".pdf", FileMode.Create))
Procederemos a abrir el documento para agregarle el contenido (texto e imágenes).
Doc.Open()
Una vez abierto el documento, utilizaremos la funcion Add que nos sirve para agregar contenido a nuestro documento, cualquier cosa que se agregue con esta función sera visible en el documento PDF. iTextSharp no permite agregar texto de manera libre, el texto debe ser agregado como un chunk (Pieza), Phrase (Frase) ó como un Paragraph (Parrafo), estos terminos se aclararan un poco mas adelante, por lo pronto utilizaremos un Paragraph para agregar la frase “Hola Mundo”.
Doc.Add(New Paragraph("Hola Mundo"))
Una vez agregado todo el contenido al documento, es necesario cerrar el documento. Ya que de otra forma el documento seguira siendo utilizado por el proceso (nuestro programa) y no podremos abrir el documento PDF desde el explorador de archivos o del programa en visual basic .Net
Doc.Close()
Una vez escrito el código, hacemos clic en el botón iniciar depuración (
) para asegurarnos que nuestro programa funciona correctamente y que nos genera un documento PDF con el texto “Hola Mundo”.
Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Doc As Document = New Document
Dim WRITER As iTextSharp.text.pdf.PdfWriter
WRITER = PdfWriter.GetInstance(Doc, New FileStream("C:\File" & ".pdf", FileMode.Create))
Dim OC As New Phrase
Doc.Open()
Doc.Add(New Paragraph("Hola Mundo"))
Doc.Close()
End Sub
End Class
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Doc As Document = New Document
Dim WRITER As iTextSharp.text.pdf.PdfWriter
WRITER = PdfWriter.GetInstance(Doc, New FileStream("C:\File" & ".pdf", FileMode.Create))
Dim OC As New Phrase
Doc.Open()
Doc.Add(New Paragraph("Hola Mundo"))
Doc.Close()
End Sub
Si esta trabajando en una aplicación web y tiene, tiene problemas con el codigo, debe asegurarse que el archivo del codigo y del diseño esten en archivos independientes. iTextSharp no funciona en Webforms donde el diseño y el codigo estan en un mismo archivo a menos que utilice una Clase.
No hay comentarios:
Publicar un comentario