基於Java的MathML轉圖片的方法(示例代碼)
Maven依賴:
<dependency> <groupId>de.rototor.jeuclid</groupId> <artifactId>jeuclid-core</artifactId> <version>3.1.14</version> </dependency>
示例:
@Test public void testMathMlToImg() throws IOException { //MathML字符串 String mathStr = "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n" + " <mi>f</mi>\n" + " <mo>(</mo>\n" + " <mi>x</mi>\n" + " <mo>)</mo>\n" + " <mo>></mo>\n" + " <mfrac>\n" + " <msqrt>\n" + " <mn>2</mn>\n" + " </msqrt>\n" + " <mn>8</mn>\n" + " </mfrac>\n" + " <mo>+</mo>\n" + " <mn>1</mn>\n" + " </math>"; //創建轉換器 Converter converter = Converter.getInstance(); //創建layoutContext並設置相關參數 //參數設置可以參考net.sourceforge.jeuclid.context.Parameter類 //參數默認值可以參考LayoutContextImpl類構造方法 LayoutContextImpl layoutContext = (LayoutContextImpl) LayoutContextImpl.getDefaultLayoutContext(); //設置公式字體大小,默認12.0pt layoutContext.setParameter(Parameter.MATHSIZE, 30); //設置公式顏色,默認黑色 layoutContext.setParameter(Parameter.MATHCOLOR, Color.RED); //轉換 Dimension dimension = converter.convert(mathStr, new FileOutputStream("f:/1.png"), "image/png", layoutContext); if(dimension != null){ System.out.println("圖片轉換成功!高:" + dimension.getHeight() + " 寬:" + dimension.getWidth()); } }
輸出結果:
圖片轉換成功!高:70.0 寬:149.0
轉換結果如下:
關於outFileType參數的取值,支持以下幾種:
image/png
image/vnd.wap.wbmp
image/x-png
image/jpeg
image/tiff
image/bmp
image/gif
以上就是基於Java的MathML轉圖片的方法(示例代碼)的詳細內容,更多關於Java MathML轉圖片的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Java實現PDF轉為線性PDF詳解
- 使用maven開發springboot項目時pom.xml常用配置(推薦)
- 聊聊SpringMVC項目依賴和靜態資源導出問題
- Spring集成Swagger常見錯誤及解決辦法
- 使用log4j2關閉debug日志