У меня есть следующий код для проверки печати на конкретном принтере. Код отправляет печать на правильный принтер. Но после завершения печати у меня есть уведомления, изменился принтер по умолчанию системы.PrintDocument.PrinterSettings.Print() Изменение принтера по умолчанию
Я подумал, что сначала возможно, что свойство PrinterName устанавливало принтер по умолчанию, и быстро понял, что это не так. Я должен предположить, что это происходит внутри метода Print().
Я читал об изменении принтера по умолчанию, решения, которые я нашел, похоже, используют пространство имен System.Management. Но не нашел ничего, связанного с изменением принтера по умолчанию в пространстве имен System.Drawing.Printing.
Я считаю, что может быть простой способ изменить его обратно с использованием того же пространства имен, которое использовало его в первую очередь. Помимо повторной печати документа или пустого документа на ранее установленном принтере.
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();
}