2009-11-03 8 views
5

En los cibercafés donde las personas pueden imprimir, a veces imprimen más páginas de las que pretendían."¿Está seguro de que desea imprimir páginas X?" cuadro de diálogo antes de imprimir ... (para cualquier aplicación)

Estoy buscando una manera de mostrar un "¿Está seguro de que desea imprimir páginas X?" cuadro de diálogo después de presionar imprimir (en cualquier aplicación), pero antes de que el trabajo se envíe a la cola.

Estoy buscando punteros sobre cómo implementar dicho gancho.

(He considerado la modificación de una impresora PDF de software libre para imprimir por primera vez en un PDF y luego mostrar el cuadro de diálogo y luego, si el usuario pulsa "Sí", se imprime en la impresora real. Pero esto parece una manera muy indirecta de hacer esto y uno también pierde características específicas de la impresora de esta manera.)

+0

Nunca llegué a implementar esto yo mismo. Pero encontré un software de administración de Internet Cafe que puede hacer esto: http://www.truecafe.net/doc/printer_watcher.html –

Respuesta

3

Una de las cosas que podría hacer que también es una especie de ronda, es pausar la cola de impresión, imprimir su trabajo, obtener un conteo de páginas, y luego solicitar el usuario para la confirmación. Si el usuario aprueba el trabajo, libere la cola de impresión. No tengo las llamadas de API a mano, pero he manipulado las colas de cola de impresión con bastante facilidad.

Por supuesto, la desventaja de esta idea es si la cola está basada en el servidor y podrían surgir posibles problemas de permisos.

Otra alternativa sería forzar la salida a un archivo WMF o EMF y contar el recuento de páginas de esa manera, luego entregarlo a la cola de impresión. Esto es similar a su idea de enviarlo a PDF, pero utiliza un enfoque nativo. (Esto es básicamente lo que las aplicaciones hacen típicamente (hicieron) para hacer vistas previas: renderizar el trabajo en un formato de metarchivo que luego se muestra en la pantalla o en la impresora)

Lamentablemente, no hay forma de obtener el recuento de páginas por adelantado de renderizar el trabajo de impresión a menos que esté íntimamente enterado de los contenidos y pueda juzgarlo, por lo que se verá obligado a realizar al menos las tareas de impresión.

Espero que esto ayude.

+0

Me gusta la solución de pausa en la cola de impresión, ¡gracias! Parece simple. La mayoría de estas impresoras están basadas en TCP/IP, por lo que cada estación de trabajo tiene su propia cola. La solución WMF/EMF parece más limpia, pero no tengo idea de cómo comenzar allí –

Cuestiones relacionadas