Foros del Web » Programando para Internet » ASP Clásico »

generar pdf desde asp

Estas en el tema de generar pdf desde asp en el foro de ASP Clásico en Foros del Web. Juas! ojalá. En verdad que no utilizé el multicell... pero en cuanto esté un poco mas liberada de cuestiones lo miro a ver qué le ...

  #121 (permalink)  
Antiguo 28/06/2005, 11:13
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Juas! ojalá.
En verdad que no utilizé el multicell... pero en cuanto esté un poco mas liberada de cuestiones lo miro a ver qué le encuentro.
Solo denme un tiempo que estoy por postear una de esas preguntas existenciales que suelo tener!
Un saludo grandote, veo en serio qué es lo que se puede hacer con eso.... pero realmente no tengo mucha idea aún de lo que estás necesitando.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #122 (permalink)  
Antiguo 28/06/2005, 11:26
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
me parece q el multicell al usarlo te da obligatoriamente un salto de linea, eso es lo q quiero evitar al usarlo, ya q quiero mostrar datos en una tabla, y si el texto es demasiado largo se descuadraria, x eso uso el multicell, para q eude dentro de la celda, pero todo lo q ponga luego del multicell será en una nueva línea. El problema tambien es q cada multicell tendría una altura variable dependendiendo de cuantas lineas tenga la celda, eso será un problema para dibujar las lineas a la tabla.
__________________
Tarecito
  #123 (permalink)  
Antiguo 28/06/2005, 11:48
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Entonces, lo que te puedo recomendar es que veas el post referente a renglonado de detalles de una consulta.
Hay en la librería una función que recibe como parámetros la cadena de texto y el largo del renglón, y simplemente te genera renglones dentro de una celda de la tabla.
Fijate que eso te va a servir.
si el multicell es como el cell común, cuando colocas uno nuevo es lo mismo que colocar un ln(), por lo menos eso es lo que deduzco. No trabajé con multicell así que son solo deducciones... pero creo que con el renglonado se solucionaría tu tema.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #124 (permalink)  
Antiguo 28/06/2005, 12:00
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
ok, voy a revisar lo del renglonado, gracias Verinchi. Crees q podrias postearte como usas tu eso del renglonado en pdf x favor??
__________________
Tarecito
  #125 (permalink)  
Antiguo 28/06/2005, 12:00
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Verinchi para moderadora de ASP-FPDF ya!!!! :hola:
  #126 (permalink)  
Antiguo 30/06/2005, 09:42
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
se me descuadra :'(

holas, probé con el código de Verinchi pero se me descuadra y queda asi:



la única celda q se puede descuadrar x el tamaño es la de Observaciones, xq las otras están con el tamaño exacto, no tendrán datos más largos q el tamaño de las celdas. Cómo podría hacer para q las lineas de abajo de las demás celdas me salgan a la altura de la celda Observaciones????
__________________
Tarecito
  #127 (permalink)  
Antiguo 30/06/2005, 09:56
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Hola tarecito!
La solución que se me ocurre es rápida pero un tanto precaria.
La idea sería crear una función en asp que cuente en base al campo de la tabla "observaciones" y el tamaño de la selda donde se imprimirá, la cantidad de renglones que tendrá. Es basicamente la rutina para renglonar, pero debe ser una función que te devuelva el número de líneas que se obtendrán en el renglonado.
Con esto, realizado antes de comenzar a imprimir cada línea, tendrás que para cada celda a imprimir vas a saber cuantos saltos de línea rellenos de espacio deberías colocar para que todas las filas te queden del mismo alto.
Por si no me explico.
tomas el rs.observaciones
luego
saltos=cuenta(rs.observaciones)
luego, si saltos es mayor a 1 imprimís el contenido, y mediante un bucle vas insertando los saltos de línea vacíos para que reserve el espacio.
Espero que te sirva. Como idea inicial no me parece demasiado descolocada, aunque sé que tal vez no sea lo mas óptimo....
Tal vez algun experto podría darte un mejor consejo!
Suerte!!!! Espero que te salga!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #128 (permalink)  
Antiguo 30/06/2005, 11:19
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
hola Verinchi, hice algo parecido a lo q me dijiste, pero usando el MiltiCell, simplemente conte la longitud del campo Observaciones y saque la cantidad de lineas de ese campo, luego le quite las lineas de abajo de los demás campos y con un gety() dibuje una linea horizontal luego del MultiCell y asunto arreglado :)
__________________
Tarecito
  #129 (permalink)  
