¿Cómo crear una impresora virtual en Windows?
winapi printing (6)
Alguien más ya mencionó PDFCreator. Aquí hay un enlace más específico a su código que crea la impresora, el puerto y el monitor. A pesar de estar en VB, puedo seguirlo como alguien más acostumbrado a C ++, así que supongo que tú también puedes. modPrinter.bas hace el trabajo de la pierna. modMain.bas , desde aproximadamente la línea 28 en adelante, llama a modPrinter.bas.
Quiero crear un controlador de impresora virtual para Windows. ¿Donde debería empezar? El WDK tiene algunos ejemplos de controladores de impresión, pero nada que pueda usar. MSDN no parece ser muy útil.
Hay muchas impresoras virtuales para Windows (en su mayoría, generan PDF), ¿cómo lo hacen?
Cualquier enlace a la documentación que me parece faltar es apreciado.
Gracias.
Cree un monitor de puerto de impresión, asocie ese puerto con una impresora y obtendrá los datos que el controlador de la impresora envía al puerto.
aquí puede encontrar un ejemplo de cómo se hace en Cpp y java: http://www.mms-computing.co.uk/uk/co/mmscomputing/device/printmonitor/index.php
Cuando lo hice (hace aproximadamente 12 años) comencé con la muestra del controlador PostScript, reemplacé todas las cosas específicas de PostScript (en mi caso, para escribir en un mapa de bits en lugar de generar comandos PostScript).
También escribí un monitor de impresión personalizado (el controlador escribe en la cola de impresión, que escribe en un monitor): mi monitor escribió en un archivo en lugar de, por ejemplo, en el puerto paralelo.
Sin embargo, la arquitectura del controlador de impresora y / o el conjunto de controladores de muestra pueden haber cambiado desde entonces.
Este libro tal vez lo ayude a desarrollar controladores con Windows® Driver Foundation
Una lista de mis enlaces
- http://www.codeproject.com/KB/system/driverdev.aspx
- http://www.microsoft.com/whdc/ddk/winddk.mspx
- http://jungo.com/wdusb.html
- https://web.archive.org/web/20130717135254/https://msdn.microsoft.com/en-us/library/ff554651.aspx
- http://channel9.msdn.com/posts/Rory/Driver-Development-and-Much-More-With-Mike-Calligaro/
Puede consultar el desarrollo ''minidriver'' en Microsoft (Microsoft MDT), que podría ayudarlo en función de sus necesidades exactas. Si el puerto con el que tiene que tratar (es decir, va a tomar los datos de un controlador de impresora existente y desea procesarlos) puede buscar el código fuente de RedMon. No es compatible con Vista / Win7 pero podría apuntarle en la dirección correcta.
Uno de los controladores que menciona es de código abierto (GPL), tal vez pueda explorar su fuente o adaptarlo: http://www.pdfforge.org/products/pdfcreator/download