Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

[Tips] Report.NET ,Libreria para para generar PDF en ASP.NET

 

image Alguien me podrá decir que es un post viejo, que no sirve, pero la experiencia de bloggero me dice que los tips más sencillos, son los más vistos, así que me decidí a postear este tip.

Mucha gente busca una librería que le permita generar pdfs programáticamente y de manera fácil (sin utilizar Crystal Reports), bueno, es ahí cuando una vez me tope con Report.NET

Paso 1
Descárgalo!
http://sourceforge.net/project/showfiles.php?group_id=58374&package_id=83913&release_id=463074

Paso 2

Agrega la Referencia

image

Paso 3 A Mover los dedos programado( casi nada!)

El Diseño(aspx) es algo parecido a esto:

image

En seguida, en el botón agregamos el código al botón:
(acá está todo el código)

Imports Root.Reports
Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim report As New Report(New PdfFormatter())
        Dim fd As New FontDef(report, "Helvetica")
        Dim fp As FontProp = New FontPropMM(fd, 25,    Drawing.Color.Red) 
        Dim page As New Page(report)
        page.AddCB_MM(80, New RepString(fp, tx_texto.Text))
        RT.ViewPDF(report, "MiInforme.pdf")
    End Sub
End Class

Paso 5
A Probarlo!!!

image
Súper Sencillo!

Ejemplos en la página del Autor:
http://report.sourceforge.net/

Están en C# si los quieres en VB.NET te recomiendo utilizar el convertidos de Código de telerik:

Convertidor de Código Fuente
http://converter.telerik.com/

Espero que te sea de utilidad!.
Saludos,
Gonzalo

Posted: 12/6/2009 7:27 por Gonzalo Perez | con 78 comment(s)
Archivado en:
Comparte este post:

Comentarios

Javier ha opinado:

Hola,

Por si a alguien le sirve la referencia, yo he usado en algún proyecto itextsharp.

Un saludo.

# June 12, 2009 2:32 PM

Mauricio Gomez ha opinado:

Lo que dices es una gran verdad, es más, la gente que asiste a cursos oficiales o cualquier curso lo que mas preguntas son las de que llamamos "simples", que cuando uno no las sabe de simple no tienen nada.

Gran recurso, saludos!

# June 12, 2009 5:30 PM

Luis Segura ha opinado:

Excelente tip yo no habia escuchado de esta libreria y la verdad bastante facil de usar no tendras algo parecido para crear archivos de excel bonitos

# June 12, 2009 8:25 PM

Gonzalo Perez ha opinado:

Lo que dice mi partner Mauricio es Verdad, derrepente llenamos el blog de lo ùltimo de lo último, pero en el día a día, los tips que necesitamos son de tecnologás que ahora utilizamos...

saludos,

g

# June 12, 2009 9:18 PM

Eduardo ha opinado:

Que buena profe ..

lo probe y funciono al touch

buen dato sin duda

gracias

# June 21, 2009 9:01 PM

leonardo ha opinado:

que tal gente del blog quisiera saber como pasar un gridview en a pdf espero me puedan ayudar gracias

# August 13, 2009 8:08 PM

Jesica Madrigal ha opinado:

Saludos

Fijate que a mi me funciona perfectamente en mi máquina local, pero cuando lo subo al servidor de produccion (donde se va a ejecutar realmente la aplicación), me marca el siguiente error:

Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "Root.Reports.RT.resources" was correctly embedded or linked into assembly "Reports" at compile time, or that all the satellite assemblies required are loadable and fully signed.

De antemano gracias

# September 1, 2009 7:14 PM

Gonzalo Perez ha opinado:

@Jesica,

Revisaste si la DLL está en tu servidor de producción?

saludos,

g.

# September 1, 2009 7:57 PM

usuario ha opinado:

sabes en realidad intente hacer este codigo desde c# y no me funciono que lastima estuve alrededor de 2 horas y media y nada.... bue... si colocaras todoooo el codigo tal vez fuera un poco mejor es que me estoy iniciando en .net tanto el del aspx como aspx.cs gracias....

