在 .Net (C#) 服务器进程中,我想生成包含大量富文本(带有段落、字体样式等)的图像。富文本可以使用 RTF 或 HTML 来描述。
有没有办法将 RTF/HTML 转换为图像?由于它是一个服务器进程,我想避免使用 Windows 窗体控件。
在 .Net (C#) 服务器进程中,我想生成包含大量富文本(带有段落、字体样式等)的图像。富文本可以使用 RTF 或 HTML 来描述。
有没有办法将 RTF/HTML 转换为图像?由于它是一个服务器进程,我想避免使用 Windows 窗体控件。
您可以使用虚拟打印机并打印到图像。
不确定您要做什么。
如果它就像在服务器上为用户自动生成通行证,然后他们可以打印出来,那么我将使用通用处理程序 .ashx 并在内存中构建图像,然后将其写入响应。
如果最终用户将文本等放入浏览器并发回,请查看 webbrowser 控件,或者如果您愿意,它是 activex 的前身(IMO 功能更丰富)。我知道您想避开表单方面的事情,但您可以在内存中创建和使用其中一个控件。我认为可以在浏览器中呈现返回的 html(您可能必须使用一些 javascript 和隐藏字段来获取没有视图状态问题的纯 HTML)。从那里可以抓取或打印屏幕(或者如果实际显示控件,屏幕上会显示什么)!我确定我以前在某个地方使用过这个闪避。
给我一些更多的细节,我会试着为你收集一些例子。
您可以查看 Snowbound Rastermaster(商业 SDK)。也许他们会为你完成任务。
phantomjs(无头 WebKit 浏览器)可用于将呈现的 HTML 页面转换为图像。
从http://phantomjs.org/download.html安装它 并从命令行执行以下示例脚本:
./phantomjs ../examples/rasterize.js http://www.panoramio.com/photo/76188108 test.jpg
它将在 JPEG 文件中创建给定页面的屏幕截图。