Antiguo 30/06/2005, 11:24
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Felicitaciones!

Ok Congratulations!!!!
Estaría bueno que postearas el código a ver cómo te quedó. Puede servirle a alguien mas!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #130 (permalink)  
Antiguo 30/06/2005, 11:36
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
si, tienes razón. El código es asi:

.
.
.
sql = "tu consulta"
set rs = conexion.Execute(sql)
If Not(rs.EOF) then
rs.MoveFirst
Do While Not(rs.EOF)
longi = (len(rs("obs_desp")) \ 26 ) + 1
d1=Cstr(rs("fecha_desp"))
d2=Trim(rs("hora_desp"))
d3=rs("origen")
d4=rs("destino")
d5=rs("des_despacho")
d6=rs("obs_desp")
'pdf.TablaColoreadaData d1,d2,d3,d4,d5,d6
' la idea es poner todo lo q está debajo de este comentario dentro de la funcion
' TablaColoreadaData ubicado en alrchivo fpdf.asp
pdf.SetFillColor 224,235,255
pdf.SetTextColor(0)
pdf.SetFont("")
'pdf.Cell 10,4,"",0,0,"L"
pdf.Cell(10)
pdf.Cell 18,4,d1,"L",0,"C",0
pdf.Cell 14,4,d2,"L",0,"C",0
pdf.Cell 26,4,d3,"L",0,"L",0
pdf.Cell 42,4,d4,"L",0,"L",0
pdf.Cell 37,4,d5,"L","L",0
pdf.MultiCell 45,4,d6,1,"L"
posx = pdf.GetX()
pdf.Line 20,pdf.GetY(),202,pdf.GetY()
if longi > 2 then
posx = (longi-1) * 4
else
posx = 4
end if
pdf.Line 20,pdf.GetY(),20, pdf.GetY()-posx
pdf.Line 38,pdf.GetY(),38, pdf.GetY()-posx
pdf.Line 52,pdf.GetY(),52, pdf.GetY()-posx
pdf.Line 78,pdf.GetY(),78, pdf.GetY()-posx
pdf.Line 120,pdf.GetY(),120, pdf.GetY()-posx
pdf.Ln(0)
' hasta aqui deberia ir en la funcion TablaColoreadaData
rs.MoveNext
Loop
End If

pdf.Output()


este es el codigo basico, tengo q depurarlo un poco para dibujar las lineas usando un for para no repetir tanto código :P. debo aclarar q hay una parte q no he puesto q es la cabecera de la tabla, ya q lo tengo en una función dentro del fpdf.asp
__________________
Tarecito
  #131 (permalink)  
Antiguo 26/09/2005, 10:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 2
Antigüedad: 18 años, 7 meses
Puntos: 0
Imágenes con FPDF desde ASP

Hola. Soy nuevo en este foro. Leí toda esta conversación sobre el FPDF. Lo hice andar y ya estoy bárbaro con él.
Sólo tengo un problema, y es al querer insertar una imagen.
La imagen es .PNG, por lo que, en teoría, funcionaría. Pero al intentar hacerlo mediante el comando pdf.Image("imagen.png"), me lanza el siguiente error:

"FPDF error: Unsupported image file type: png"

Alguien sabe qué puede estar pasando?. Qué tengo que modificar, agregar, o lo que fuere?.

Muchísimas gracias!!!.
Sebastián.
  #132 (permalink)  
Antiguo 26/09/2005, 10:38
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
leiste en la pagina del FPDF que se puede PNG? por que el error es muy claro, dice que ese tipo de imagen no es soportada
  #133 (permalink)  
