Está en la página 1de 14

MEDUSA: UNA APLICACIÓN DE LA INTEGRACIÓN

ENTRE PDF Y ASP.NET®

MEDUSA: AN APPLICATION OF INTEGRATION


BETWEEN PDF AND ASP.NET®

CARLOS M. ZAPATA J.
Grupo de Investigación UN-INFO. Escuela de Sistemas. Facultad de Minas.
Universidad Nacional de Colombia. cmzapata@unalmed.edu.co

JUAN CARLOS SIERRA A.


VSDC s. a.. (Visual Systems)

Recibido para revisar 6 de Agosto de 2004, aceptado 19 de Octubre de 2004, versión final 10 de Diciembre de 2004

RESUMEN: El formato de Documentos Portátiles (PDF por sus siglas en inglés) se ha


venido consolidando en el mundo como un estándar para la transmisión de documentos vía
Web, especialmente reconocidos como sólo lectura. Sin embargo, poco se han trabajado
las capacidades interactivas de dicha tecnología, en particular para la captura y transmisión
de datos a un servidor. En este artículo se presenta MEDUSA, un software basado en
tecnología PDF que interactúa con ASP® y ASP.NET® para el manejo de una plataforma
de compras vía Web.

PALABRAS CLAVE: PDF, ASP®, ASP.NET®, Aplicaciones en ambientes Web

ABSTRACT: Portable Document Format (PDF) has being consolidating itself in the
world as a Web Document Transmission Standard, specially recognized like only-to be
read- documents. However, there are few works on its interactive capabilities, particularly
in capture and transmission data to a server. In this paper we present MEDUSA, a PDF-
based software that interacts with ASP® and ASP.NET® to manage a Web shopping
platform.

KEYWORDS: PDF, ASP®, ASP.NET®, Web Environment Applications.

visualización. La invención del PDF se


1. INTRODUCCIÓN
remonta a principios de la década de 1990
La portabilidad de las aplicaciones Web es una (Bienz y Cohn, 1993), como una evolución de
de las necesidades predominantes en un entorno los archivos PostScript, que se usaban para la
cambiante y ágil que exige rapidez en la producción de páginas impresas. La novedad
transferencia de información. En este entorno, de los archivos PDF radicaba en la
los archivos en Portable Document Format estructuración del texto en capas que permitían
(PDF) han proliferado y se están convirtiendo la navegabilidad y agregaban ciertos elementos
paulatinamente en un estándar para la que los archivos PostScript no tenían, como los
transmisión de datos en la Web, debido a su hipervínculos y las anotaciones (Adobe
sencillez y a la independencia del formato en Systems Incorporated, 2003).
relación con los diferentes productos de

Dyna, Año 72, Nro. 146, pp. 89-102. Medellín, Julio de 2005. ISSN 0012-7353
90 Zapata y Sierra

