java - 适用于 GAE 的 MathML 到图像(如 JEuclid)

标签 java google-app-engine apache-fop mathml

我想知道是否有人成功地将 MathML 表达式转换为 GAE 中的图像。

GAE 对允许的类施加了许多限制(再见 FOP/JEUclid),而且我无法在前端(mathjax)中执行逻辑,因为目标是打印 pdf。

到目前为止,我考虑要么更改 PaaS,要么切换到 GAE 中的托管虚拟机,但这似乎有些过头了。

谢谢

最佳答案

我有处理数学公式和生成 PDF 的经验。这花了一些时间,但我设法在 Appengine 上做到了这一点。我尝试了大多数已知的库,包括 FOP,当然,它们都不能在 gae 上运行。

我正在使用什么:

  • mathtex.cgi用于数学渲染。它可以通过HTTP调用生成图像,只需在请求中传递公式,并得到PNG。我已经安装在单独的服务器上(我已经有这个服务器,非常基本的服务器,用于 WordPress 等,所以这不是问题)。此外,您还可以找到一些带有 mathtex.cgi 的公共(public)服务器,包括官方服务器,您可以使用它们而无需拥有自己的服务器
  • appengine-itext对于 PDF。它有一些小问题,但大部分都有效。要将公式放入 PDF,我遵循了以下技巧:一个简单的正则表达式用 <img> 替换数学代码。指向虚拟协议(protocol)的标签 math:// ,那么我有一个自定义ImageProvider通过使用 MathTex 为此类 url 呈现公式
  • 对于浏览器客户端,MathJax 运行良好

有点 hacky,需要一个便宜的外部服务器,但可行

关于java - 适用于 GAE 的 MathML 到图像(如 JEuclid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905145/

相关文章:

Java:如何删除列表中的某些数字?

java - JAVA、JavaSpaces 中的进程通信

django - 从 Django/Python3 部署到 Google Compute Engine 管理的虚拟机

google-app-engine - 在哪里可以找到有关 Google App Engine 中版本化 URL 的信息?

java - 使用 Apache FOP 时波兰语特殊字母不可用

pdf - 在 xsl 中将文本与 SVG 相邻垂直对齐

java - 当编辑文本突出显示时向用户显示手动键盘

java - 在不更改代码的情况下将代理添加到网络应用程序可能吗?

google-app-engine - 升级到 python 3.7 后,google dev_appserver 抛出错误 'python2: command not found'

java - Apache FOP : List of errors after adding Apache FOP Maven dependency