首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将OMML转换为MathML的算法或代码

将OMML转换为MathML的算法或代码
EN

Stack Overflow用户
提问于 2012-12-26 21:06:33
回答 2查看 4.7K关注 0票数 1

我是在转换Word文档的标准方程(OMML)到MathML使用闪光或灵活的过程中,请提供简单的算法或代码片段帮助我。

提前谢谢你,Mani

EN

回答 2

Stack Overflow用户

发布于 2013-01-02 17:52:30

微软作为Word分发的一部分提供了XSLT1样式表,它可以处理将MathML放在Word剪贴板上的转换。通常安装为类似于

代码语言:javascript
复制
c:/Program Files (x86)/Microsoft Office/Office14/OMML2MML.XSL

上有一些关于这个的早期版本的讨论。

http://dpcarlisle.blogspot.co.uk/2007/04/xhtml-and-mathml-from-office-20007.html

票数 2
EN

Stack Overflow用户

发布于 2015-10-01 00:05:04

这是几天前我正在编写的一个C#类的片段……我知道为时已晚..而是为了减少未来的痛苦。

我认为它在动作脚本中没有太大的不同

正如@David提到的,OMML2MML.xsl文件位于%ProgramFiles%\Microsoft Office\Office12\,用于在Word中将MathML放在剪贴板上,并将其转换为MML。

代码语言:javascript
复制
public static string OMML(string omml)
{
    XslCompiledTransform xslTransform = new XslCompiledTransform();
    xslTransform.Load("OMML2MML.xsl");

    using (XmlReader reader = XmlReader.Create(new StringReader(omml)))
    {
        using (MemoryStream ms = new MemoryStream())
        {
            XmlWriterSettings settings = xslTransform.OutputSettings.Clone();

            // Configure xml writer to omit xml declaration.
            settings.ConformanceLevel = ConformanceLevel.Fragment;
            settings.OmitXmlDeclaration = true;

            XmlWriter xw = XmlWriter.Create(ms, settings);

            // Transform our OfficeMathML to MathML
            xslTransform.Transform(reader, xw);
            ms.Seek(0, SeekOrigin.Begin);

            StreamReader sr = new StreamReader(ms, Encoding.UTF8);
            string MathML = sr.ReadToEnd();
            return MathML;
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14041009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档