🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #29069

Re: imprimir desde un applet

#29069
From: Alberto Soleto
Date: Mon, 02 Feb 1998 00:00
58 lines
3570 bytes
Jos� Manuel Rivera L�pez wrote:

> Hola a todos,
>
> He de programar un applet que permita imprimir sobre una impresora i
> acceder a disco local. �Alguien sabe como se hace?. Asumo que tendr� que
> usar 1.1, JAR autentificado.
>
> Muchas gr�cias por adelantado.

Hola,
El tema de la impresi�n nos trae de cabeza a m�s de uno hoy en d�a. Hasta
que java no aporte soluciones flexibles, tendremos que conformarnos con
utilizar algunas triqui�uelas.
Resumiendo, para imprimir, deber�s elegir una entre las arquitecturas
posibles; a saber "Servidor de impresi�n sobre la m�quina servidor" (RMI �
CORBA � Socket puro), "Impresi�n de Applet signed" o "Impresi�n utilizando
la API netscape". (Seguro que hay alguna m�s o alguna derivaci�n de estas
dos)
Para acceder al disco del cliente, tendr�s que firmar tu Applet o darle los
permisos de acceso de netscape. Te recuerdo que si utilizas la API
netscape, s�lo podr�s hacer funcionar tu applet sobre Netscape.

Para imprimir con un servidor de impresi�n, tendr�s que ser capaz de
recuperar los datos de tu interfaz y pas�rselos al objeto servidor. Para
las im�genes tienes los codificadores GIF.
Para imprimir con una applet firmada, hay todo un rollo de certificados de
certificados... que nunca he llegado a entender.
Para imprimir utilizando la API netscape, tendr�s que darle a tu applet los
privilegios de acceso a la m�quina local y compilarla con el fichero
java40.jar que viene con Netscape 4.0x o en el patch jdk1.1.
Despu�s, deber�s utilizar PrintJob.
La ventaja de utilizar la API netscape es que se trata de una soluci�n con
la que puedes acceder al disco y a la impresora con los mismos privilegios.
La desventaja clara es que no hay la misma seguridad que una applet pura y
dura. Puedes firmar tu applet tambi�n para aumentar el grado de seguridad.
Si quieres alguna puntualizaci�n sobre alguno de los temas o c�digo de
ejemplo, env�ame un mail con lo que necesites. Intentar� responderte lo m�s
pronto posible.

Yo he conseguido imprimir una applet en jdk 1.0.2 sobre netscape 4.02j2. Lo
que he hecho ha sido darle a una segunda applet los permisos de acceso.
Esta segunda applet se encuentra en la misma p�gina que la otra, y consta
de un simple bot�n que imprime. Esta seguna applet utiliza jdk1.1.4. Cuando
accionas el bot�n, la applet 2 crea un PrintJob, obtiene su contexto
gr�fico y le pide a la applet 1 que se imprima en ese contexto. Ver�s
aparecer una ventana con las opcciones de impresi�n. Despu�s, a nivel de
c�digo, s�lo tienes que hacer un dispose() del contexto gr�fico y un end()
del PrintJob para que la applet se imprima.  Puedes imprimir en un fichero
local, por lo que tambi�n tienes acceso a los ficheros, pero s�lo podr�s
escribirlos en postscript y PCL5. Para la creaci�n y lectura de ficheros
normales, mira en la documentaci�n de la API netscape para poder utilizar
los privilegios adecuados.

Espero haberte ayudado.

Alberto Soleto.
Technical Details
Message-ID: <34D62528.9F12607C@sun.fr>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <34D607EA.F8F@campus.uoc.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,d4d8dfb8d7d9b701
X-Google-Attributes: gid1116f3,public
From: Alberto Soleto <Alberto.Soleto@sun.fr>
Subject: Re: imprimir desde un applet
Date: 1998/02/02
Message-ID: <34D62528.9F12607C@sun.fr>
X-Deja-AN: 321445114
Content-Transfer-Encoding: 8bit
References: <34D607EA.F8F@campus.uoc.es>
Content-Type: text/plain; charset=iso-8859-1
Organization: Sun Microsystems
Mime-Version: 1.0
Newsgroups: es.comp.lenguajes.java