C # 웹 서비스에서 HTML을 인쇄하고 싶습니다. 웹 브라우저 제어는 과도하고 서비스 환경에서 제대로 작동하지 않으며 보안 제약이 매우 엄격한 시스템에서도 제대로 작동하지 않습니다. .NET
기본 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 유형 스레드에서 호출하면 제대로 작동하지만 서비스 유형 스레드에서 호출되면 아무 일도 일어나지 않습니다. 변경 Print()
에 ShowPrintPreviewDialog()
수율 다음 IE 스크립트 오류 :
오류 :
dialogArguments.___IE_PrintType
null이거나 개체가 아닙니다.URL :
res://ieframe.dll/preview.dlg
그리고 작은 빈 인쇄 미리보기 대화 상자가 나타납니다.