Veremos como crear un reporte PDF con ITextSharp en C# sin
el uso de tablas, esto dejara el texto lineal y abra que ir acomodándolo. Para
ello necesitamos importar la librería de ItextSharp a nuestro proyecto, podemos
descargarlo de la red o bien desde el mismo vs a partir de la versión 2010 con el
administrador de paquetes NuGet y luego agregar la referencia con using iTextSharp.text.
Primero empezamos declarando una variable de tipo document
en el cual le agregamos el tamaño de nuestro documento en este caso es tipo
carta, podemos elegir de otros tipos como A4, oficio, etc.
Document
doc = new Document(iTextSharp.text.PageSize.LETTER);
Definimos al autor y el tipo
de palabras claves al igual que los margenes
doc.AddAuthor("Gustavo
Ortiz Gamez");
doc.AddKeywords("pdf,
PdfWriter; Documento; iTextSharp");
doc.SetMargins(10.0f, 10.0f, 10.0f, 10f);
Aquí ocupamos una variable
de tipo string con la ruta y nombde del archivo
string rut = @"C:\doc.pdf";
Procedemos a crear el
documento en la ruta antes establecida
PdfWriter
wri = PdfWriter.GetInstance(doc, new FileStream(rut,
FileMode.Create));
Abrimos el documento a
ocupar
doc.Open();
Y empezamos
a escribir nuestro texto para lo cual declaramos una variable de tipo paragraph
en la cual vamos a definir el formato de nuestro texto, como alignment para
definir la justificacion, Font para el tipo y tamañao de letra, y con Add
agregamos el texto que vamos a ocupar
Paragraph paragraph = new Paragraph();
paragraph.Alignment = Element.ALIGN_RIGHT;
paragraph.Font = FontFactory.GetFont("Arial", 9);
paragraph.Add("Esto
es una prueba);
Y solo basta con agregar
esta variable paragraph a nuestro documento.
Para continuar agregando
texto es necesario ir agregando nuevos paragraph
doc.Add(paragraph);
Limpianos nuestro paragraph
por si queremos definir otro tipo de formato o tipo de letra
paragraph.Clear();
paragraph.Font = FontFactory.GetFont("Arial", 14, Font.BOLD);
paragraph.Add("Prueba PDF");
doc.Add(paragraph);
paragraph.Clear();
Para agregar saltos de linea
solo basta con agregar “\n” a nuestro documento
doc.Add(new Paragraph("\n"));
Podemos agregar imágenes a
nuestro documento con la siguiente instruccion
iTextSharp.text.Image
imgpfd = iTextSharp.text.Image.GetInstance(@"C:\images\imgprueba.jpg"); //Dirreccion a la imagen que se hace referencia
imgpfd.SetAbsolutePosition(50, 50); //Posicion en el eje carteciano de X y Y
imgpfd.ScaleAbsolute(200, 200);//Ancho y altura de la imagen
doc.Add(imgpfd); //
Agrega la imagen al documento
Una vez terminado de
escribir nuestro documento procedemos a cerrar el documento con:
doc.Close();
y con esto tendremos nuesotr
documento en la ruta que definimos al principio
Este es un pequeñop tip para
poder abrir nuestro documento desde la pagina web donde nos dara la opcion de
descargarlo
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment; filename=Nombrearchivo.pdf");
Response.ContentType = "application/pdf";
Response.TransmitFile(rut);
Response.End();
Con esto terminamos este pequeño tutorial, la
continuacion de este es como crear el reporte pero con una el uso de tablas,
que a mi me a funcionado mejor que estar escribiendo el texto plano.
Cualquier duda o comentario estoy a sus
ordenes.
Saludos cordiales!
Y como se hace para descargar el complemento...
ResponderEliminarLa puedes bajar desde esta liga http://sourceforge.net/projects/itextsharp/ o bien si estas trabajando desde Visual Studio 2010 en adelante en tu proyecto con clic derecho en administrador de paquete nuGet puedes localizarlo e instalarlo, y en automatico se agrega la referencia.
EliminarSaludos!
Buen tutorial, me ha servido de mucho. Gracias. Att. Jimmy Romero.
ResponderEliminarBien viejo, me callo buenisima la info! gracias!
ResponderEliminarWynn casino in Las Vegas - MapyRO
ResponderEliminarWynn Hotel Las Vegas Your average Wynn Hotel stay will 익산 출장마사지 cost $80 per 경상남도 출장안마 night. We 안양 출장마사지 found 757 suites and 904 hotel rooms. Wynn Rate 제천 출장샵 Promise. See 영천 출장마사지 all.