J'ai le code suivant pour tester l'impression sur une imprimante spécifique. Le code envoie l'impression à l'imprimante correcte. Mais j'ai des avis à la fin de l'impression, l'imprimante par défaut du système a changé.PrintDocument.PrinterSettings.Print() Modification de l'imprimante par défaut
Je pensais que peut-être que la propriété PrinterName définissait l'imprimante par défaut, et j'ai rapidement réalisé que ce n'était pas le cas. Je dois supposer que cela se passe dans la méthode Print().
J'ai fait quelques lectures sur le changement de l'imprimante par défaut, les solutions que j'ai trouvées semblaient utiliser l'espace de noms System.Management. Mais n'a rien trouvé lié à la modification de l'imprimante par défaut dans l'espace de noms System.Drawing.Printing.
Je me dis qu'il pourrait y avoir un moyen simple de le changer en utilisant le même espace de noms qui l'a utilisé en premier lieu. Autre que réimprimer le document ou un document vierge à l'imprimante par défaut précédente.
static void Main(string[] args)
{
Receipt();
}
static private void Receipt()
{
PrintDocument p = new PrintDocument();
p.PrinterSettings.PrinterName = "Star HSP7000 Receipt";
p.PrintPage += delegate(object sender1, PrintPageEventArgs e)
{
e.Graphics.DrawString("testtesttestest", new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height));
};
p.Print();
}