Hasta la versión 1.1 del PDF, los documentos intérprete que pueda tomar el documento y
PDF se habían limitado a la realización de editarlo (como por ejemplo el Adobe
documentos de sólo lectura con pocas Acrobat®). El acceso de sólo lectura se ha
posibilidades de interactuar con el usuario. La hecho común debido a la distribución gratuita
necesidad de tener documentos de tipo más de productos para lectura de documentos PDF
interactivo basados en el formato PDF (como por ejemplo el Acrobat Reader ®).
posibilitó el surgimiento de ciertas capacidades Otra característica importante de los
de programación que a partir de la versión 1.2 documentos PDF tiene que ver con el manejo
del PDF se han hecho más comunes. Dentro de profesional que realiza de la información con
estas nuevas capacidades, se cuenta el FDF destino a su visualización, que incluye:
(Forms Data Format – o formato de datos de ƒ Preferencias para la presentación, tales
formulario), que es un formato de archivos PDF como la forma como se visualiza o se
empleado específicamente para la transmisión imprime un documento, que serán
de datos mediante formularios interactivos, tal y universales independientemente del
como se haría en una página del tipo HTML, browser o de la impresora de que se
con controles como cajas de texto, botones y disponga.
listas desplegables. Los usuarios ƒ Navegabilidad en el documento, mediante
convencionales de este tipo de documentos la incorporación de ciertas marcas en el
desconocen las capacidades de programación documento y una estructura jerárquica que
que pueden estar accesibles para el desarrollo facilita la ubicación rápida de los diferentes
de aplicaciones basadas en Web utilizando el temas del documento.
formato FDF y por ello en este artículo se ƒ Anotaciones, que asocian una región de
describe MEDUSA, un software con la texto con un objeto, que puede ser un
funcionalidad de plataforma de compras, que sonido, un movimiento o una aclaración
utiliza las capacidades del Adobe Acrobat® interactiva.
para realizar operaciones con bases de datos y A partir de la versión 1.2. del PDF, los
servidores Web, a través de una Intranet o de la documentos realizados con esta tecnología
Internet, interactuando además con ASP.NET® presentan la posibilidad de incluir formularios
para la comunicación entre el cliente, el interactivos. Este cambio se generó debido a la
servidor y la base de datos. dificultad manifiesta de modificación de ciertos
Este artículo está organizado de la siguiente elementos de los documentos PDF por parte de
manera: en la sección 2 se describen los los usuarios finales, que sólo era posible
formularios interactivos y la tecnología FDF, mediante aplicaciones tipo Adobe Acrobat®
que hacen parte de los PDF, en la sección 3 se que posibilitaran la edición de dichos
muestran algunas de las características de documentos. Los formularios interactivos,
ASP.NET®, en la sección 4 se describe también denominados AcroForms (Adobe
MEDUSA, una plataforma de compras basada Systems Incorporated, 2003) se conforman con
en tecnología PDF y ASP.NET® y en la conjuntos de campos que pueden ser llenados
sección 5 se presentan algunas conclusiones y de manera interactiva por el usuario, de la
trabajos futuros. misma manera que se realiza el llenado de
formularios en aplicaciones basadas en Web en
2. LOS FORMULARIOS INTERACTI-
lenguajes como el HTML. Los formularios
VOS Y LA TECNOLOGÍA PDF
interactivos soportan los siguientes tipos de
Los documentos PDF tienen como principal campos (Adobe Systems Incorporated, 2001):
finalidad la portabilidad, que implica la
independencia del documento de la aplicación ƒ Campos de Botón, que representan
en la cual fue realizada (ya sea procesador de controles interactivos en la pantalla que el
texto, hoja de cálculo, manejador de usuario puede manipular con el mouse o
presentaciones, constructor de páginas web, con el teclado, tales como botones, cajas de
etc.) y su acceso de sólo lectura, sin posibilidad chequeo y botones radio.
de modificación, a menos que se cuente con un
Dyna 146, 2005 91

ƒ Campos de texto, que son cajas o espacios


en los cuales el usuario puede ingresar
textos a partir del teclado.

ƒ Campos de selección, que contienen


algunos ítemes de texto, de los cuales al
menos uno puede ser seleccionado como
valor del campo, como por ejemplo cajas de
listas y cajas de combo.

ƒ Campos de firma, que representan “firmas”


electrónicas para la autenticación de la
identidad de un usuario y la validez de los
contenidos de los documentos.

Para estos tipos de campo, los formularios


interactivos soportan cuatro tipos de acciones
especiales:
Figura 1. Interfaz de creación de tipos de campo de
ƒ Acciones de envío de formulario, que formularios interactivos.
transmiten los nombres y valores de los Figure 1. Interface of creation of types of field of
campos del formulario interactivo para interactive forms.
especificar una URL, que posteriormente lo
procese y devuelva alguna respuesta.

ƒ Acciones de Borrado, que llevan los


campos del formulario a sus valores por
defecto.

ƒ Acciones de importación, que importan


datos incluidos en archivos del tipo FDF en
la forma interactiva a partir del archivo
especificado.

ƒ Acciones de Scripts de Java, que permiten


la compilación y ejecución de un script de
Java a partir del intérprete.

Los tipos de campos de los formularios


interactivos y sus posibles acciones se crean
mediante un escritor de archivos PDF, como el
Adobe Acrobat®. En la Figura 1 se muestra la
interfaz de creación de tipos de campo de esta Figura 2. Interfaz de acciones que se pueden asociar
aplicación. Igualmente, en la Figura 2 se con tipos de campo de formularios.
muestran las diferentes acciones que se pueden Figure 2. Interface of actions that can be associated
asociar con un tipo de campo de formulario with types of field of forms.
determinado.
Nótese que, además de las acciones
convencionales que se pueden asociar con los
controles de formularios enunciados, también
se pueden asociar scripts de Java, que le dan a
92 Zapata y Sierra

los formularios interactivos la posibilidad de funcionar de manera adecuada en el


