Matematikai egyenletek exportálása előadásokból .NET-ben
Bevezetés
Az Aspose.Slides for .NET lehetővé teszi, hogy matematikai egyenleteket exportáljon a bemutatókból. Például szükség lehet a diákon (egy adott bemutatóból) található matematikai egyenletek kinyerésére, és azok egy másik programban vagy platformon történő felhasználására.
Matematikai egyenletek exportálása LaTeX-be
Az Aspose.Slides közvetlenül képes egy PowerPoint matematikai egyenletet LaTeX-be konvertálni; köztes MathML fájlra vagy külső konvertorra nincs szükség. A matematikai egyenlet szövegkeretben tárolódik, mint egy MathPortion. Használja a MathPortion.MathParagraph metódust egy IMathParagraph lekérdezéséhez, majd hívja meg a IMathParagraph.ToLatex. A metódus egy karakterláncot ad vissza, amelyet menthet, megjeleníthet, elküldhet egy másik alkalmazásnak, vagy tovább feldolgozhat.
A következő példa minden szövegkeretet ellenőriz minden dián, megtalálja az összes matematikai részt, és minden egyenletet egy külön .tex fájlba ír:
using var presentation = new Presentation("equations.pptx");
for (var slideIndex = 0; slideIndex < presentation.Slides.Count; slideIndex++)
{
var slide = presentation.Slides[slideIndex];
var slideNumber = slideIndex + 1;
var equationNumber = 1;
var textFrames = SlideUtil.GetAllTextBoxes(slide);
foreach (var textFrame in textFrames)
{
foreach (var paragraph in textFrame.Paragraphs)
{
foreach (var portion in paragraph.Portions)
{
if (portion is not MathPortion mathPortion)
continue;
IMathParagraph mathParagraph = mathPortion.MathParagraph;
var latexPath = $"slide_{slideNumber}_equation_{equationNumber}.tex";
var latexText = mathParagraph.ToLatex();
File.WriteAllText(latexPath, latexText);
equationNumber++;
}
}
}
}
SlideUtil.GetAllTextBoxes visszaadja az adott dián található összes szövegkeretet. A MathPortion típusellenőrzés elválasztja a valódi szerkeszthető egyenleteket a szokásos szövegtől és képektől.
A LaTeX motorok és dokumentumsablonok nem mind támogatják ugyanazokat a parancsokat, csomagokat vagy Unicode karaktereket. Tesztelje a visszaadott karakterláncot a saját alkalmazásában használt LaTeX motorral. Ha egy szimbólum vagy Office Math elem nem rendelkezik megfelelő ábrázolással az adott környezetben, cserélje ki a visszaadott karakterláncban egy projektre specifikus parancsra, vagy hagyja ki az egyenletet, és rögzítse a problémát későbbi felülvizsgálatra.
Matematikai egyenletek mentése MathML formátumba
Miközben az emberek könnyen megírják a kódot bizonyos egyenletformátumokhoz, például a LaTeX-hez, a MathML kód megírása számukra nehéz, mivel azt általában alkalmazások generálják automatikusan. A programok könnyen olvassák és elemzik a MathML-t, mert a kódja XML-ben van, így a MathML gyakran használt kimeneti és nyomtatási formátum sok területen.
Ez a minta kód szemlélteti, hogyan exportáljon egy matematikai egyenletet egy bemutatóból MathML-be:
using (Presentation pres = new Presentation())
{
var autoShape = pres.Slides[0].Shapes.AddMathShape(0, 0, 500, 50);
var mathParagraph = ((MathPortion)autoShape.TextFrame.Paragraphs[0].Portions[0]).MathParagraph;
mathParagraph.Add(new MathematicalText("a").SetSuperscript("2").Join("+").Join(new MathematicalText("b").SetSuperscript("2")).Join("=").Join(new MathematicalText("c").SetSuperscript("2")));
using (Stream stream = new FileStream("mathml.xml", FileMode.Create))
mathParagraph.WriteAsMathMl(stream);
}
GYIK
Mi pontosan kerül exportálásra MathML-be – egy bekezdés vagy egy egyedi képletblokk?
Exportálhat egy teljes matematikai bekezdést (MathParagraph) vagy egy egyedi blokkot (MathBlock) MathML-be. Mindkét típus rendelkezik egy metódussal a MathML írásához.
Hogyan tudom megállapítani, hogy egy dián lévő objektum matematikai képlet-e, és nem egyszerű szöveg vagy kép?
A képlet egy MathPortion részeként létezik, és rendelkezik egy MathParagraph-al. Képek és szabályos szövegrészek, amelyeknek nincs MathParagraph eleme, nem exportálhatóak képletekként.
Honnan származik a MathML egy bemutatóban – PowerPoint-specifikus vagy egy szabvány?
Az export célja a szabványos MathML (XML). Az Aspose a Presentation MathML-t használja – a szabvány prezentációs részhalmazát –, amely széles körben elterjedt alkalmazásokban és a weben.
Támogatott-e a képletek exportálása táblázatokból, SmartArt-ból, csoportokból stb.?
Igen, ha ezek az objektumok szövegrészeket tartalmaznak, amelyeknek van MathParagraph eleme (azaz valódi PowerPoint képletek), akkor exportálásra kerülnek. Ha egy képlet képként van beágyazva, akkor nem.
Módosítja az export MathML-be a forrás bemutatót?
Nem. A MathML írása a képlet tartalmának sorosítása, nem módosítja a bemutató fájlt.