Comment modifier les paramètres de l'imprimante avec le contrôle WebBrowser?
J'ai finalement compris comment imprimer XML transformé sans intervention de l'utilisateur ou en affichant une fenêtre de IE, mais maintenant j'ai besoin de spécifier le nombre de copies et éventuellement d'autres paramètres de l'imprimante.
Est-il un moyen de modifier par programmation des paramètres de l'imprimante sur un contrôle WebBrowser?
Le code en question:
private static void PrintReport(string reportFilename)
{
WebBrowser browser = new WebBrowser();
browser.DocumentCompleted += browser_DocumentCompleted;
browser.Navigate(reportFilename);
}
private static void browser_DocumentCompleted
(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
if (null == browser)
{
return;
}
browser.Print();
browser.Dispose();
}
source d'informationauteur Chris Doggett
Vous devez vous connecter pour publier un commentaire.
La seule méthode que j'ai eu du succès, c'est de modifier le registre à la volée (et de les changer en arrière afin de ne pas affecter de toute autre chose).
Vous pouvez trouver les paramètres dont vous avez besoin à "Software\Microsoft\Internet Explorer\PageSetup" sous CurrentUser.
Pour changer l'imprimante, vous pouvez utiliser ceci:
Comme pour le nombre de copies, vous pouvez toujours mettre le WebBrowser.Impression dans une boucle while.
vous avez besoin de modifier les paramètres de registre via le code pour modifier les paramètres d'internet explorer ou le contrôle de navigateur web. consultez le lien ci-dessous, il explique comment le faire, aussi, si il ya plus d'options, vous devez modifier le registre, puis utilisez regedit.exe pour trouver ce que les autres touches internet explorer.
http://support.microsoft.com/kb/236777
ps: vous devriez noter que toutes les modifications que vous effectuez à l'aide de votre code pour internet explorer, les paramètres de registre est présent sur votre système/compte d'utilisateur.
Cela a bien fonctionné pour moi, mais je suis sur .NET 3.5