# September 18, 2009 6:11 PM

Gonzalo Perez ha opinado:

De hecho, ese es todo el código, el convertor Telerik te puede ayudar a transformar a C# el código.

Saludos,

g

# September 21, 2009 3:21 AM

Lany ha opinado:

ps a mi no me funciono, apesar de que ya hice la referencia me marca error en en tipo report

no se que este haciendo mal, ya intente copiar y pegar el codigo y no me marca errores

# September 29, 2009 8:22 PM

Gonzalo Perez ha opinado:

mi correo es c h a la l o @ h _o t_m_a_il.com, para que veamos el problema

# September 29, 2009 10:06 PM

Hernan Valdes ha opinado:

Alguien pudo corregir el siguiente error :

MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "Root.Reports.RT.resources" was correctly embedded or linked into assembly "Reports" at compile time, or that all the satellite assemblies required are loadable and fully signed.

Espero que alguien pueda ayudar.

Gracias

# November 21, 2009 3:08 AM

maria ha opinado:

hola

alquien me puede decir como generar un pdf en asp.net c#, sin la opcion de guardar, solo imprimir

gracias

# January 5, 2010 10:40 AM

Joaquin ha opinado:

Hola a todos, a mi me pasaba lo mismo, me funciona perfectamente en local, pero lo subo al servidor y no hay manera, he descubierto que en mi pc local tambien deja de funcionar si no utilizo el servidor de desarrollo de VS y utilizo el IIS. de Windows XP. En cuanto vuelvo al dedesarrollo, funciona a las 1000 maravillas, quizas sea algo de seguridad del IIS, ¿Alguien sabe como solucionarlo?

Gracias de antemano

# February 14, 2010 9:15 PM

Gonzalo Perez ha opinado:

Esta dll genera un archivo temporal, por lo que la carpeta tiene que tener permisos para poder ejecutarlo, dale todos los permisos y va a funcionar.

# February 15, 2010 2:26 AM

Joaquin ha opinado:

Muchas Gracias, me ha ido de fabula.

# February 16, 2010 4:12 PM

German Vazquez ha opinado:

Cual es la carpeta que tiene que tener permisos ?? Donde esta la DLL o donde esta el código???

Muchas gracias!

# March 3, 2010 12:07 PM

German Vazquez ha opinado:

El error que me da a mi es:  The Adobe Acrobat Reader has not been found on this system. The document cannot be displayed.

# March 3, 2010 12:08 PM

Tomas Navarro ha opinado:

Hola, estoy interesado en utilizar esta opcion, tengo un portal en sharepoint, como puedo agregar esta liberria a mi portal con sharepoint designer 2007?

gracias por la respuesta.

# March 12, 2010 11:59 PM

Cristian ha opinado:

Buenas Tardes, me gustaria saber como agregar al documento pdf el control gridview que tengo en el webform Gracias

# March 16, 2010 8:44 PM

Gonzalo Perez ha opinado:

Cristian,

Lamentablemente no es automático, tendrías que recorrer la colección con la que llenas la grilla y luego ir crear el pdf

# March 17, 2010 2:59 AM

Gabriel ha opinado:

a mi no me anda, lo e hecho con winfor+vbscript

asi:

<%@ Import Namespace="Root.Reports" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Web.UI.Page" %>

<html>

<head>

<script runat="server">

   Sub PDF(ByVal s As Object, ByVal e As EventArgs)

       Dim report As New Report(New PdfFormatter())

       Dim fd As New FontDef(report, "Helvetica")

       Dim fp As FontProp = New FontPropMM(fd, 25, Drawing.Color.Red)

       Dim page As New Page(report)

       page.AddCB_MM(80, New RepString(fp, txtBox1.Text))

       RT.ViewPDF(report, "MiInforme.pdf")

   End Sub

</script>

</head>

<body>

<form runat="server">

<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox><br />

<asp:Button OnClick="PDF" runat="server" Text="Aceptar" />

</form>

</body>

</html>

