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

AspPDF: abrir Formulario en PDF desde codigo ASP y añadir un valor a un textbox

Estas en el tema de AspPDF: abrir Formulario en PDF desde codigo ASP y añadir un valor a un textbox en el foro de ASP Clásico en Foros del Web. Hola. Haber si me puede ayudar alguien. Tengo un archivo PDF que he descargado de un ejemplo de ASPPDF. A través de este codigo que ...
  #1 (permalink)  
Antiguo 06/09/2006, 10:55
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 6 meses
Puntos: 0
AspPDF: abrir Formulario en PDF desde codigo ASP y añadir un valor a un textbox

Hola. Haber si me puede ayudar alguien.

Tengo un archivo PDF que he descargado de un ejemplo de ASPPDF. A través de este codigo que pongo abajo, a una caja de texto de se documento PDF le doy un valor y después me genera un PDF nuevo con esa caja de texto con el valor ya añadido.

Con este documento no tengo problema pero si me creo un formulario con Adobe Designer por ejemplo creo un campode texto que se llame f1-1 (como el del ejemplo que he puesto en negrita) y me da un error al ejecutar el .asp: me dice que se requiere un objeto y el error me da en la linea que pone esto:

Set Field = Doc.Form.FindField("f1-1")

¿Algien puede ayudarme?

Si por ejemplo abro el PDF del ejemplo que me funciona bien y lo guardo con otro nombre, si en el codigo asp le pongo el nuevo nombre tampoco me funciona. Me da el mismo error de que se reuqiere un objeto.

Este es el codigo ASP. Este ejemplo está ampliado en:

http://support.persits.com/pdf/demo_form.asp



<%
FirstName = "Prueba"

Set PDF = Server.CreateObject("Persits.PDF")

' Open an existing document, form W-9
Set Doc = PDF.OpenDocument( Server.MapPath( "1040ez.pdf" ) )

' Create font object
Set Font = Doc.Fonts("Helvetica-Bold")

' Set First Name
Set Field = Doc.Form.FindField("f1-1")
Field.SetFieldValue FirstName, Font


' We use Session ID for file names
' false means "do not overwrite"
' The method returns generated file name
'Path = Server.MapPath( "files") & "\" & Session.SessionID & ".pdf"

Filename = Doc.Save(Server.MapPath("form_pdf.pdf"), False )

Response.Write "<P><B>Success. Your PDF file <font color=gray>" & FileName & "</font> can be downloaded <A TARGET=""_new"" HREF=""files/" & FileName & """><B>here</B></A></B>."
Set Page = Nothing
Set Doc = Nothing
Set Pdf = Nothing


%>
  #2 (permalink)  
Antiguo 07/09/2006, 01:27
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 6 meses
Puntos: 0
Pregunta

O aunque sea ¿alguien ha generado un PDF desde asp que contenga tablas con texto en sus celdas?
  #3 (permalink)  
Antiguo 08/09/2006, 09:57
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
no se seguro que le estas poniendo el nombre a ese campo, me suena como que no y por eso no lo encuentra, ya ves que lo tienes que nombrar en la parte binding/name
  #4 (permalink)  
Antiguo 11/09/2006, 01:26
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 6 meses
Puntos: 0
Si eso pensé yo con el error, per ya le habia puesto bien el nombre del campo en binding name.

Simplemente con abrir el pdf que me funciona y grabarlo con otro nombre, si en el codigo asp le especifico el nuevo nombre del pdf ya no me funciona, por lo que no se si al abrir o al guardarlo se le modifica alguna propiedad.

Intente empezar creando un pdf desde 0 con una caja de texto pero me pasa lo mismo.
  #5 (permalink)  
Antiguo 11/09/2006, 11:19
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
no resuelvo pero expongo

ya probe lo mismo que tu y tambien no me localiza el field, la cosa es que el problema ha de estar con la version o el programa con el que hacen los formularios no ha de ser el mismo, yo visualice un ejemplo desde visual basic 6 y vi que por ejemplo
cuando haces

Dim objDoc As IPdfDocument
Set objDoc = objPDF.OpenDocument(App.Path & "\1040ez.pdf")

objDoc tiene una propiedad llamada Form que es con la que tiene el metodo FindField que es el que se usa en los ejemplos, pero tambien tiene una propiedad Fields que permite acceder directamente a estos y cada field tiene una propiedad children que permite a su ves acceder a sus miembros.

La cosa esta en que por ejemplo si yo creo un cuadro de texto en el designer llamado txtmostrar y lo pongo en un subform llamado formu (o algo asi), para acceder seria algo asi:
objDoc.FindField("form1[0]").children(1).children(1)

Como ves empezaron a relucir otros aspectos no considerados y que plantean mas dudas

tambien me fije que al usar el metodo SetFieldValue asi:
objDoc.FindField("form1[0]").children(1).children(1).SetFieldValue("valo r dado", objetoFont)
siendo que deberia funcionar, ¡¡¡pues el muy condenado no funciona!!!
no se si sea error de la libreria o sea de incompatibilidades con el formato de pdf.

Como ves yo tambien tengo serias dudas, si encuentras otra libreria por favor comunicamelo
  #6 (permalink)  
Antiguo 08/02/2011, 07:19
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: AspPDF: abrir Formulario en PDF desde codigo ASP y añadir un valor a un te

Tengo exactamente el mismo problema que LAIKA, ya probe de todo y no lo puedo hacer funcionar. Alguien puede ayudarnos con la solución de este problema?
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:36.