11
votes

Mathml ou OMML à PNG w / .NET?

Y a-t-il des bibliothèques qui prennent des mathml (ou encore plus préférablement, OMML) et génèrent un fichier .png?

Je pose un processus d'exportation pour les fichiers .docx et, dans le cadre de ce processus, j'aimerais extraire des équations et les rendre en tant que fichiers .png. Word 2007 fait-il de manière native lorsque vous enregistrez un document pour le Web, mais jusqu'à présent, je n'ai pas été en mesure de trouver un moyen de le faire par programme (si quelqu'un a une réponse pour cela, ce serait encore mieux). Donc, la meilleure chose à faire est de prendre l'OMML et d'utiliser Microsoft fournie XSL StylesSheets et les transformer en MathML.

Malheureusement, je n'ai pas été en mesure de trouver des bibliothèques de rendu (travail) pour MathML ou OMML.

S'il n'y a pas de bibliothèques pure .NET pour cela, je vais vous contenter de tout ce que je peux appeler à partir d'une ligne de commande pour générer une .png de MathML ou OMML.


1 commentaires

Je voulais juste suivre si le ci-dessous répond à votre question.


6 Réponses :


3
votes

Vous pouvez essayer SVGMath pour convertir MathML en SVG, puis un outil pour convertir SVG en PNG par exemple

http://hariyott.com /2008/05/converting-svg-images-a-png-in-c.aspx

ou utilisez RSVG LIB pour convertir SVG en fichiers PNG.


0 commentaires

1
votes

Vous pouvez essayer Java Library Jeuclid: http://jeuclid.sourceforge.net/


0 commentaires

1
votes

Certaines nouvelles, certaines nouvelles et certaines nouvelles étranges:

Les oks em> news sont la bibliothèque que vous recherchez est à http://msdn.microsoft.com/en-us/library/documentformat. openxml.math% 28Office.14% 29.aspx . Au moins c'est ce que je pense que vous recherchez. P>

Le pas si super em> est que le code ci-dessous ne fonctionne pas exactement comme espéré - il copie la plupart des caractères comme "?" et l'image résultante est à peu près la merde. P>

Sub SaveOMML()
Dim rng As Range
Dim Equation As OMath

Set rng = Selection.Range
rng.Text = "Celsius = (5/9)(Fahrenheit – 32)"
Set rng = Selection.OMaths.Add(rng)
Set Equation = rng.OMaths(1)
Equation.BuildUp
Equation.Range.Select

With Selection.Range
        .CopyAsPicture
        .PasteSpecial DataType:=wdPasteMetafilePicture
End With

End Sub


1 commentaires

Copier / coller peut ne pas bien fonctionner, mais économiser de beaux résultats pour moi



2
votes

Nous faisons une bibliothèque DLL appelée le compositeur d'équation que beaucoup utilisent avec .NET pour convertir MathML en PNG. Il est également disponible sous forme d'exécutable de commandes. Ce n'est pas gratuit, mais cela signifie que vous obtenez un support technique et des corrections de bugs. Plus d'informations sont disponibles ici: http://dessci.com/fr/products/mathflow/ mf_components.htm


0 commentaires

1
votes

J'ai un besoin similaire. Voici un fragment qui fonctionne pour moi: xxx


0 commentaires

0
votes

Si vous aimez ce que Microsoft Word fait, le code qu'ils utilisent pour le faire est disponible à partir de la décision Science ... http: // Dessci.com/ ... Je vais bientôt évaluer leur produit Mathflow, mais je n'ai pas encore ... Donc, je ne peux pas encore vérifier que la génération PNG fonctionne bien.


0 commentaires