y me dice 'BC30002: El tipo 'Report' no está definido.'

tengo el report.dll en el bin y en la raiz, pero no anda, y no se como arreglar el error D:

# March 21, 2010 4:38 PM

Gonzalo Perez ha opinado:

voy a revisar el codigo, te aviso cualquier cosa (si lo solucionas antes, indicalo por aca la solucion porfa)

Saludos,

g.

# March 21, 2010 10:08 PM

Juan Pablo Puppo ha opinado:

Hola, muy bueno el articulo, pero subi el proyecto al server y no logro que funcione, no me da error simplemente no anda, le di permisos al todo el site, instale adbe reader, tambien el sdk, me faltara algo a alguien le paso lo mismo???

# March 31, 2010 11:51 PM

Gonzalo Perez ha opinado:

Hola Juan Pablo,

Recuerdo que tuvimos tantos problemas con los permisos que le dimos a la carpeta del proyecto todos los permisos tamben a la carpeta del adobe, luego fuimos quitando

# April 1, 2010 4:02 PM

Juan Pablo Puppo ha opinado:

Muchas gracias por la ayuda Gonzalo, cuando hablas de permisos, hay algun usuario en especial al que le deba dar permisos?? porque le doy permisos al user del IIS y aun asi no me funciona el reporte.

De nuevo gracias por la ayuda!!!

# April 6, 2010 12:39 AM

Gonzalo Perez ha opinado:

Juna Pablo Puppo

Mi msn es c h a la lo arroba hotmail punto com, jejej, para que podamos conversar el tema.

# April 6, 2010 3:32 PM

Juan Pablo Puppo ha opinado:

Bueno despues de muchas horas de buscar y buscar ya tengo la solucion (un compañero de trabajo la encontro), en vez de usar la funcion "RT.ViewPDF" usen "RT.ResponsePDF" y listo funciona de maravillas :D, espero que a alguien le sirba!!

# April 9, 2010 12:45 AM

Gonzalo Perez ha opinado:

Muy bueno Juan Pablo, gracias por compartir :)

# April 9, 2010 4:00 AM

Angel Millan ha opinado:

Buenos dias he logrado satisfactoriamente generar archivos pdf con este tips pero en aplicacion .net mas no en asp.net y funciona de maravilla lo que si quisiera pedirles el gran favor si se puede me den un tips de como ir dandole formato a mi pdf, por ejemplo yo extraigo todo desde una base de datos para crear mis reportes suelo utilizar crystalreport para ello pero debido a que los archivos pdf pueden ser guardados como copia para luego ser enviados por email quisiera darle el mismo formato de un crystalreport es decir ir colocando los registros en sitios especificos crear imagenes en el pdf colocar lineas en fin darle formato en si, será que esto se podra hacer con esta herramienta por que buscado las mil y un maneras con otras aplicaciones y hasta ahora lo unico que me ha ayudado es crystalrepot.

espero me puedan ayudar

saludos

# April 21, 2010 5:31 PM

Gonzalo Perez ha opinado:

Angel, en este post puedes ver como agregar imágenes a los reportes en PDF:

geeks.ms/.../tips-reports-net-insertar-im-225-genes.aspx

# April 22, 2010 12:14 AM

Rodriguito Esparza ha opinado:

Buen día, primeramente gracias por el aporte, bueno y facil la librería para el pdf.

Segundo, una pregunta, este generador solo genera los pdf con texto e imágenes definidas ?? es decir, se puede utilizar para mostrar el contenido de una página hml ?? un ejemplo, que se pueda utilizar para imprimir en pdf esta página así tal cual se ve en estos momentos..

espero haberme explicado bien y espero que exista una respuesta favorable a lo que necesito

# May 7, 2010 9:02 PM

Gonzalo Perez ha opinado:

Rodrigo,

DEntro de los métodos creo que no hay uno para copiar la pagina, y tendria que revisar si existe uno para inscrustrar HTML, me parece que no, voy a revisar, vale?

# May 8, 2010 2:51 AM

