.net - printer++
Escribir una impresora virtual en.NET (9)
Estoy buscando crear una impresora virtual que transfiera datos a mi aplicación .NET. Entonces quiero crear un instalador que instale tanto la impresora como la aplicación .NET. Sería realmente agradable poder escribirlo todo en C #, pero tengo la sensación de que esto requerirá que se escriba un controlador de impresora sin código administrado. ¿Alguien sabe de un tutorial bastante limpio o un ejemplo de cómo hacer esto?
¿Por qué no considerar usar un enfoque alternativo? Como utilizar un programa de impresión intermedio ya preparado, como la aplicación de impresión a PDF disponible gratuitamente. Entonces, todo lo que necesita es decodificar PDF utilizando una biblioteca de terceros (que también tiene variancia libre y de código abierto) en lugar de romperse la cabeza para reinventar la rueda. Hay otra aplicación de impresión a XXX que también podría considerar dependiendo del formato que considere oportuno.
Creo que tendrás que hacer un montón de envoltorios de WinAPI. Comience a investigar sobre el Kit de desarrollo de controladores de Windows para encontrar las cosas que debe hacer.
También encontré este Printer Engine Resource Toolkit comercial para .NET ...
No me parece que interpretar el enfoque PDF sea bueno tampoco. No sé por qué quieres hacer lo que quieres hacer. Tal vez estés tratando de escribir una impresora PDF tuya.
Creo que deberías darle un vistazo al desarrollo del controlador de Windows. Si desea desarrollar un controlador de impresora, creo que tendrá que hacerlo en C ++.
Buena suerte.
No puedes. El modelo de controlador de Windows es nativo.
Simplemente podría hacer que su aplicación se exponga como una impresora de tipo LPD o monitorizar el puerto 9100. Luego puede instalar cualquier controlador de impresión que desee, y apuntarlo a su aplicación.
Estaba buscando una respuesta para una pregunta similar, y encontré este enlace a través de Wikipedia - http://www.colorpilot.com/emfprinterpilot.html (permite crear impresoras virtuales en diferentes idiomas)
Si recuerdo correctamente, Microsoft no admite .NET dentro del desarrollo del controlador de la impresora. Todavía tengo que encontrarme con un controlador de impresora .NET puro. ¡Serás un hombre muy valiente para hacerlo! El sitio web "Printer Driver Resource Toolkit" no dice que el controlador se haya escrito en .NET
Visite http://www.printerplusplus.com . Es una impresora virtual .NET de código abierto. Le proporciona un instalador y una clase .NET para escribir código y procesar sus "datos de impresora".
Hizo exactamente lo que está preguntando utilizando el proyecto Github: Microsoft / Windows-driver-samples / print / XPSDrvSmpl
https://github.com/Microsoft/Windows-driver-samples/tree/master/print/XPSDrvSmpl
Instalador: http://wixtoolset.org/
Aplicación: escuchar el puerto interno
Flujo: instale la impresora y la aplicación desde un único instalador. El usuario imprime algo con su controlador y mientras la aplicación escucha el puerto interno. Cuando se envían datos, la aplicación los recoge. Esto es para XPS, se puede convertir a PDF, pero el flujo es similar sin importar lo que está imprimiendo. Si necesita algo más, consulte Microsoft / Windows-driver-samples / print / en GitHub u otras fuentes específicas para sus necesidades.