Ya que estamos, voy a contribuir a terminar con el aburrimiento.

Necesito desarrollar un programita que:
1) detecte cuando se envió una impresión desde determinada ventana de windows
2) pause la impresión
3) capture los archivos temporales que genera windows en la carpeta 
c:\windows\system32\spool\printers\*.shl y *.shd y genere una imagen de los 
mismos
4) pregunte algunos datos
5) convierta esos archivos a pdf (puede ser con una impresora virtual) 
6) guarde los pdf, y además los envíe por mail, ingrese datos en otro sistema, 
etc., etc. 
7) permita continuar la impresión en papel.

El usuario está obligado a utilizar la impresora prederminada, por lo que salvo 
que ponga una impresora virtual pdf como predeterminada, no puede imrimir a pdf 
 ya que no puedo modificar el programa que genera esas impresiones.

Estuve trabajando con la impresora a pdf utilizando el PDFCreator:
http://www.pdfforge.org/products/pdfcreator
Lo que logré hacer hasta ahora es que si envían un impresión a la impresora 
pdf, llame a un programa que realiza los puntos 4 a 7, pero no encontré la 
forma de convertir los shl en una imagen que pueda enviar a la impresora pdf. 

Googleando, encontré un programa en .net que muestra en pantalla la imagen que 
está en los archivos shl:
http://www.codeguru.com/vb/gen/vb_misc/printing/article.php/c9819/
pero todavía no me metí en .net, así que se me complica agregarle los puntos 1 
y 2), conectarlo a lo que ya armé y al pdfcreator.

Ambos programas son open source, aunque el 2º no publicó en forma completa el 
fuente. Hay varios programas en internet que capturan el spooler, pero no son 
royalty free, con lo cual, los valores se van a las nubes.

Cualquier idea, rutina, etc., etc. será muuuuuuuuuuy bienvenida. Tanto en .net 
como en visual 6.

Muchas gracias

Viviana



Responder a