Cristian ha opinado:

actualmente estoy desarrollando una aplicacion web  tengo una dificultad cuando inserto en el reporte un texto, no he podido justificar dicho texto o aplicar un salto de linea para que no se extienda a lo ancho de la pagina, espero ser claro con mi inquietud, gracias

# June 1, 2010 5:51 PM

Carlos ha opinado:

Hola a todos, use la rutina para cuando termina de ejecutarse, me indica que error al abrir el documento, el archivo no se encuentra

# July 27, 2010 4:00 PM

Marco ha opinado:

Alguien sabe como agregar una tabla con esta librería desde visual basic o algún tutorial

# August 18, 2010 2:59 AM

Gonzalo Perez ha opinado:

Marco,

Hay que darse el trabajo(al menos con esta libería) de crear las lineas y mediantes posiciones, agregar el texto.

# August 18, 2010 4:03 AM

Daniel ha opinado:

No FUNCIONA !!! este es el código:

<%@ Page Language="vb" Debug="true" ContentType="application/pdf" %>

<%@ Import Namespace="Root.Reports" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Web.UI.Page" %>

<html>

<head>

<script runat="server" language="VB">

Partial Class _Default

       Inherits System.Web.UI.Page

       Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

           Dim report As New Report(New PdfFormatter())

           Dim fd As New FontDef(report, "Helvetica")

           Dim fp As FontProp = New FontPropMM(fd, 25, Drawing.Color.Red)

           Dim page As New Page(report)

           page.AddCB_MM(80, New RepString(fp, txtBox1.Text))

           RT.ViewPDF(report, "MiInforme.pdf")

       End Sub

   End Class

</script>

</head>

<body>

<form id="Form1" runat="server">

<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox><br />

<asp:Button ID="Button1" OnClick="Button1_Click" runat="server" Text="Aceptar" />

</form>

</body>

</html>

# August 21, 2010 5:27 PM

Gonzalo Perez ha opinado:

Daniel,

Este código no te funciona?

Saludos

# August 22, 2010 7:32 PM

Jairo Hdz ha opinado:

como puedo hacer para usar otro tipo de letra ke no sea helvetica?

# September 30, 2010 7:18 PM

Gonzalo Perez ha opinado:

Hola Jairo,

Revisa en la documentación de la libería, existen más tipografías.

# October 1, 2010 12:36 AM

Roberto ha opinado:

Bueno hice los pasos a seguir cambie el codigo que sale de C# a Vb y todo bien me sale la ventana del programa acrobar reader y me manda este mensaje...

que el archivo está dañado y no puede repararse.

y no sale nada :S si alguien le paso esto que siga porfa

# October 3, 2010 4:12 AM

Rodrigo ha opinado:

Hola a todos, alguien ha podido generar un PDF desde windows forms con C#?, a mi me marca conflictos la librería puesto que está diseñada para usarse en asp... me marca que se necesita System.web, intenté a agregándo la referencia y todo iba de maravilla, compilé y me marcó de nuevo que no se podia usar la librería por su dependencia con System.web, que considerara cambiar de "target" mi proyecto, osea, de escritorio a web... algún so-tonto de MS se le ocurrió incluir esa "sugerencia" (:@)

# October 7, 2010 5:33 PM

Rodrigo ha opinado:

Listo, por ahi leí que en verdad había que cambiar el "target", yo pensando que eso implicaba cambiar mi aplicación para que ya no fuera stand-alone sino web, en fin, solo tuve que cambiar de .net 3.5 Client a .net 3.5 (es el "full"). Espero a alguien le sirva.

(después de todo la "sugerencia" del so-tonto fué correcta lol)

# October 7, 2010 7:19 PM

Gonzalo Perez ha opinado:

Gracias por el aportazo Rodrigo!

# October 7, 2010 11:03 PM

jose ha opinado:

necesito saber en donde esactamente necesito poner la libreria para generar los archivos pdf desde asp, agradecere su ayuda, cual es la ruta en la que la debo de poner, o que hacer con todo el archivo zip. gracias