programación mediante ese lenguaje. momento de la descarga.
Los formularios interactivos utilizan un formato ƒ La navegabilidad de los documentos PDF
de archivo denominado FDF para el envío de se garantiza de manera automática desde su
datos a un servidor, la recepción de una creación. En HTML la navegabilidad se
respuesta y su incorporación en el formulario debe construir desde el código con
interactivo (Padoba, 2002). El formato FDF hipervínculos o creando marcos (frames) en
posee conjuntos de herramientas que permiten los documentos, los cuales presentan
la interacción con algunos lenguajes y dificultades de visualización en algunos
tecnologías tales como C++, Java y Perl, y browser.
posee también herramientas para interactuar
3. ASP.NET®: TECNOLOGÍA PARA EL
con controles ActiveX, que le permiten la
DESARROLLO DE APLICACIONES WEB
comunicación con scripts de lenguajes basados
en Web, como ASP® y ASP.NET®, ASP® (Active Server Pages) es una tecnología
conjuntamente con Internet Information Server en la cual es posible desarrollar aplicaciones
(Adobe Systems Incorporated, 2003b). ejecutables desarrolladas bajo VBScript y
Para la interacción con controles ActiveX, FDF JavaScript (MacDonald, 2003) que corren bajo
posee cuatro tipos de métodos, que se listan y un servidor Web y que permiten tener acceso
describen en las Tablas 1 a 4 consignadas en el programático a los recursos de éste, para poder
anexo (Adobe Systems Incorporated, 2003b). realizar un amplio conjunto de funciones;
El uso de los formularios interactivos además, ASP® brinda la posibilidad de realizar
combinados con la tecnología FDF presenta cálculos y ejecutar secciones completas de
algunas ventajas comparativas en relación con código de una página antes de que ésta sea
su manejo homólogo en HTML: enviada al cliente. El gran inconveniente de
ƒ El archivo PDF que contiene los esta tecnología radica en el hecho de que las
formularios interactivos al igual que el herramientas para la depuración del código
archivo FDF que los procesa podrían estar brindadas, no siempre funcionan de la forma
residentes en el cliente o ser descargados esperada.
únicamente una vez, tal como se hace con ASP.NET® (Kauffman et al, 2001) es una
los applets, de modo que podrían estar evolución del ASP® y se constituye en un
disponibles sin conexión con su ambiente de programación construído sobre el
funcionalidad plena. En el caso de los entorno NGWS (New Generation Windows
archivos HTML, cada vez que sean Services), que permite crear poderosas
invocados por el cliente deben ser aplicaciones de Internet y Servicios Web que
descargados desde el servidor. corren sobre IIS (Internet Information Server).
ƒ La apariencia de los formularios ASP.NET® no sólo sirve para la creación de
interactivos en PDF con FDF es la misma aplicaciones Web (que bien podrían ser creadas
independientemente del browser que se usando otras tecnologías como CGI); además de
utilice. Esto no ocurre con HTML, donde esta funcionalidad, se pueden resaltar en
las preferencias del browser inciden en la ASP.NET® sus capacidades de integración con el
manera de visualización de los formularios. servidor Microsoft, que posibilita el acceso a
ƒ Los documentos PDF pueden hacer uso de datos y el control de herramientas de seguridad
la opción de firma digital, que garantiza la (Webb, 2002).
autenticidad de la autoría de un documento
y el manejo de opciones de seguridad. Una aplicación ASP.NET® incluye las siguientes
ƒ Los documentos PDF incluyen todos los partes (Microsoft Corporation 2002):
elementos necesarios para la visualización, ƒ Web Forms (Formularios tipo Web) o
tales como imágenes, tablas, etc. Los páginas aspx.
documentos HTML usualmente deben ƒ Código asociado con el Web Form, el cual
incluir archivos anexos que pueden no queda al lado del servidor.
Dyna 146, 2005 93

ƒ Los archivos de configuración, los cuales específicamente dirigidas a mejorar el


