Konvertieren von MathML zu MathType in MS Word

Schreibe ich einen Konverter von XML - &MathML in MS-Word-Dokument.

Ich bin mit MFC und Word automation, so gibt es kein problem, schreiben, text wie diesem:

_Application app;  
COleVariant vtOpt(DISP_E_PARAMNOTFOUND, VT_ERROR),
            vtTrue((short)TRUE),
            vtFalse((short)FALSE);
app.CreateDispatch("Word.Application",NULL);
Documents docs = app.GetDocuments();
_Document doc = docs.Add (vtOpt, vtOpt, vtOpt, vtOpt);
Range range = doc.Range (vtOpt, vtOpt);
range.InsertAfter (_T("Hello Word!"));

Nun das problem liegt in der Konvertierung MathML-Gleichungen in eingebetteten MathType Objekte. Eine der Möglichkeiten, die ich gefunden habe, ist zu schreiben, Formeln in TeX und dann programmgesteuert aufrufen MTCommand_TeXToggle (gefunden in MathType 6.5 Bibliothek für Word-makro, das ersetzt TeX mit MathType OLE-Objekte. Aber dann habe ich zum konvertieren von MathML nach TeX irgendwie, das ist nicht so einfach.

Weiß ich, dass MathType OLE-Objekt annehmen sollte, raw MathML-Daten, aber wenn ich versuche zu erstellen und den Zugriff auf OLE-Objekt programmgesteuert:

InlineShapes shapes = doc.GetInlineShapes ();
InlineShape control = shapes.AddOLEObject (COleVariant("Equation.DSMT4"), vtOpt, vtFalse, vtFalse, vtOpt, vtOpt, vtOpt, vtOpt);
OLEFormat fm = control.GetOLEFormat ();
COleDispatchDriver drv = fm.GetObject();

Habe ich am Ende keine vernünftige Schnittstelle zu füttern, mit der MathML-Daten.
Die Frage ist also:
1) gibt es eine Möglichkeit Kontrolle zu bekommen über das OLE-Objekt aus und senden Sie es einige MathML-Daten?
Oder
2) gibt es eine Möglichkeit, um eine MS-Word-VB-makro konvertiert die Auswahl von MathML zu MathType OLE-Objekt?

Vielen Dank im Voraus,
Nick Stillen

InformationsquelleAutor stanch | 2009-06-09
Schreibe einen Kommentar