Единственный метод, с которым мне удалось добиться успеха, - это изменение реестра на лету (и его обратное изменение, чтобы больше ни на что не влиять).
Необходимые настройки можно найти в «Software \ Microsoft \ Internet Explorer \ PageSetup» в CurrentUser.
Чтобы заменить принтер, вы можете использовать это:
using System.Management
public static bool SetDefaultPrinter(string defaultPrinter)
{
using (ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"))
{
using (ManagementObjectCollection objectCollection = objectSearcher.Get())
{
foreach (ManagementObject mo in objectCollection)
{
if (string.Compare(mo["Name"].ToString(), defaultPrinter, true) == 0)
{
mo.InvokeMethod("SetDefaultPrinter", null, null);
return true;
}
}
}
}
return false;
}
Что касается количества копий, вы всегда можете поместить цикл WebBrowser.Print в цикл while.