son archivos XML, que definen las funcionamiento de servidores unidos
características predeterminadas de la (clustered) y de servidores con
aplicación y el servidor Web. procesadores múltiples. Los procesos del
ƒ El archivo Global.asax, el cual contiene el servidor son vigilados y administrados por
código necesario para los eventos que se el entorno del ambiente de ejecución de
dan a nivel de la aplicación cuando es ASP.NET® de modo que, si algún proceso
iniciado el ASP.NET®. se entorpece o se detiene, un nuevo proceso
ƒ Enlaces a XML Web Service que permiten puede ser creado para reemplazarlo, lo cual
que la aplicación envíe y reciba datos desde ayuda a mantener la disponibilidad de las
un XML Web Service. aplicaciones para manejar solicitudes de
ƒ Conectividad a bases de datos. servicio.
ƒ Sistema de caché, que permite que la
aplicación retorne más rápidamente una ƒ Facilidad de Administración.
Web Form. ASP.NET® usa un sistema jerárquico de
configuración, basado en archivos de texto,
ASP.NET® ofrece ventajas importantes sobre que simplifica la aplicación de parámetros
los modelos previos de desarrollo para Internet: de configuración al servidor y sus
aplicaciones. Debido a que la información
ƒ Mayor Eficiencia. ASP.NET® corre de configuración es almacenada como
código compilado sobre el entorno NGWS texto, nuevos parámetros pueden ser
en el servidor. Distinto a sus predecesores configurados sin recurrir a herramientas de
interpretados, ASP.NET® usa amarres administración locales. Esta filosofía de
tempranos ("early binding"), así como "cero administración local" también se
compilación justo a tiempo ("just-in-time extiende al despliegue de aplicaciones de
compilation"), optimización nativa, y ASP.NET® a un servidor, que se realiza
servicios de caché, sin configuración sencillamente copiando los archivos
adicional. Para los desarrolladores, esto necesarios al servidor. No hay que reiniciar
significa eficiencia superior antes de el servidor, ni siquiera para reemplazar
escribir la primera línea de código. código compilado que ya está en servicio.

ƒ Poder y Flexibilidad. Porque ASP.NET® ƒ Otras Ventajas (Webb, 2002)


está basado en el Entorno Común de 9 Acceso al Framework de .NET con
Ejecución de Lenguajes (Common extensión del API de Windows, que
Language Runtime, o "CLR"), el poder y la provee librerías estándar para el
flexibilidad de la plataforma completa está desarrollo de aplicaciones, las cuales se
disponible para los desarrolladores. Las pueden usar independientemente del
librerías de Clases del CLR, la Mensajería, sistema Windows que se utilice (a partir
y las soluciones de Acceso a Datos, son de Windows 98).
accesibles al través de Internet. 9 Integración con Microsoft ADO.NET®
ASP.NET® permite el uso de una gran para proporcionar acceso a bases de
variedad de lenguajes de programación y, datos, además de herramientas para el
por tanto, se puede escoger el mejor diseño de las mismas.
lenguaje para su aplicación, o dividir su
aplicación en varios lenguajes. Mas aún, la 9 Soporte total para XML (Extensible
interoperabilidad del CLR facilita la Markup Language – Lenguaje de
migración a ASP.NET®. Marcado Extensible), CSS (Cascade
Style Sheet - Hojas de estilo en
ƒ Escalabilidad y Disponibilidad. cascada) y otros nuevos estándares
ASP.NET® ha sido diseñado para la establecidos.
escalabilidad con características
94 Zapata y Sierra

9 Permite el desarrollo multilenguaje, ya la Escuela de Sistemas de la Universidad


que las aplicaciones pueden ser Nacional de Colombia, descrita por Jiménez
realizadas en C# o VB.NET®. (2003).

9 En relación con ASP®, ASP.NET®


4.1. DESCRIPCIÓN GENERAL DE
permite acelerar los tiempos de
MEDUSA
desarrollo y ofrece un modelo más
consistente, además de que separa la MEDUSA permite, entre otras, la realización
capa de presentación y la lógica del las siguientes funciones:
negocio, algo que no existía en ASP®.
ƒ Compras interactivas de productos.
4. MEDUSA: UNA PLATAFORMA DE
ƒ Registro y Actualización de Clientes.
COMPRAS CON TECNOLOGÍA PDF Y
ASP.NET®
ƒ Elaboración de Cotizaciones.
MEDUSA es una plataforma de compras que
utiliza un esquema multicapas, que incluye: ƒ Elaboración de Facturas.

ƒ Un cliente con Internet Explorer® 6.0 y En la Figura 3 se presenta, a modo de ejemplo,


Acrobat Reader® 5.1 o superior para poder el modelo de procesos correspondientes al
utilizar la aplicación. registro de clientes y cotizaciones. Igualmente,
en la Figura 4 se presenta el modelo Entidad –
ƒ Un servidor con sistema operativo Relación completo de MEDUSA.
Windows XP® profesional con Servidor
Web Internet Information Server® 5.0, para La interacción con el software se realiza
la administración de las páginas ASP y mediante un conjunto de documentos PDF
PDF. ubicados en el servidor y que invocan
procedimientos en ASP® y ASP.NET®, a
ƒ Scripts de ASP® y ASP.NET® para la medida que se va realizando la navegación
interacción entre el cliente, el servidor y la entre los documentos PDF, como se describe en
base de datos. la sección 4.2. Los documentos PDF emplean
formularios para realizar el ingreso de los
El desarrollo se realizó como un trabajo de diferentes valores requeridos y para la
grado de Ingeniería Informática para el navegación a través de las demás interfaces del
Politécnico Colombiano Jaime Isaza Cadavid, software (que también son documentos PDF).
partiendo de una necesidad planteada por En la figura 5 se muestra la interfaz de la
VSDC s. a. para potencializar la interacción de plataforma de compra de productos y en la
los archivos en PDF interactuando con bases de figura 6 el ingreso de Clientes en MEDUSA.
datos y tecnología Web. Se utilizó la
Metodología para el desarrollo de Software de
Dyna 146, 2005 95

Figura 3. Modelo de Procesos de la Gestión de Clientes y Cotizaciones de MEDUSA.


Figure 3. Model of Processes of the Management of Clients and Quotations of MEDUSA.

Figura 4. Modelo Entidad – Relación de MEDUSA.


Figure 4. Model Organization - Relation of MEDUSA

con ASP® y ASP.NET® para el desarrollo de


4.2. INTEGRACIÓN DE TECNOLO-
aplicaciones Web que posibiliten la transmisión
GÍAS PDF, ASP® Y ASP.NET®
de información por Internet, como lo harían
En las secciones 2 y 3 se ha presentado el páginas de HTML. En esta sección se muestra
soporte teórico para el manejo de los la manera como MEDUSA emplea estas
formularios en tecnología PDF que interactúa
96 Zapata y Sierra

tecnologías de manera conjunta e integrada para


el manejo de una plataforma de compras.

Figura 5. Interfaz (Documento en PDF) para la plataforma de compra de productos MEDUSA.


Figure 5. Interface (Document in pdf) for the platform of product purchase MEDUSA.

Figura 6. Interfaz (Documento PDF) para el ingreso de Clientes en MEDUSA.


Figure 6. Interface (Document pdf) for the entrance of Clients in MEDUSA.
Dyna 146, 2005 97

En MEDUSA las interfaces con el usuario se seleccionar Submit Form para obtener el cuadro
encuentran en archivos PDF que poseen de diálogo de la Figura 8, en el cual se ingresa
formularios que realizan el intercambio de la URL correspondiente a un archivo sobre el
información entre el usuario y una base de cual se ha escrito previamente el script que se
datos remota utilizando tecnologías ASP® y incluye a continuación, el cual consulta los
ASP.NET®, como se explica y ejemplifica a datos existentes en la base de datos y los
continuación. convierte a un formato que el formulario PDF
La interfaz correspondiente a la plataforma para pueda entender, de forma que la información
la compra de productos que se muestra en la correspondiente a las categorías existentes por
Figura 5 fue desarrollada siguiendo los producto se pueda desplegar en pantalla como
lineamientos presentados en la sección 2 de este se muestra en la Figura 5 (Software,
artículo. Cuando el usuario invoca esta interfaz Impresoras, Insumos, Computadores).
dentro de la aplicación, el archivo PDF que la
contiene realiza una consulta a la base de datos
para hallar las categorías existentes por
producto; en el momento de creación del
documento PDF en Adobe Acrobat®, esta
funcionalidad se incorpora mediante un script
desarrollado en ASP® que se incluye mediante
la opción Page Action, que se encuentra en el
menú Document del Adobe Acrobat®, la cual
despliega el cuadro de diálogo que se muestra
en la Figura 7.

Figura 8. Cuadro de diálogo de acciones asociadas


con la transmisión a través de la Web de la
información contenida en un formulario PDF.
Figure 8. Cuadro de diálogo de acciones asociadas
con la transmisión a través de la Web de la
información contenida en un formulario PDF.

En el código se han incorporado comentarios en


negrilla para facilitar la lectura. Los comandos
FDF que se emplean en la realización del Script
pueden ser consultados en las tablas 1 a 4 del
anexo. Una completa guía de referencia del
Figura 7. Cuadro de diálogo de acciones que se lenguaje ASP® se puede consultar en Kilcullen
pueden asociar con la carga o cierre de una Página (2000). Otros elementos necesarios para la
PDF. comprensión del código son:
Figure 7. Picture of dialogue of actions that can be
associated with the load or closes of a Page pdf.
ƒ RecordSet es una tabla temporal que
emplea el ASP® para ir guardando los
resultados de una consulta específica que se
Cuando se oprime el botón Add, se invoca la
realice dentro de la base de datos.
interfaz de la Figura 2, en la cual se debe
98 Zapata y Sierra

ƒ tblCategorias es una tabla que procede de la RecSet(dbCurrentField).Value, False


entidad Categorías de la Figura 4. end if

'Avanza una posición dentro del


<% RecordSet
Sub ProcessQuery ()
RecSet.MoveNext
Dim SQL, dbContinue, StatusErcMsg i=i+1
dim text end if
dim i
i=0 if dbCurrentField="numId" then
'Cadena que se usará para consultar en la 'Consulta por el ID de la Categoria
base de datos
FDFout.FDFSetValue currentField, _
SQL = "SELECT * From tblCategorias" RecSet(dbCurrentField).Value, False
Set RecSet = DataConn.Execute(SQL) 'Avanza una posición dentro del
dbContinue = True 'RecordSet
'Inicializa Objeto que recibirá información RecSet.MoveNext
tipo FDF i=i+1
'propia para mostrar en el Formulario PDF end if
on error resume next
currentField = _
FDFin.FDFNextFieldName("") 'Verifica el valor del próximo campo
'Existente en el PDF
Do While dbContinue=True
currentField = _
dbCurrentField = Replace(currentField,_ FDFin.FDFNextFieldName(currentField)
CStr(i), "")
If currentField = "" Or Err.Number <> 0
if dbCurrentField="strNombre" then Then
dbContinue=False
'No encontró Información ascociada en la End If
base de datos Loop
'Envia la informacion Al PDF
FDFout.FDFSetValue currentField, _
"Categoria no existe", False Response.BinaryWrite _
else (FDFout.FDFSaveToBuf)
FDFout.FDFSetValue currentField, _ End Sub
"Producto existe", False %>
'Muestra en PDF el campo de la base de La interfaz correspondiente al Registro de
datos clientes que se muestra en la Figura 6 permite el
'Captura información existente en el ingreso en la base de datos de la información de
Recordset para luego mostrarla en el los clientes que utilicen la plataforma de
formulario PDF compras. Esta interfaz consiste en un
formulario que también sigue los lineamientos
FDFout.FDFSetValue currentField, _
Dyna 146, 2005 99

de la sección 2, el cual, mediante el botón


Ingresar datos, se comunica con un código OdbcConexion = New _
desarrollado en ASP.NET® que está alojado en OdbcConnection("DSN=BDMedusa")
un servidor Web. Este código se encarga de
capturar la información procedente del 'Abrir conexión con la base de datos
Formulario PDF, establece comunicación con
una base de datos y registra la información, OdbcConexion.Open()
realizando validaciones con el fin de mantener Try
la integridad de los datos y evitar redundancia
en los mismos. 'Ejecución del comando para
Para lograr la interacción entre el formulario ingresar
PDF y el código ASP.NET®, al botón Ingresar 'la información
Datos se le agrega una acción invocando la
interfaz de la Figura 2 y presionando Submit OdbcComando = New _
Form para llegar al cuadro de diálogo de la OdbcCommand(sSQL, OdbcConexion)
Figura 8. Posteriormente, se le especifica en OdbcComando.ExecuteNonQuery()
qué formato se envían los datos (FDF o
HTML); en MEDUSA se ha embebido el 'Cerrar conexión con la base de datos
código ASP.NET® en un archivo HTML. El
código ASP.NET® que se muestra a OdbcConexion.Close()
continuación se encarga de procesar tal Catch ex As Exception
información proveniente desde el formulario blnHabilita = False
para luego realizar el registro de la misma en la Response.Write(ex.Message)
base de datos. End Try
Else
If blnDocEnc = False And _
blnNomusuarioEnc = False _ 'Mostrar mensajes de éxito o
And blnContraEnc = False Then 'error en la operación

'Cadena que permite realizar la inserción If blnDocEnc = True Then


'de la información en la base de datos lblMensaje.Text = _
"Documento Identificación ya existe"
sSQL = "INSERT INTO tblCLIENTES " & Else
_ If blnNomusuarioEnc = True Then
"(strDocIdent,strNombre,strApellido,_ lblMensaje.Text = _
numTelefono,strEmail, "Nombre de usuario ya existe"
_numCelular,numFax,_ Else
If blnContraEnc = True Then
datFechaIngreso,strDireccion,numIdCi lblMensaje.Text = _
udad,_ "Nombre de usuario ya existe"
strNombreUsuario, strContraseña)" & _ End If
"values ('" & strDocIdent & "','" & End If
strNombre _ End If
& "','" & strApellido & "','" & strTelefono _ End If
& "' ,'" & strEmail & "','" & strCelular _ End If
& "','" & strFax & "', '" & DatFechaIng _ If blnHabilita = True Then
& "'," &" '" & strDireccion & "','" & _ lblMensaje.Text = _
intNumCiud & "', '" & strNomusuario & _ "Cliente Registrado _Exitosamente"
"','" & strContraseña & "')" End If

