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
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:
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:
1 2 3
|
using System.Diagnostics;
using System.ComponentModel; |
Encore merci pour la réponse
//édit
:oops: 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 :yaisse2:
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:
1 2 3 4 5 6
|
Option Explicit
Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
objNetwork.SetDefaultPrinter "(nom de l'imprimante)"
WScript.Quit |