2010-01-11 3 views
3

Je reçois la file d'attente de l'imprimante ciblée et parcourt la liste des tâches qui s'y trouvent. Lorsqu'un travail n'est pas IsSpooling, j'essaie de lire le JobStream pour voir le travail d'impression.PrintSystemJobInfo.JobStream est-il rompu?

Jusqu'ici, JobStream a toujours été nul. Mes documents imprimés proviennent de l'application DOS et doivent être en texte pur. J'ai mis l'imprimante en pause pour protéger la forêt tropicale, mais je devrais être en mesure d'obtenir les données spoulées, non?

Ai-je raté quelque chose ou est-ce que PrintSystemJobInfo.JobStream est cassé?

+0

Je n'ai pas trouvé de solution, mais je posterai si/quand je le fais. – rozon

Répondre

2

Cette valeur sera presque toujours nulle. Reportez-vous à ce message sur le forum: http://www.vbforums.com/showthread.php?t=549634

Si vous voulez le JobStream binaire actuel, le mieux est de lire le fichier spool (.SPL) depuis le répertoire "C: \ Windows \ System32 \ spool \ PRINTERS". Vous pouvez mettre le travail en pause avant de l'imprimer ou définir le paramètre "conserver les travaux d'impression" comme indiqué dans la publication sur le forum lié. Soyez prévenu cependant, ces données viennent dans une gamme de formats tout dépendant du conducteur créant le dossier de bobine et de l'application initiant l'impression. Extraire des données de ce flux n'est pas une tâche triviale car il va changer du pilote d'imprimante au pilote d'imprimante. Si vous travaillez avec une seule imprimante connue, vous pouvez avoir du succès.

+0

'JobStream' semble être nul même lors de la lecture d'un travail d'impression avec Win32 API fonctionne bien (parce que l'imprimante est bidirectionnelle ou parce que le travail est dans la file d'attente du spouleur pas encore envoyé). Pour le lire, utilisez ['OpenPrinter (" PrinterName, Job JobID ")'] (http://msdn.microsoft.com/fr-fr/library/windows/desktop/dd162751 (v = vs.85) .aspx) , puis ['ReadPrinter'] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd162895 (v = vs.85) .aspx) sur ce handle. – GSerg

Questions connexes