'Conexión con la base de datos


100 Zapata y Sierra

5. CONCLUSIONES Y TRABAJOS a explorar en el desarrollo de aplicaciones Web


FUTUROS usando tecnología PDF.
Mediante la tecnología PDF, en conjunción con REFERENCIAS
FDF, ASP® Y ASP.NET® es posible realizar
aplicaciones Web como MEDUSA, el trabajo [1] ADOBE SYSTEMS INCORPORATED.
descrito en este artículo, con ventajas sobre las Adobe Acrobat® 5.0 Classroom in a book.
aplicaciones Web convencionales en lo relativo Editorial Adobe®. 369 p. 2001.
a la independencia del formato de presentación [2] ADOBE SYSTEMS INCORPORATED.
del browser de que se disponga, la facilidad de PDF Reference. Adobe® Portable Document
navegación y las demás ventajas que poseen los Format version 1.5. 1149 p. 2003.
documentos PDF.
[3] Adobe Systems Incorporated. FDF
En este trabajo se han utilizado las capacidades Toolkit Overview and Reference. Adobe®
de interacción de FDF con controles ActiveX Technical Note #5194. 156 p. 2003b.
mediante los métodos que soportan esa [4] BIENZ, T. y COHN, R. Portable
tecnología. De manera similar se puede Document Format Reference Manual.
interactuar con lenguajes como C, C++ y Perl, o Addison – Wesley. 214 p. 1993.
incluso con otros formatos tipo ASP® como el
[5] JIMÉNEZ, C. Guía Metodológica de
CGI.PHP, lo que se puede constituir en uno de
los posibles trabajos futuros que continúen esta Desarrollo o Adaptación de Software.
Universidad Nacional de Colombia. 152 p.
línea.
2003.
La tecnología PDF posee otras capacidades [6] KAUFFMAN, J. et al. Beginning
especiales, como la definición de archivos FDF ASP.NET databases using VB.NET. Editorial
que pueden realizar la comunicación con el Wrox, Indianápolis. 459 p. 2003.
servidor incorporando Scripts en lenguaje Java,
[7] KILCULLEN, J. Active Server Pages.
que no requieren el uso de tecnologías tipo
IDG Books World Wide, Inc. 301p. 2000.
ASP® y ASP.NET® para establecer la
comunicación con la base de datos. Estas [8] MACDONALD, M. Microsoft Visual
capacidades especiales podrían dinamizar el Basic.Net Programers CookBook. Microsoft
manejo de las aplicaciones basadas en Press. 774p. 2003.
tecnología Web, pues no sería necesario tener
[9] MICROSOFT CORPORATION. Microsoft
instalados programas específicos en los clientes
OfficialCurriculum. MSDN Library, Microsoft
para poder interactuar adecuadamente con bases
Press. 2002.
de datos remotas.
[10] PADOBA, T. Creating Adobe Acrobat
No se exploró en MEDUSA el manejo de las Forms. Hungry Minds, Inc. 591 p. 2002
opciones avanzadas de seguridad que pueden [11] WEBB, J. Developing Web Aplications
hacer parte de los formularios PDF, que pueden With Microsoft VISUAL BASIC.NET and
contribuir a evitar posibles alteraciones de los Microsoft VISUAL C#.NET. Microsoft Press.
mismos. La parametrización de las opciones de 756p. 2002
seguridad que se puede lograr con el uso de
algoritmos especiales que se pueden incorporar
al manejo de firma digital de la tecnología PDF
se constituye en otra de las posibles alternativas
Dyna 146, 2005 101