Antiguo 26/09/2005, 10:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 2
Antigüedad: 18 años, 7 meses
Puntos: 0
Extraído del manual (http://www.aspxnet.it/public/Default...age=175&idp=15):
"I formati supportati sono JPEG e PNG."

En un lugar dice: "Versione 1.1". Esto es tal vez lo que e desconcierta un poco. Ya que estuve buscando, y no encontré ninguna versión "1.1". La última que encontré es la 1.01.

Por eso preguntaba. Supongo que a alguien ya se le habrá ocurrido insertar una imagen. O alguien lo habrá intentado.

Gracias!.
Sebastián.
  #134 (permalink)  
Antiguo 26/09/2005, 10:50
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Yo te recomendaría que pruebes insertando un jpg o un gif a ver si el problema es con el formato de la imagen que no es soportado
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #135 (permalink)  
Antiguo 26/09/2005, 11:00
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
si el png tiene transparencias o entrelazados no se puede:
http://www.fpdf.org/es/doc/image.htm
  #136 (permalink)  
Antiguo 07/10/2005, 08:12
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años, 1 mes
Puntos: 0
FPDF error: Font file not found

Hola Amigos....
Estoy tratando de utilizar la clase fpdf pero me genera un error.
He leído atentamente los post pero no he encontrado nada referido a esto.
El mensaje que me muestra es el siguiente:

FPDF error: Font file not found

El código que utilizo es el siguiente(que lo tomé del ejemplo mínimo):

<%@language="jscript"%>
<!--#include file="fpdf.asp"-->

<%
var pdf=new FPDF();
pdf.CreatePDF();
pdf.SetPath("fpdf");
pdf.SetFont("helvetica","",16);
pdf.Open();
pdf.AddPage();
pdf.Cell(40,10,"Hello Word!");
pdf.Close();
pdf.Output();
%>

Puse todas las carpetas respetando las posiciones relativas y también el asp que lo llama. Todos los archivos están en su lugar, pero no entiendo por qué me da ese error.

Si hay alguien que me pueda orientar para eliminar este error le agradecería muchísimo su ayuda.
__________________
Cristian
  #137 (permalink)  
Antiguo 07/10/2005, 08:22
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
.

Hola Cristian.
El error que está tirando es porque no encuentra la fuente helvetica.
Probá seteando la fuente en Helvetica, con la H mayúscula que es como la reconoce el sistema y si te sigue tirando el error probalo con Arial.
Siempre escribiendolo correctamente.
Si de ninguna de estas formas funciona fijate de tener la clase bajada correctamente con todos sus componentes.

Un saludo y espero que así salga!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #138 (permalink)  
Antiguo 11/10/2005, 06:08
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años, 1 mes
Puntos: 0
De acuerdo

Hola amigo verinchi,

gracias por tu respuesta, aunque todavía no he podido lograr que funcione, con las sugerencias que me diste.

Voy a seguir tu segundo consejo, bajar todo otra vez y probar de nuevo por si quedó algo mal instalado.

Muchas gracias y si encuentro el problema lo posteo por si le ocurre a alguien más....
__________________
Cristian
  #139 (permalink)  
Antiguo 11/10/2005, 07:41
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años, 1 mes
Puntos: 0
Sonrisa

Perdón verinchi debí decir AMIGA verinchi o Verónica, creo que tengo una función propia que está interfiriendo de alguna forma y por eso me da el error.
He descubierto que si la comento puedo seguir con el pdf.

Pero ahora me aparece esto en el navegador:

%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream 2 J 0.57 w BT /F1 12.00 Tf ET BT 31.19 795.77 Td (Hello World!) Tj ET endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 2 0 obj <> >> endobj 6 0 obj << /Producer (FPDF for ASP v.1.01 beta by Lorenzo Abbati [www.aspxnet.it]) /CreationDate (D:2005912105423) >> endobj 7 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 8 0000000000 65535 f 0000000205 00000 n 0000000390 00000 n 0000000009 00000 n 0000000087 00000 n 0000000292 00000 n 0000000478 00000 n 0000000603 00000 n trailer << /Size 8 /Root 7 0 R /Info 6 0 R >> startxref 706 %%EOF

Cómo hago para que esto se convierta en un pdf para descargar?

De nuevo gracias
__________________
Cristian
  #140 (permalink)  
Antiguo 11/10/2005, 08:16
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Si te aparecen esos códigos en el navegador es por dos posibles causas: Una, que tengas un error en el código ASP (hay que depurarlo con calma); y dos, que no hayas actualizado el código de la clase con el que mencionan en el foro del fpdf (y supongo que en alguno de los mensajes de este post)

Saludos
  #141 (permalink)  
Antiguo 23/10/2005, 13:06
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años, 1 mes
Puntos: 0
Sonrisa

Gracias Myakire en verdad tenías razón, era por un error en el asp, lo corregí y todo Ok.

Gracias!!!
__________________
Cristian
  #142 (permalink)  
Antiguo 16/12/2005, 09:58
 
Fecha de Ingreso: abril-2005
Mensajes: 13
Antigüedad: 19 años
Puntos: 0
Y... que un html lo convierta automático a PDF

Eso no es posible con fpdf verdad?

Gracias.
  #143 (permalink)  
Antiguo 18/12/2005, 10:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
no, eso no es posible.

Pero hay otros componentes (de pago) que lo hacen, he incluso puedes sugerir la impresión en una de esas "impresoras pfd" gratuitas de las que hay muchas por ahí.

Ahora, ya más complejo el asunto, si compras el Acrobat, leí que tiene una API para que la manejes desde Web para pasar páginas a pdf.
  #144 (permalink)  
Antiguo 27/12/2005, 06:03
Avatar de Jefe_Negro  
Fecha de Ingreso: diciembre-2005
Mensajes: 50
Antigüedad: 18 años, 4 meses
Puntos: 0
Aqui les dejo otra alternativa para imprimir PDF desde ASP, en descargas hay un ejemplo de utilización desde ASP.

http://www.opdf.tk


Un Saludo:
Jefe Negro.
  #145 (permalink)  
Antiguo 25/01/2006, 15:44
 
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
fpdf

Por favor necesito tu ayuda, tu que eres un experto en esto del fpdf
me urge saber como puedo enviar un reporte en formato pdf desde asp, hice todo lo que vi en el foro pero me sale el siguiente error:
HTTP Error 507
507 Unexpected

The Web server encountered an unexpected error while communicating with the ASP service.

Please contact the server's administrator if this problem persists.

el ejemplo que estoy tratando de ejecutar el el mismo que subiste al web. Que esta pasando?????????

Gracias
  #146 (permalink)  
Antiguo 25/01/2006, 16:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
No se aquien te este refiriendo, pero igual contesto yo.

El error poco usual, pero no creo que tenga que ver con el fpdf .. ¿te corren las páginas ASP normales?, es decir, un simple "Hola Mundo", por ejemplo
  #147 (permalink)  
Antiguo 25/01/2006, 17:17
 
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Fpdf

Si por supuesto.
he tratado de correr varios ejemplos de los que estan aqui en el foro y me da el mismo error. Que podra ser ?
  #148 (permalink)  
Antiguo 25/01/2006, 20:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
A ver, trata de ser más explícito, por favor.

¿corren las páginas ASP normales?
¿solo falla cuando usas el componente fpdf?
¿el ejemplo del fpdf "HolaMundo" tampoco te corre?
  #149 (permalink)  
Antiguo 26/01/2006, 08:06
 
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Ok voy a ser mas explicito,
claro que me corren todos los programas en asp, tengo ya mas de un año desarrollando con asp, y nunca habia tenido este problema, mi servidor es un linux. no se si sea por permisos o algo parecido.

Te comentaba en el otro mensaje que he tratado de correr varios codigos que estan aqui en el foro, uno de ellos el de "hola mundo". Y ese mismo error que te envie el que me aparece.

Espero que puedas ayudarme
  #150 (permalink)  
Antiguo 26/01/2006, 08:47
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Bueno, nuestro moderador podrá decir más que yo en ese sentido, pero creo que aquí la clave es que trabajas sobre un linux, supongo sobre un SUN ASP. La verdad desconozco si dicho SW soporta también JSSS (JavaScript Server Side) dado que solo se que implementa vbscript. Si ves los códigos del fpdf estan hechos en jsss y no en vbs.

Esa es la muy probable respuesta a por que no funciona, y conociendo a linux lo poco que lo conozco, si acaso lo soportara, seguramente hay que decirle explicitamente que ejecute dicho lenguaje en algún archivo de configuración, sería cosa de investigar en la documentación del SUN.

Ahora, buscando por ahí encontre posibles "soluciones" a ese error:

http://swforum.sun.com/jive/thread.j...8813&tstart=30 (respuestas 3 y 5)
http://www.codehound.com/groups/thread.asp?t=1,187,1,[email protected]. co.uk_187

Si ves que no funciona o no viene Al_Zuwaga pro aquí a iluminarnos con su sapiencía, pues abre un post nuevo con un tema como: "fpdf no funciona sobre linux" o algo así para que llame su atención. Por mi parte trataré de buscar algo más aunque como no puedo reproducir el error lo veo dificil.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 10 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:25.