Cómo convertir un texto plano (sin formato) a fichero PDF usando la DLL gratuita iTextSharp y el lenguaje de programación Microsoft Visual Basic .Net 2010. Publicamos una aplicación completa de ejemplo con el código fuente en VB.Net: AjpdSoft Convertir Texto a PDF.

Videotutorial AjpdSoft Convertir Texto a PDF

A continuación mostramos un videotutorial de la aplicación open source AjpdSoft Convertir Texto a PDF en funcionamiento:

Descarga del componente gratuito iTextSharp

Para desarrollar una aplicación que convierta texto en PDF (portable document format ó formato de documento portátil) usaremos la librería iTextSharp, por lo tanto necesitaremos descargar el fichero de esta librería dll. Accederemos a la URL: http://sourceforge.net/projects/itextsharp.

Descargaremos la versión más reciente de iTextSharp (iText#), en nuestro caso: iTextSharp 5.2.1. Se descargará el fichero itextsharp-all-5.2.1.zip, lo descomprimiremos. Este fichero contiene, a su vez, los siguientes ficheros comprimidos:

  • itextsharp-dll-cores-5.2.1.zip
  • itextsharp-dll-xtra-5.2.1.zip
  • itextsharp-src-core-5.2.1.zip
  • itextsharp-src-xtra-5.2.1.zip

iTextSharp está desarrollado en Microsoft Visual C# y, además, la descarga anterior incluye el código fuente completo (itextsharp-src-core-5.2.1.zip). En nuestro caso usaremos la DLL ya compilada de iTextSharp por lo que descomprimiremos el fichero «itextsharp-dll-cores-5.2.1.zip» que contiene el fichero itextsharp.dll, este será el fichero necesario para trabajar con ficheros PDF usando Visual Basic .Net (VB.Net) o Visual C#. Copiaremos este fichero a la carpeta que queramos (por ejemplo la raíz de nuestros proyectos). Más adelante deberemos seleccionarlo desde nuestro proyecto VB.Net:

Descarga del componente gratuito iTextSharp

Instalación de Microsoft Visual Studio .Net

Para desarrollar la aplicación que nos permita convertir texto a PDF, usaremos el lenguaje de programación Microsoft Visual Basic .Net 2010, perteneciente a la suite de desarrollo Microsoft Visual Studio .Net. En el siguiente tutorial explicamos cómo instalar esta suite de desarrollo:

Convertir texto a PDF con VB.Net y iTextSharp

A continuación explicaremos cómo crear un proyecto o solución en Visual Basic .Net para convertir texto a PDF. Para ello abriremos Visual Basic .Net, pulsaremos en el menú «Archivo» – «Nuevo proyecto»:

Convertir texto a PDF con VB.Net y iTextSharp

Seleccionaremos en la parte izquierda «Visual Basic» – «Windows», en la parte derecha seleccionaremos «Aplicación de Windows Forms» e introduciremos el nombre del proyecto, por ejemplo «AjpdSoftConvertirTextoPDF»:

Convertir texto a PDF con VB.Net y iTextSharp

Agregaremos la referencia a iTextSharp (iText#), para ello pulsaremos en el menú «Proyecto» – «Agregar referencia»:

Convertir texto a PDF con VB.Net y iTextSharp

Pulsaremos en la pestaña «Examinar» y seleccionaremos el fichero «itextsharp.dll» descargado anteriormente:

Convertir texto a PDF con VB.Net y iTextSharp

Añadiremos los «imports» al proyecto, para ello pulsaremos en el menú «Ver» – «Código»:

Convertir texto a PDF con VB.Net y iTextSharp

Al principio agregaremos el siguiente código:

Convertir texto a PDF con VB.Net y iTextSharp

Imports iTextSharp
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO

Añadiremos los siguientes componentes al formulario principal de nuestra aplicación para convertir texto a PDF:

  • TextBox: con la propiedad «Multiline» a True, con nombre (name): txtTexto.
  • Button: cuatro botones para «Abrir fichero», «Limpiar texto», seleccionar fichero PDF, «Generar PDF».
  • TextBox: para los metadatos título, asunto, palabras clave, autor y para el fichero destino PDF.
  • OpenFileDialog: para selección de fichero de texto plano a abrir y convertir a PDF.
  • SaveFileDialog: para seleccionar fichero destino de conversión de texto a PDF.
Convertir texto a PDF con VB.Net y iTextSharp

A continuación mostramos el código fuente VB.Net de cada botón:

  • Botón «Abrir fichero«:
  Private Sub btAbrirFicheroTexto_Click(sender As System.Object,
                 e As System.EventArgs) Handles btAbrirFicheroTexto.Click
        dlAbrir.CheckFileExists = True
        dlAbrir.CheckPathExists = True
        dlAbrir.Multiselect = False
        dlAbrir.DefaultExt = "txt"
        dlAbrir.FileName = ""
        dlAbrir.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
        dlAbrir.Title = "Abrir fichero de texto para convertir a PDF"
        If dlAbrir.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim objFichero As New  _
                System.IO.StreamReader(dlAbrir.FileName, System.Text.Encoding.Default)
            txtTexto.Text = objFichero.ReadToEnd
  End If