1

Flash または Flex を使用して、Word doc の標準方程式 (OMML) を MathML に変換しようとしています。簡単なアルゴリズムまたはコード スニペットを提供してください。

前もってありがとう、マニ

4

2 に答える 2

2

Microsoft が Word ディストリビューションの一部として提供する変換を行う XSLT 1 スタイルシートがあります。これは、Word のクリップボードに MathML を配置する処理を行うものです。通常、次のようなものとしてインストールされます

c:/Program Files (x86)/Microsoft Office/Office14/OMML2MML.XSL

これの初期バージョンについては、いくつかの議論があります。

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

于 2013-01-02T09:52:29.817 に答える
0

これは、私が数日前に取り組んでいた C# クラスのスニペットです。

Action Scriptでも大差ないと思います

@Davidが言及したように、ファイルOMML2MML.xslは次の場所にあります。xslファイルは、MathMLをWordのクリップボードに配置し、OMMLをMMLに変換するために使用されます。%ProgramFiles%\Microsoft Office\Office12\

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;
        }
    }
}
于 2015-09-30T16:05:04.143 に答える