0

我意识到这个问题可能是一个很长的问题,但无论如何我都必须尝试。我正在 WPF c# 应用程序中做一个数学项目,可以在其中输入和求解数学方程。我在 Web 浏览器控件中渲染(显示)方程(因为它是唯一可以处理 MathML 的东西),并且我安装了 MathPlayer 3.0 以使 Internet Explorer 能够理解 mathML。

到目前为止,一切都顺利进行。我想根据用户过去所做的方程式生成报告,并希望此报告可打印。由于我使用的是 Web 浏览器控件,因此我想到了使用 Javascript window.print() 函数。唯一的问题是没有打印(可能是因为页面上的 mathML)。

那么有没有人可能对我有一些建议,关于如何在浏览器中打印 MathPlayer 呈现的 mathML(我在http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm上看到确实可以使用 MathPlayer mathML 打印页面,因为该页面是可打印的(右键单击,打印预览)。

非常感谢任何其他评论和任何形式的帮助!

4

2 回答 2

0

您也可以使用MathJax来呈现 MathML——打印应该可以正常工作。[免责声明:我是 MathJax 团队的一员}

于 2012-08-10T17:32:55.397 回答
0

好的,所以这不是我想要的,但我找到了一个非常“肮脏”的解决方法来做我需要的事情。

由于 Firefox 是唯一在没有插件的情况下原生支持 MathML 的浏览器,因此我将 Firefox 包含在项目安装中。因此,当尝试从我的 WPF 应用程序打印文档时,我将所有 HTML 写入文件并包含 javascript 以在正文完成加载时调用 document.print() 函数。然后,我创建了一个进程来启动我刚刚用 Firefox 创建的 HTML 文件,当浏览器打开时,javascript 将调用打印对话框。

正如我所说,这远非完美,但它是我打印 mathML 的一种方式,它在 browserControl 中呈现。

注意:Peter Krautzberger 的建议会奏效,但我希望我的应用程序能够独立于 Internet 连接运行。

于 2012-09-12T20:23:33.867 回答