ANEXO: TABLAS DE MÉTODOS PARA CONTROLES ACTIVEX CON FDF


ANNEXED: TABLES OF METHODS FOR CONTROLS ACTIVEX WITH FDF

Tabla 1. Métodos expuestos por el objeto FDFApp.


Table 1. Methods exposed by the FDFApp object.
Método Descripción
FDFCreate Crea un Nuevo archivo FDF.
FDFGetVersion Retorna la versión del componente ActiveX que se esté usando.
FDFOpenFromFile Abre un archivo FDF existente.
FDFOpenFromBuf Abre un FDF a partir de la papelera.
FDFOpenFromStr Abre un FDF a partir de una cadena.

Tabla 2. Métodos generales.


Table 2. General methods.
Método Descripción
FDFClose Libera los recursos usados por el archivo FDF.
FDFEmbedAndClose Empotra FDF en otro documento y luego lo cierra.
FDFOpenFromEmbedded Abre datos FDF que están guardados en un contenedor.
FDFRemoveItem Remueve un par de valores clave de los datos FDF.
FDFSavetoBuf Escribe datos FDF en la papelera.
FDFSavetoFile Guarda datos FDF en un archivo.
FDFSavetoStr Escribe datos FDF en una cadena.

Tabla 3. Métodos que analizan datos FDF.


