Comment créer une imprimante virtuelle sous Windows?
je veux créer une imprimante virtuelle pour Windows. Où dois-je commencer? Le WDK a quelques exemples de pilotes d'impression, mais rien que je puisse utiliser. MSDN ne semble pas très utile.
il y a beaucoup d'imprimantes virtuelles pour Windows là-bas (la plupart génèrent des fichiers PDF), comment font-elles?
tous les liens vers la documentation que je semble manquer sont appréciés.
Merci.
6 réponses
quand je l'ai fait (ce qui il y a environ 12 ans) j'ai commencé avec l'échantillon de pilote postscript, remplacé tous les trucs spécifiques à postscript (dans mon cas, pour écrire sur un bitmap au lieu de générer des commandes postscript).
j'ai aussi écrit un moniteur d'impression personnalisé (le pilote écrit au spooler, qui écrit à un moniteur): mon moniteur a écrit à un fichier au lieu par exemple du port parallèle.
cependant, l'architecture du pilote d'imprimante et / ou l'ensemble des pilotes d'exemple peuvent avoir changé depuis.
vous pouvez consulter le développement' minidriver ' dans le de Microsoft (Microsoft MDT), qui peut vous aider en fonction de vos besoins exacts. Si le port que vous devez gérer (c'est-à-dire que vous allez prendre les données d'un pilote d'imprimante existant et que vous voulez les traiter), vous pouvez consulter le code source de RedMon. Il ne supporte pas Vista / Win7 mais pourrait vous indiquer la bonne direction.
ce livre peut vous aider développer les pilotes avec la Fondation pilote Windows®
Une liste de mes liens
- 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/
L'un des pilotes que vous mentionnez est open-source (GPL), peut-être pourriez-vous explorer sa source ou l'adapter: http://www.pdfforge.org/products/pdfcreator/download
Quelqu'un d'autre a déjà mentionné PDFCreator. Voici un lien plus spécifique à leur code qui crée l'imprimante, le port et le moniteur. En dépit d'être dans VB, je peux le suivre comme quelqu'un plus habitué à C++, donc je suppose que vous pouvez aussi. modPrinter.bas le travail des jambes. modMain.bas, à partir de la ligne 28, appelle modPrinter.bas.
créez un moniteur de Port D'impression, associez ce port à une imprimante, et vous obtiendrez les données que le pilote d'imprimante envoie au port.
exemple pratique de la façon de faire en Cpp et java peut être trouvé ici: http://www.mms-computing.co.uk/uk/co/mmscomputing/device/printmonitor/index.php