我想从C# web服务打印HTML。 Web浏览器控件过大,在服务环境中不能很好地运行,在安全性非常严格的系统上也不能很好地运行。是否有任何免费的.NET库可以支持基本HTML页面的打印?
解决方案:
我们可以使用以下命令从命令行进行打印:
rundll32.exe %WINDIR%\System32\mshtml.dll,PrintHTML "%1"
其中%1是要打印HTML文件的文件路径。
如果我们不需要从内存中打印(或者可以承受以临时文件的形式写入磁盘),则可以使用:
using (Process printProcess = new Process()) { string systemPath = Environment.GetFolderPath(Environment.SpecialFolder.System); printProcess.StartInfo.FileName = systemPath + @"\rundll32.exe"; printProcess.StartInfo.Arguments = systemPath + @"\mshtml.dll,PrintHTML """ + fileToPrint + @""""; printProcess.Start(); }
日期:2020-03-23 14:46:20 来源:oir作者:oir