iTextSharp es una librería que permite crear y manipular archivos en PDF. Desde que me inicie en el mundo de la programación Web me vi en la necesidad de tener que crear reportes de una forma similar a como lo hacía en las aplicaciones de Windows, sin embargo no era tan sencillo, en las aplicaciones de Windows utilizaba como motor de base de datos Microsoft Access (muchos dirán que no sirve, pero a mi experiencia y lo que les enseñe a mis estudiantes durante los semestres que fui profesor de programación, no importa si usas Access, SQL o MySQL, ninguno es mejor que otro propiamente, sino que el mejor es aquel que cumpla con tus necesidades sin desperdiciar recursos o solicitando super computadoras para poder utilizar el sistema) y como reporteador utilizaba Crystal Reports.
Al pasar a las aplicaciones web, necesitaba un motor de base de datos más robusto ya que no iba a trabajar con 3 o 4 usuarios al mismo tiempo, sino que mi primer sistema iba a trabajar con al menos 40 usuarios de forma simultánea y en diferentes partes de México y aunque en un principio la base de datos de Access hubiese funcionado a la larga se iba a convertir en un cuello de botella para la aplicación, así que fue en ese momento cuando decidí cambiarme a SQL Server en aquella época iniciaban las versiones express que aun con sus limitantes era suficiente para iniciar el proyecto y migre toda la información y código para poder utilizar una base de datos SQL Server, sin embargo debido a su forma de trabajar, se me dificultaba mucho el crear reportes con Crystal reports ya que tanto el reporteador como el motor de la base de datos necesitaban acceso exclusivo a la base de datos era muy difícil poder hacer que coexistieran. Busque información en internet y como era realmente poca mi experiencia con SQL no pude hacer que funcionara correctamente. Por lo que tuve que buscar otras alternativas y en eso llego la idea que crear directamente archivos en PDF.
La búsqueda de alguna herramienta o librería para hacer este tipo de trabajo no fue fácil, busque muchas opciones, algunas más complejas que otras, hasta que di con una librería que en este momento no recuerdo su nombre, era sencilla, fácil, tan fácil como enviar las cadenas para que creara el documento, indicar cuantas celdas iba a tener la tabla y comenzar a enviar los datos, era de cierta forma justo lo que yo buscaba, pero como no todo es tan sencillo, me topé con 2 grandes problemas, el primero era que no tenía un control total sobre el documento, no podía configurar muchas de las características de los textos como negritas o cursiva entre texto normal, o que necesitaba un tratamiento especial en las imágenes para poder pegarlas al documento. En primera instancia no parecía algo tan malo, pero conforme quise avanzar en el proyecto y crear mi documento exactamente como yo lo deseaba se comenzó a complicar la situación. Por otro lado, al investigar más afondo esta librería, resulto que el proyecto tenía unos 4 meses que había sido abandonado así que no tenía sentido que continuara utilizando una librería que al cabo de 1 o 2 años, ya no iba a tener soporte o que no se iban a corregir más los errores.
Opte por buscar otras alternativas hasta que di con iTextSharp, en un principio fue muy difícil entender su funcionamiento, en primera porque toda la documentación estaba enfocada para trabajar con java, y yo utilizaba la versión para .NET.
Yo me considero a mí mismo un programador que tiene la capacidad de aprender rápidamente otro lenguaje, se programar en java, pero por mi experiencia en la plataforma .NET se me facilita más trabajar en esos lenguajes C# o VB. Decidí darle una oportunidad y como todo, en un principio me enfoque en crear un documento sencillo con la clásica frase “Hola Mundo” (Ya no utilizo esa frase, ahora utilizo “Hola Ke Hace”) y funciono, poco a poco fui entendiendo el funcionamiento de esta librería, la eh usado por varios años, eh aprendido a crear documentos muy vistosos, con gran cantidad de estilos de fuente, tipos de fuente, tamaños, imágenes y tabla de diferentes tipos.
Día a día he seguido aprendiendo ya que la utilizo en varios de mis proyectos, desde hace mucho tiempo, la eh recomendado, incluso la eh implementado en mis clases, pero más allá de eso, quise comenzar un libro acerca de esta librería, con ejemplos, sin embargo por cuestiones de tiempo no eh podido terminar, mas sin embargo en uno de los foros en que solía participar recomendé esta librería y subí las primeras parte de ese libro que yo quería terminar de escribir y recibí críticas positivas. Ahora nuevamente intentare hacer un poco más, ya no en un simple libro, sino publicando a travéz de este blog aquellos ejemplos que tenía listos y algunos que eh aprendido desde aquel entonces.
Espero que esta serie de ejemplos les sean tan útiles para ustedes, como lo fueron para mi conforme fui aprendiendo.
No hay comentarios:
Publicar un comentario