PascalCmoa
Messages postés239Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention17 janvier 2013
-
6 oct. 2011 à 14:59
vb95
Messages postés3418Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023
-
24 avril 2019 à 13:28
Je suis en train de mettre en place les gestions d'impression d'états Crystal Report en mettant au point une classe.
Les imprimantes sont toutes sur IP fixe.
Pour imprimer les états je passe par:
Pour trouver mon imprimante par son adresse IP j'ai cette méthode:
private string GetBadgePrinter()
{
String result = "";
ManagementObjectSearcher search = new ManagementObjectSearcher("SELECT * from Win32_Printer");
ManagementObjectCollection coll = search.Get();
foreach (ManagementObject obj in coll)
{
String myIP = "192.168.1.55";
string portName = obj["PortName"].ToString();
if (portName.Contains(myIP))
{
result = obj["Name"].ToString();
return result;
}
}
return result;
}
Ce code fonctionne bien, mais il faut que je passe par les adresses IP pour faire mes impressions. Malheureusement PrintOptions.PrinterName n'accepte que les String. Je pensais donc passer par un socket pour envoyer mon impression d'état CR, mais je n'obtient que des codes ascii sur 20 pages (au moins).
J'ai utilisée les méthode suivante pour réaliser cette action non concluante: