Duplicar impresora
Buenas, no se si lo que voy a poner es medio descabellado o no.
Lo que quiero es saber si puedo duplicar una impresora a través de código. Me explico mejor, muchas veces vemos en las listas de impresoras de Windows que tenemos, por ejemplo: HP3050, HP3050 (Copiar 1), HP3050 (Copiar 2), y así. Luego, los mas ordenaditos a las copias les ponen nombres mas bonitos. Bueno, quisiera hacer esto, pero a través de Delphi. Ponerle un buen nombre, también a través de Delphi. Por supuesto que la impresora original la instalo con sus respectivos instaladores y todo. Pero a las siguientes las quisiera hacer a través de un proceso interno de Delphi. De paso, una vez que las copias cumplan con su misión, eliminarlas también por código. ¿Esto es posible o estoy medio loco y pido cosas raras? Gracias. |
En particular, me interesaría instanciar (duplicar) la impresora virtual PDFCreator y ponerle nombres particulares a cada una.
|
Santiago,
Y esas impresoras duplicadas las necesitas en una app en Delphi o una externa? Te lo pregunto porque si es desde una aplicación tuya, las puedes nombrar como quieras, al fin lo importante es el índex que ocupa la impresora en el arreglo de las mismas. |
Son para una aplicación en Delphi.
La misma aplicación que la duplica, la utiliza y luego la elimina. |
Claro, lo del nombre sería lo de menos. Lo importante es que se pueda duplicar desde el código Delphi.
|
Cita:
Lo que te trato de explicar es que en tu sistema lo que unico que tienes que tomar en cuenta, es cual impresora (cual numero en el arreglo de impresoras) es la "original" y guardar precisamente su indice, para luego al crear tu lista de impresoras "duplicadas", les asignes a estas el index que le corresponde a la original. Ya con el indice de la impresora, puedes mandar a imprimir a esta sin ningun problema, incluso tener acceso a sus propiedades. Saludos |
Ahh. Creo entender. Lo que me dices es que en realidad no tengo varias instalaciones de la misma impresora con distinto nombre, sino que tengo, en mi sistema, muchos nombres de impresoras que apuntan directamente a la única que tengo instalada.
|
Asi es Santiago, con todas sus letras.^\||/
|
El tema es que esta aplicación será instalada en un servidor central.
Cada usuario no conoce al otro usuario y menos que están compartiendo, en un servidor central (citrix), una sola impresora virtual. El problema se presenta cuando dos usuarios quieren mandar hacia pdfcreator en simultáneo, el primero gana la impresora y al segundo no le muestra el pdf que solicitó. De ahí mi idea de instanciar una impresora virtual cada vez que alguien solicita una impresión pdf. Con esto cambia el panorama, ¿Cómo se podrá encararlo? Saludos, Santiago. |
Si todo esto puede hacerse con código sería genial.
|
Que tal Santiago,
La verdad no se exactamente como funciona Citrix, pero se deberían de crear tantas impresoras en el servidor, como impresoras tenga el cliente (y que los drivers de cada una sean compatibles tanto en el server como en el cliente). Por lo tanto el cliente deberá de tener la posibilidad de imprimir en su propia instancia de impresora en el servidor. Un problema que a lo mejor acarrea citrix (que en Terminal Server se solucionó a partir del server 2008), es que al usuario le aparezcan todas las impresoras de todos los usuarios (muy probablemente diferenciadas por algun valor como podria ser el id de sesion), y le sea dificil seleccionar la suya. Te comento que yo al trabajar con TS tuve ese problema, lo solucioné obteniendo el ID de sesion de cada cliente, ya con ese podía reconocer plenamente las impresoras de cada uno de los clientes. Saludos. |
La franja horaria es GMT +2. Ahora son las 20:23:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi