Choisir une imprimante sous asp.net

cs_Xavier61 Messages postés 13 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 janvier 2005 - 23 févr. 2004 à 17:09
gautben87 Messages postés 3 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 8 mars 2006 - 8 mars 2006 à 15:06
Bonjour,
je rencontre un probleme lorsque je veux imprimer un etat crystal report, sur mon poste je n'ai que des imprimantes réseau. Quand J'imprime j'ai un message d'erreur qui me dit que je n'est pas d'imprimante installé.

le code saisie est (C#):
rphd.PrintOptions.PrinterName = "";// imprimante par defaut
rphd.PrintToPrinter(1,false,0,0);
pour que ca fonctionne je doit ecrire en dur le nom de l'imprimante

rphd.PrintOptions.PrinterName = "Ricoh Aficio AP3200 PCL";
rphd.PrintToPrinter(1,false,0,0);
Quelqu'un aurait -il une solution:
- soit pour trouver le nom de l'imprimante par défaut
- soit selectionner une imprimante

Merci D'avance
:shy) Xavier

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 févr. 2004 à 18:16
Essaye de poser ta question sur www.csharpfr.com car ici on traite de l'asp, il y a encore pas beaucoup de personne qui connaissent le .net et en asp principalement VB.net donc encore moins le C#
mais bon courage

Cyril (Alias Jesusonline)
0
cs_Xavier61 Messages postés 13 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 janvier 2005
23 févr. 2004 à 19:03
j'ai oublier de le préciser mais mon application tourne en asp.net et si quelqu'un a une solution (vb.net ou javascript ) je suis preneur
merci

:shy) Xavier
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 févr. 2004 à 19:43
si ton application tourne chez le client et que tu veux imprimer chez le client tu peux pas en utilisant un language serveur. Ce que tu pourras eventuellement faire, c'est imprimer ton rapport sur l'imprimante de ton serveur :p

Donc je te propose une solution javascript des plus simples :
<script language=javascript>
print();
</script>

Mais je connais pas crystal report, j'en ai encore jamais eu besoin mais pour imprimer chez le client je ferais comme ca

Cyril (Alias Jesusonline)
0
andlah Messages postés 28 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 16 juin 2008
22 mars 2004 à 16:14
André

InstalledPrinters de PrinterSettings est une méthode partagée que tu peux
accéder sans en créer une instance. Le code suivant liste le nom des imprimantes dans un ComboBox. Sers-toi de ces noms pour passer à la propriétée

PrintOptions.PrinterName de ton Crystal Report et la banane
est dans la poche:)

Dim StPrt As String
For Each StPrt In PrinterSettings.InstalledPrinters()
cboImprimantes.Items.Add(StPrt)
Next

If (me.ispostback=false) then

cboImprimantes.databind()

end if

J'espere que c'est ce que tu cherchais!!!
andlah@hotmail.com
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Xavier61 Messages postés 13 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 janvier 2005
22 mars 2004 à 21:11
Bonjour et merci de ta réponse. Malheureusement j'ai essayer ta methode mais elle me liste les imprimantes installer sur le serveur web et non les imprimantes du poste client, d'autre part elle ne me trouve pas les imprimantes réseaux je suis obligé de creer les ports lpr sur mon serveur.
Merci quand meme pour ton aide
Xavier
:shy) Xavier
0
andlah Messages postés 28 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 16 juin 2008
23 mars 2004 à 17:09
Tu ne peux pas utiliser de fonctionnalités serveur d’impression (i.e VB.NET) pour imprimer à partir du client puisque ces fonctionnalités s’exécutent sur le serveur. Donc adieu les Printer.QuelqueChose et les PrinterOptions etc. Tout ce qu’il te reste (et c’est pas une joke) c’est un bouton HTML ajouté aux côtés de ton CrystalReportViewer au sein duquel tu ajoutes le code JavaScript suivant :







Technologie client oblige. Et il n’y a pas d’histoires de création de port, etc… La seule autre technique possible est la création et le téléchargement sur le client (avec son autorisation) d’un plugIn un peu comme le lecteur Flash.
0
gautben87 Messages postés 3 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 8 mars 2006
8 mars 2006 à 15:06
Bonjour, voila mon code, si kk1 peut me dire pk ca marche pa

Try
Dim nom_imp As String
For Each nom_imp In PrinterSettings.InstalledPrinters
dd_imp.Items.Add(nom_imp)
Next
lbl_msg.Text = "Passage par le try"
Catch ex2 As Exception
lbl_msg.Text = ex2.Message
End Try

Et voici le import : Imports System.Drawing.Printing
0
Rejoignez-nous