# October 18, 2010 7:29 AM

WAAM ha opinado:

Hola Buen Dia, soy desarrollador, esta dll tiene algun tipo de licenciamiento?? Saludos!!

# November 8, 2010 4:11 AM

Qu@ntum ha opinado:

La libreria como se puede observar en el sitio de donde la obtienes es libre. saludos

# November 15, 2010 8:10 PM

Qu@ntum ha opinado:

Por cierto solo comentar que funciono a la primera, teniendo como plataforma Windows 7, con Visual Studio 2010 y ASP.NET 4.0. Gracias por el aporte

# November 15, 2010 8:12 PM

Gonzalo Perez ha opinado:

Qu@ntum,

Muchas gracias por responder la preguntar de WAAM :), y gracias también por especificar que funciona con vs2010 y asp.net 4.0, yo la habìa probado para asp.net 3.5 :)

# November 16, 2010 5:49 AM

Gonzalo Perez ha opinado:

Qu@ntum,

Muchas gracias por responder la preguntar de WAAM :), y gracias también por especificar que funciona con vs2010 y asp.net 4.0, yo la habìa probado para asp.net 3.5 :)

# November 16, 2010 5:49 AM

Christian E.C. ha opinado:

Al inicio del post, en el paso 3, se pone una caja de texto, para escribir lo que se convertir a PDF. Pero, ¿Alguien sabe como se podria hacer para que en vez de esto, se adjunte la ubicación del archivo que se desea convertir a PDF de tal forma que al pulsar el botón "Generar PDF" se haga la conversión a PDF, por ejemplo de un archivo en formato *.xlsx?

# December 8, 2010 3:35 PM

Andres ha opinado:

Me sale un error

el archivo no empieza por '%pdf-'

no se hacer ..............................

# January 6, 2011 12:11 AM

Gonzalo Perez ha opinado:

Christian,

Yo creo lo apropiado sería leer el archivo , y luego a partir de lo leido, ir construyendo el pdf, linea a linea.

# January 6, 2011 1:26 PM

Andres ha opinado:

Alguien sabe como agregar mas fuentes de las 3 que bienen por defecto

Ayuda !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

# January 12, 2011 11:26 PM

Gustavo ha opinado:

Man como hago para direccionar la palabra como lo hago.?

# January 17, 2011 4:41 PM

Gonzalo Perez ha opinado:

Hola Gustavo,

no entendi  la pregunta :S

# January 17, 2011 8:24 PM

Jessica ha opinado:

Como puedo hacer para juntar varios pdf existentes en uno mismo, ya vi el ejemplo de aqui de un pdf con dos paginas, pero no logro juntar 2 o mas pdf's en uno mismo, gracias.

# January 19, 2011 12:52 AM

Gustavo ha opinado:

MEn me podrian dar mas dato del termino , o un ejemplo como utilizar el RT.ResponsePDF dejo mi correo x siaca becquer_2704@hotmail.com . Gracias

# February 3, 2011 1:53 AM

Silvia ha opinado:

Hola buenas noches, yo genere un reporte que funciono correctamente, después arreglar el diseño, se me presentó este error: "El valor no puede ser nulo.

Nombre del parámetro: stream" al momento de entrar en la linea: page.AddCB_MM(80, New RepString(fp, "PRUEBA DE ESCRITURA")) el valor que me marca como null es rSizePoint, ya probe nuevamente con el código de origen pero sigue igual, espero alguien tenga una solucion

# February 10, 2011 2:34 AM

senior x ha opinado:

muy bueno, pero yo quisiera convertir un documento multimedial a pdf. no se si alguien me pueda ayudar en decirme si hay alguna libreria para eso

# February 12, 2011 12:17 AM

Gustavo ha opinado:

Saludos a todos ... alguien me puede decir -- como.. junto 2 pdfs.. xk kiero emitir todo la tabla de mi bd pero no alcanzaron en una hoja ... me falta mitad.. x eso me gustaria saber como hago para obtener 2 hojas.. Gracias

