【问题标题】:How to print MathML in javascript window.print() function如何在 javascript window.print() 函数中打印 MathML
【发布时间】:2012-07-29 15:15:54
【问题描述】:

我意识到这个问题可能是一个很长的问题,但无论如何我都必须尝试。 我正在 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 打印页面,因为所述页面是可打印的(右键单击,打印预览)。

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

【问题讨论】:

  • UDPATE:javascript 函数:window.print() 在 WPF Web 浏览器控件中根本不起作用......所以有人知道我可以打印 MathML 方程的其他方式吗?

标签: c# javascript wpf mathml


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2023-04-03
      相关资源
      最近更新 更多