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

ASP.NET Discussion :

Lancer des impressions


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut Lancer des impressions de fichiers PDF coté serveur en passant l'impri
    Bonjour,
    Je dois trouver une solution pour lancer l'impression d'un lot de fichiers PDF lors d'un clic sur un bouton d'un formulaire asp.net.
    Pour faire simple mon problème est le suivant : l'application doit lancer l'impression de manière totalement transparente pour l'utilisateur, (sans ouvrir les documents PDF dans acrobat reader, sans aucune nouvelle validation, ni quoi que ce soit). De plus, suivant le format du document, l'application doit choisir la bonne imprimante.
    La questions est donc la suivante : est-ce faisable en webform ? Comment ?

    Merci pour vos réponses

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    Je pense que c'est possible à partir du moment où le serveur connait et a accès aux imprimantes nécessaires.

    En gros, je ne pense pas que cela soit possible côté client avec du javascript. Mais côté serveur, je ne vois pas de problème.

    Pour imprimer un doc, je pense que tu peux utiliser un process faisant appel à Acrobat Reader en lui passant les arguments nécessaires pour l'impression.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut lancer une impression d'un PDF coté serveur en passant l'imprimante en paramètre
    Merci pour la réponse.
    Je crois que je ne suis pas au bout de mes peines (pour des questions de sécurités et imprimantes pas forcément en ip). Par contre si ça peut servir, j'ai essayé en utilisant un process coté serveur et ça marche bien en effet si on peut renseigner l'adresse du fichier et l'ip de l'imprimante sur laquelle on veut lancer l'impression.
    Exemple de code chiné sur le forum et un peu trafiqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Process impression = new Process();
    ProcessStartInfo info = new ProcessStartInfo();
    info.FileName = @"C:\TEMP\essai.pdf"; // mettre le chemin vers le fichier à imprimer
    info.Verb = "print";
    info.CreateNoWindow = true;
    info.Arguments = "xxx.xxx.xxx.xxx"; // remplacer par l'ip de l'imprimante
    info.WindowStyle = ProcessWindowStyle.Hidden;
    info.UseShellExecute = true;
    impression.StartInfo = info;
    impression.Start();
    Par contre il faut rajouter ça en haut de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    using System.Diagnostics;
    using System.ComponentModel;
    Encore merci pour la réponse

    //édit
    Au fait ça ne marche toujours pas :
    - acrobat reader qui est lancé par le process ne prend pas en compte l'ip de l'imprimante, mais balance l'impression sur l'imprimante par défaut du serveur.
    - acrobat reader s'ouvre et ne se referme pas.
    //fin édit

    //2eme Edit
    Je lance un scripts vbs dans un premier process pour charger la bonne imprimante en temps qu'imprimante par défaut du système. Voici le code du fichier vbs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Option Explicit
    Dim objNetwork
    Set objNetwork = CreateObject("WScript.Network") 
    objNetwork.SetDefaultPrinter "(nom de l'imprimante)" 
    WScript.Quit

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    Et bien, mon appli fonctionne presque, si ce n'est que depuis que j'ai mis la solution sur un win 2003 + IIS 6.0, les vbscripts ne se lancent pas.
    Pourtant dans les propriétés d'IIS, dans les paramètres d'application, j'ai bien renseigné "scripts et exécutables" pour les autorisations d'exécution.

Discussions similaires

  1. en vb peut-on lancer des impression en masse ?
    Par polako94 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 13/11/2007, 11h56
  2. [CR8.5]lancer plusieurs impressions sans utiliser l'ocx
    Par sboober dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/05/2005, 10h08
  3. [XP SP2] Surveillance des impressions
    Par sorry60 dans le forum Windows XP
    Réponses: 9
    Dernier message: 02/03/2005, 12h57
  4. Lancer des shell unix pour creation d'objet ORACLE
    Par sygale dans le forum Administration
    Réponses: 6
    Dernier message: 27/10/2004, 18h03
  5. lancer des processus
    Par dylan dans le forum Général Python
    Réponses: 2
    Dernier message: 10/06/2004, 14h02

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