# February 13, 2011 2:05 AM

Gustavo ha opinado:

Saludos a todos ... alguien me puede decir -- como.. junto 2 pdfs.. xk kiero emitir todo la tabla de mi bd pero no alcanzaron en una hoja ... me falta mitad.. x eso me gustaria saber como hago para obtener 2 hojas.. Gracias

# February 13, 2011 2:06 AM

Gonzalo Perez ha opinado:

Hola Gustavo, revisa la documentaci´n, está el codigo para generar un salto de linea y asi poder utilizar dos hojas.

# February 14, 2011 2:08 AM

ALberto ha opinado:

Como puedo crear documentos pdf sin los permisos de impresion y exportacion?

Gracias!

# February 22, 2011 4:50 PM

Rodolfo ha opinado:

Hola como puedo agregarle imagenes

# February 23, 2011 11:33 PM

Gonzalo Perez ha opinado:

# February 24, 2011 12:34 PM

Luz Carolina ha opinado:

Alguien sabe si es posible con esta libreria convertir una hoja de excel a pdf? la hoja de excel tiene de todo , imagenes,cuadros,escritura.

# March 14, 2011 1:51 PM

JoTa ha opinado:

Buenas, estoy de hace días buscando algun codigo o libreria que me permita manejar archivos pdf y llegue acá ^^. Actualmente trabajando con fram 3.5, LINQ, SQL S. 2005 y almaceno el pdf en la base de datos como imagen. Lo que hago en el poryecto es mostar con una grid los campos de la tabla donde esta la imagen,menos la imagen, obtengo el ID del registro seleccionado y con este extraigo el campo imagen en cuestion.El punto es que no he logrado dar con algo que me "transforme" el binario obtenido a su pdf original. Ojalá se entienda la idea y me puedan dar alguna orientación. Gracias    

# March 23, 2011 6:23 PM

Gonzalo Perez ha opinado:

Hola, no te funciona dejarlo como "descargar" y un link al campo? , como esta el código?

# March 24, 2011 1:43 PM

JoTa ha opinado:

Perdon por lo anterior, pero ya solucione el asunto..xD, me faltaba un

Response.ContentType = "application/pdf"

eso era todo, que terrible. Gracias de todas maneras!

# March 24, 2011 10:18 PM

Ricardo ha opinado:

Como le hago para darle la orientación del papel en horizontal?

# August 24, 2011 8:38 PM

mespinosa ha opinado:

Hola Gonzalo, esta excelente la rutina, muchas gracias por el aporte. Pero tengo un pequeño problema con ella, en modo de diseño corre a la perfección, pero al montarla en el IIS 6 simplemente no hace nada. Creo que es un problema de permisos con la DLL. ¿Alguien tendra alguna idea de como corregirlo?

De antemano muchas gracias!!!

# October 21, 2011 4:57 PM

Gonzalo Perez ha opinado:

mespinosa,

El problema es de permisos, tenía por algun lado un tutorial de eso, para ser sincero, la primera vez le di permisos a todo el mundo, con el riego de seguridad que esto trae, luego fui quitando.

Saludos,

# October 27, 2011 4:55 PM

S0LID ha opinado:

Se puede mostrar el pdf en horizontal con está librería?

# December 6, 2011 5:13 PM

dmon666 ha opinado:

el dll es perfecto pero aun tiene algunas falencias por ejemplo no tiene para justificar texto mas o menos similar a word ya que en pdf esto queda un poco feo visualmente hablando ademas las fuentes que tiene son muy pocas seria bueno encontrar una forma de agregar fuentes ttf para tener mayores posibilidades respeccto a esto

yo actualmente stoy trabajando en eso pero si me pueden dar una mano seria de gran ayuda gracias

# January 19, 2012 7:17 PM

soldiermxdeath ha opinado:

Necesito configurar el tamaño de hoja que se genera con esta librerìa, para pasarlo a tamaño carta o el que yo desee ¿Hay alguna manera de hacerlo?

Saludos.

# April 16, 2012 11:15 PM