java - Java 中的 xhtml 到 pdf 转换中的数学方程支持

标签 java html pdf math mathjax

我正在尝试使用 ItextRenderer 将我的 xhtml 代码转换为 pdf,但问题是数学方程转换得不好。我正在使用 mathjax 在所有浏览器中查看方程:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=MML_HTMLorMML"/>

这是我的 html 代码:

<math xmlns:xlink="http://www.w3.org/1999/xlink" overflow="scroll">
 <msup xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math">
   <mrow>
     <mfenced separators="|">
       <mrow>
         <mi>x</mi>
         <mo>+</mo>
         <mi>a</mi>
      </mrow>
    </mfenced>
  </mrow>
  <mrow>
    <mi>n</mi>
  </mrow>

html pdf转换器代码是这样的:

OutputStream os = new FileOutputStream("outputPDF.pdf");
 ITextRenderer renderer = new ITextRenderer();
 String url = new File("inputHtml.html").toURI().toURL().toString();
 renderer.setDocument(url);
 renderer.layout();
 renderer.createPDF(os);
 os.close();

问题是,在 pdf 中,除了方程之外,所有的工作都有效。这是 pdf Equation in pdf 中的方程。

有没有办法在pdf中应用函数?或者在Java中应用其他方法?谢谢!!

最佳答案

您或许可以更改MathJax output formats 。您可以让它生成 SVG 输出,而不是生成 xhtml。也可能值得尝试 HTML-css 输出格式,ITextRenderer 可能能够更好地应对这种情况。

另一条途径可能是使用 LaTeX。有一些不错的 LaTeX 到 pdf 转换器。但是,这些无法处理 html 文档的其余部分。

关于java - Java 中的 xhtml 到 pdf 转换中的数学方程支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44242470/

相关文章:

java - 我正在创建一个 Maven 项目并且我是初学者..我收到了这个错误。可以帮助解决这是我的 pom.xml & web.xml

java - 将十进制转换为 IEEE 二进制

ios - 如何在ios应用程序中将pdf页面转换为文本文件

java - 从命令行读取文件名并在主方法之外使用它

java - JCreator IDE : Program will compile but not run, 在命令提示符下工作

javascript - View 和 View 模型连接

jquery - 如何设置标记包含图像的宽度和高度

javascript - 使用scrollIntoView函数到特定的HTML标签

angular - ng2-pdf-viewer 错误 : Invalid parameter object: need either . 数据,.range 或 .url

pdf - 如何在 LaTeX 文档中包含复杂的 R 绘图?