Traitée Impression via WCF

  • dimanche 18 mars 2012 15:32
     
      A du code

    Bonjour,

    Je voudrais envoyer le flux au service WCF  et le nom d’une imprimante et lui demander de faire l’impression.

     [OperationContract(Name = "Print")]
     [FaultContract(typeof(Application), Action = "FaultAction")]
     void PrintDocument(byte[] data, string printerName, string fileExtension);

    Comment puis-je procéder sachant que je dois imprimer des docs word, pdf mais aussi image et text ?

Toutes les réponses

  • dimanche 18 mars 2012 19:35
    Modérateur
     
     Traitée A du code

    Bonjour,

    Vous devez enregistrer le contenu de votre document (paramètre data) dans un fichier temporaire. Ensuite, il suffit d'exécuter le code suivant :

    Process process = new Process();
    process.StartInfo.FileName = "< Emplacement de votre document >";
    process.StartInfo.UseShellExecute = true;
    process.StartInfo.Verb = "print";
    process.Start();

    Cela va lancer l'application associé à votre document et exécuter l'impression (comme si vous fesiez clic-droit sur votre document + imprimer).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0