c 打印html文档,c# – 如何从Web服务打印HTML文档?

我想从C#web服务打印HTML。 Web浏览器控件是过度的,并且在服务环境中不能很好地工作,也不能在具有非常严格的安全约束的系统上良好地工作。有什么类型的免费.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脚本错误:

Error: ‘dialogArguments.___IE_PrintType’ is null or not an object

URL: res://ieframe.dll/preview.dlg

将出现一个小的空白打印预览对话框。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值