C#WebサービスからHTMLを印刷したいとします。 Webブラウザコントロールは過度の機能であり、サービス環境ではうまく機能せず、セキュリティ制約が非常に厳しいシステムではうまく機能しません。基本的なHTMLページの印刷をサポートする無料の.NET
ライブラリがありますか?ここに私がこれまで持っているコードがありますが、これは正しく動作しません。WebサービスからHTMLドキュメントを印刷するにはどうすればよいですか?
public void PrintThing(string document)
{
if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
{
Thread thread =
new Thread((ThreadStart) delegate { PrintDocument(document); });
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
else
{
PrintDocument(document);
}
}
protected void PrintDocument(string document)
{
WebBrowser browser = new WebBrowser();
browser.DocumentText = document;
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
browser.Print();
}
UI型スレッドから呼び出されたとき、これは正常に動作しますが、サービス型のスレッドから呼び出されたときに何も起こりません。
Error: 'dialogArguments.___IE_PrintType' is null or not an object
URL: res://ieframe.dll/preview.dlg
と小さな空の印刷プレビューダイアログが表示されます:にPrint()
を変更すると、次のIEのスクリプトエラーを生成します。
最良の答えを選択してください、ありがとう。 – mruanova
@mruanova最後にやった答えはありませんでした。あなたが働いているものがあれば私たちに知らせてください。 –