我正在尝试使用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中应用?谢谢!!
答案 0 :(得分:1)
您可以更改MathJax output formats。而不是生成xhtml,你可以使它生成SVG输出。也许值得尝试HTML-css输出格式,ITextRenderer可能只是能够更好地应对。
另一种途径可能是去LaTeX。有很好的LaTeX到pdf转换器。但是,这些不能处理html文档的其余部分。