2017-11-22 6 views
0

私は正確な問題に焦点を当てていないが、Googleは結果が不足していることを知っている。 Visual Basic .Netで小さなアプリケーションを作成しようとしていて、特定のプリンタに印刷する必要のあるHTML文字列を持っています。問題は私が試したことです:WebBrowserコントロールとAcrobatウィンドウなしでHTMLを印刷する方法は?

  • HTMLファイルをWebブラウザで印刷します。問題は、特定のプリンタには印刷できないということです。デフォルトのプリンタにのみ印刷できます。
  • htmlToPdfパッケージを使用してPDFに変換しますが、(1)WindowsではAcrobat Readerとファイルの関連付けが必要です。(2)Acrobat Readerはかなり専門的ではありません。最初のコメンターが提供するソリューションへ

EDIT

おかげで、私は部分的にそれを作りました。問題は、最初のドキュメントは完全に印刷されますが、次のものは最初の指定されたプリンタに印刷されます(デバイスとプリンタでは、デフォルトのプリンタは変更されますが、ターゲットプリンタは最初のものです)。

答えて

0

ユーザーの入力に合わせて印刷する必要がある場合は、このコードを使用してデフォルトのプリンタを変更し、印刷を完了した後に元のプリンタに戻すことができます(ソース:http://codesnippets.fesslersoft.de/how-to-set-the-default-printer-in-c-and-vb-net/

Public Shared Sub SetDefaultPrinter(ByVal printername As String) 
     Dim type As var = Type.GetTypeFromProgID("WScript.Network") 
     Dim instance As var = Activator.CreateInstance(type) 
     type.InvokeMember("SetDefaultPrinter", System.Reflection.BindingFlags.InvokeMethod, Nothing, instance, New Object() {printername}) 
    End Sub 

また、送信するプリンタをユーザーが選択できるようにする場合は、次のように試してみてください。

WebBrowser1.ShowPrintPreviewDialog() 

または

WebBrowser1.ShowPrintDialog() 
+0

ソリューションをありがとうございました。私は別の問題に遭遇しました。最初の文書は完全にプリンタですが、次の文書は最初に指定されたプリンタに印刷されます(デバイスとプリンタではデフォルトの変更が行われますが、ターゲットプリンタは最初のままです)。コードを更新しました。ありがとうございました! –

+0

これはおそらくあなたを助けるでしょうhttps://stackoverflow.com/questions/2561078/printing-from-webbrowser-control-prints-to-wrong-printer-after-setting-default – user4574834

関連する問題