Table 3. Methods that analyze data FDF.
Método Descripción
FDFExtractAppendSaves Extrae los cambios incrementales enviados dentro de un FDF y hace un
nuevo archivo de salida a partir de él.
FDFExtractAttachment Extrae un archivo actualizado y crea un nuevo archivo a partir de él.
FDFGetAP Toma la apariencia de un campo (/AP) y crea un documento PDF de
salida a partir de él.
FDFGetFile Toma el valor de la clave /F.
FDFGetFlags Toma las banderas de un campo (claves /Ff or /F).
FDFGetNthValue Toma un elemento de un valor de campo si está en un arreglo.
FDFGetOpt Toma el valor de un elemento en un arreglo de campo /Opt.
FDFGetOptNumElem Toma el número de elementos en la clave /Opt.
FDFGetRichValue Toma el valor de la clave /RV.
FDFGetStatus Toma el valor de la clave /Status.
FDFGetValue Toma el valor de un campo (clave /V).
FDFGetFDFVersion Toma la versión actual del FDF.
FDFNextFieldName Toma el siguiente nombre de campo.
102 Zapata y Sierra

Tabla 4. Métodos que generan datos FDF.


Table 4. Methods that generate data FDF.
Método Descripción
FDFAddDocJavaScri Agrega un script de Java a nivel de documento a un FDF, que se agrega a
pt un documento cuando el FDF se importa en él.
FDFAddTemplate Agrega una plantilla a un archivo FDF.
FDFSetAP Fija la apariencia del un campo de botón (clave /AP) para un documento
PDF.
FDFSetAPRef Fija una referencia a un documento PDF para usar la apariencia de un
campo (una de las caras dentro de la clave /APRef).
FDFSetAS Fija la clave /AS.
FDFSetFDFVersion Fija la versión FDF.
FDFSetFile Fija el valor de la clave /F (especificación de cadena).
FDFSetFlags Fija los valores de una de las banderas /Ff, /F, /SetFf, /ClrFf, /SetF o /ClrF
de un campo.
FDFSetGoToAction Fija las claves /A o /AA para la acción de un tipo GoTo.
FDFSetGoToRAction Fija las claves /A o /AA para la acción de un tipo GoToR.
Método Descripción
FDFSetHideAction Fija las claves /A o /AA para la acción de un tipo Hide.
FDFSetID Fija los valores de un elemento en la clave /ID.
FDFSetIF Fija el atributo de ubicación de ícono para la apariencia de un campo botón
(clave /IF).
FDFSetImportDataAc Fija las claves /A o /AA para la acción de un tipo ImportData.
tion
FDFSetJavaScriptActi Fija las claves /A o /AA para la acción de un tipo JavaScript.
on
FDFSetNamedAction Fija las claves /A o /AA para una acción nombrada.
FDFSetOnImportJava Agrega un script al FDF que se ejecutará cuando se importe.
Script
FDFSetOpt Fija los valores de un elemento en una clave /Opt de campo.
FDFSetResetFormAct Fija las claves /A o /AA para la acción de un tipo ResetForm.
ion
FDFSetRichValue Fija el valor de la clave /RV.
FDFSetStatus Fija el valor de la clave /Status.
FDFSetSubmitFormA Fija las claves /A o /AA para la acción de un tipo SubmitForm.
ction
FDFSetTargetFrame Fija el valor de la clave /Target.
FDFSetURIAction Fija las claves /A o /AA para la acción de un tipo URI.
FDFSetValue Fija el valor de un campo (clave /V).
FDFSetValues Fija el valor de un campo en un arreglo.

También podría gustarte