IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

imprimante virtuelle help


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut imprimante virtuelle help
    Bonjour,

    J'ai un programme, une form plus precisement, qui controle toutes les demi secondes si la file d'attente d'une imprimante se remplie, si oui elle lance un autre programme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    LocalPrintServer localPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
                PrintQueue printQueue = localPrintServer.GetPrintQueue("Canon");
                if (printQueue.NumberOfJobs > 0)
                {
                   /* ici j'aimerais recuperer le chemin du document qui a voulu etre imprimer et l'envoais en argument a mon autre programe que j'ouvre ci dessous */
                        Process p = new Process();
                        p.StartInfo = new ProcessStartInfo();
                        string cheminprogramme = ConfigurationManager.AppSettings["cheminprogramme"]; 
                        p.StartInfo.FileName = @cheminprogramme;
                        p.Start();
                }
    Plusieurs questions pour resoudre mon probleme mais aucune reponse... :

    - Comment recuperer le chemin du document qui a voulu être imprimer et l'envoyais en argument au programme que j'ouvre
    - Comment recuperer les données envoyer a l'imprimante? Vu que je dois les garder sur un serveur...
    - A l'impression y'a t-il un fichier qui est créer contenant les données ?
    - Ou alors comment créer une imprimante qui enregistre automatiquement dans un dossier precis sous le format XPS a part celle deja integrer dans windows ?
    Et apres dans mon programme je teste si ce dossier ce remplie si oui je recupere ce xps pour l'envoyer sur un serveur distant et supprime le fichier local

    Merci beaucoup !!
    Dernière modification par Invité ; 05/12/2012 à 13h08.

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Citation Envoyé par koulouf Voir le message
    - Comment recuperer le chemin du document qui a voulu être imprimer et l'envoyais en argument au programme que j'ouvre
    Bluedeep a déjà répondu à ta question, dans ton Thread récupérer chemin fichier reprenant le même problème...
    Citation Envoyé par Bluedeep Voir le message
    Sous toutes réserves :

    Imprimer un document revient pour une application à créer un PrintJob et à mettre ce qu'il y à imprimer dedans; à partir du moment ou le job est prêt pour le spooling il n'y a plus aucune relation avec le document d'origine (d'autant qu'une impression n'a aucune obligation a émaner d'un document).

    La relation document -> données à imprimer n'existe que pour l'application en charge de l'impression.

    Donc, a priori, ta question n'a pas de réponse puisque c'est une notion qui n'a pas d'existence vu du point de vue du gestionnaire d'impression.

    Tout au plus l'application en charge de l'impression peut choisir (ou pas !) de mettre dans le JobName une référence au nom du document.


    Tu peux néanmoins tenter d'examiner la PropertiesCollection de l'instance PrintJobInfo associée au Job pour voir si il y a quelque chose dedans (peut être que l'application en charge de l'impression du document met cette information dedans ... je n'en sais rien).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Alors comment recuperer les données ?

    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Citation Envoyé par koulouf Voir le message
    Alors comment recuperer les données ?
    Je doute que ce soit exploitable ou même possible
    Mais à tout hasard tu peux regarder du coté RedirectStandardOutput et RedirectStandardError et voir ce que tu récupères...

  5. #5
    Invité
    Invité(e)
    Par défaut
    RedirectStandardOutput et RedirectStandardError j'ai fais quelque recherche mais cela sert a quoi ? pas trop cimpris, un exemple peut etre ?

    Merci FrameBreak

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    RedirectStandardOutput te permet de rediriger la sortie standart dans un string:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                Process process = new Process();
                process.StartInfo.FileName = path;
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardError = true;
                process.Start();
                process.WaitForExit(10000);
     
                string resultat = process.StandardOutput.ReadToEnd();
                string resultatErr = process.StandardError.ReadToEnd();

  7. #7
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Citation Envoyé par koulouf Voir le message
    Alors comment recuperer les données ?
    J'ai répondu à ta question, la seule solution est de gérer toi même les impressions et non d'espionner la file d'attente:
    - Impossible de connaitre le path des doc en attente
    - RedirectStandartOutput peut te retourner des informations (mais je doute de leurs utilitées), mais comme tu n'as pas le chemin des fichiers à imprimer ...
    Revois ton projet, la solution possible est que ton imprimante stocke le fichier imprimé sur un lecteur réseau (certaines imprimantes te le permet)... Ainsi tu auras le chemin!!!

  8. #8
    Invité
    Invité(e)
    Par défaut
    Alors comment faire une imprimante qui stocke le fichier imprimé sur un lecteur réseau ou un lecteur simple?

    Merci

  9. #9
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Citation Envoyé par koulouf Voir le message
    Alors comment faire une imprimante qui stocke le fichier imprimé sur un lecteur réseau ou un lecteur simple?
    T'acheter une meilleure imprimante , pour mon cas je travail avec une konica qui me le permet...

Discussions similaires

  1. Imprimante virtuelle sous debian
    Par mic79 dans le forum Administration système
    Réponses: 2
    Dernier message: 14/04/2006, 19h45
  2. imprimante virtuelle (vb6)
    Par Dragon_Back dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/12/2005, 00h09
  3. Imprimante virtuelle
    Par odelayen dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 19/05/2005, 09h55
  4. Imprimante virtuelle excel...
    Par JerBi dans le forum Excel
    Réponses: 3
    Dernier message: 19/04/2005, 07h59
  5. Création d'une imprimante virtuelle
    Par pilpagouna dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/06/2004, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo