Matematikai egyenletek hozzáadása PowerPoint prezentációkhoz JavaScript-ben

Áttekintés

A PowerPoint egyenleteket Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for Node.js via Java segítségével programozottan hozhatók létre hasonló matematikai tartalmak: tört, gyökök, függvények, határértékek, N-áris operátorok, mátrixok, tömbök és formázott matematikai blokkok.

PowerPointban a felhasználók általában a Beszúrás > Egyenlet menüpontból adnak hozzá egyenleteket:

PowerPoint Beszúrás lap az Egyenlet parancs kiválasztva

Az eredmény egy szerkeszthető matematikai szöveg a dián:

PowerPoint dia szerkeszthető matematikai egyenlettel

Az Aspose.Slides három fő objektumon keresztül építi fel ezt a matematikai szöveget:

  • Egy matematikai alakzat, amelyet a addMathShape hoz létre, az az alakzat, amely tartalmazza az egyenletet.
  • A MathPortion tárolja a matematikai tartalmat az alakzat szövegdobozában.
  • A MathParagraph egy vagy több MathBlock objektumot tartalmaz.

A legtöbb alábbi példa a MathematicalText és a MathElementBase folyékony módszereit használja a kód rövid és olvasható tartásához.

MathML exportálási esetekhez lásd a Export Math Equations from Presentations in Node.js via Java.

Egyenlet létrehozása

Ez a példa egy matematikai alakzatot hoz létre, és hozzáadja a Pitagorasz‑tételt:

Az egyenlet: c² = a² + b²

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let equation = new aspose.slides.MathematicalText("c")
            .setSuperscript("2")
            .join("=")
            .join(new aspose.slides.MathematicalText("a").setSuperscript("2"))
            .join("+")
            .join(new aspose.slides.MathematicalText("b").setSuperscript("2"));

    mathParagraph.add(equation);

    presentation.save("pythagorean-theorem.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Törtek hozzáadása

Használja a divide metódust törtek létrehozásához. A tört stílusát a MathFractionTypes segítségével választhatja ki.

Egy ferde matematikai törted, amely 1‑et oszt x‑el

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let fraction = new aspose.slides.MathematicalText("1")
            .divide("x", aspose.slides.MathFractionTypes.Skewed);

    mathParagraph.add(new aspose.slides.MathBlock(fraction));

    presentation.save("fraction.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Egymásra rakott tört esetén használja a MathFractionTypes.Bar‑t:

let stackedFraction = new aspose.slides.MathematicalText("x + 1").divide("y - 1", aspose.slides.MathFractionTypes.Bar);

Gyökök hozzáadása

Használja a radical metódust négyzetgyök, köbgyök vagy egyéb gyök létrehozásához. A jelenlegi elem lesz a gyök alapja, az argumentum pedig a gyök fokozata.

n‑edik gyök kifejezés, x a gyökjel alatt

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let radical = new aspose.slides.MathematicalText("x")
            .radical("n");

    mathParagraph.add(new aspose.slides.MathBlock(radical));

    presentation.save("radical.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Függvények és határértékek hozzáadása

Használja a asArgumentOfFunction vagy a function metódusokat olyan függvényekhez, mint a sin(x), log(x) vagy egyedi függvénynevek. Határértékekhez helyezze a lim‑et egy MathLimit‑ba, vagy használja a setLowerLimit‑t.

Az x határértéke, ahogy x a végtelen felé tart

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let limit = new aspose.slides.MathematicalText("lim")
            .setLowerLimit("x\u2192\u221E")
            .function("x");

    mathParagraph.add(new aspose.slides.MathBlock(limit));

    presentation.save("functions-and-limits.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Egyedi függvénynév esetén tegye a függvénynevet a jelenlegi elemmé:

let customFunction = new aspose.slides.MathematicalText("f").function("x + 1");

N-áris operátorok és integrálok hozzáadása

Használja a nary metódust összegekkel, uniókkal, metszetekkel és egyéb nagy operátorokkal. Az integrálokhoz használja a integral metódust. Mindkét módszerrel beállíthatók a alsó és felső határok.

Összegzés alsó és felső határokkal

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let summationBase = new aspose.slides.MathematicalText("x")
            .setSuperscript("k")
            .join(new aspose.slides.MathematicalText("a").setSuperscript("n-k"));

    let summation = summationBase.nary(aspose.slides.MathNaryOperatorTypes.Summation, "k=0", "n");

    mathParagraph.add(new aspose.slides.MathBlock(summation));

    presentation.save("nary-operators.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Az N-áris operátorok nagy operátorok, opcionális határokkal. Az egyszerű operátorokat, mint a +, - és = általában MathematicalText‑ként adjuk hozzá és fűzzük az kifejezésbe.

Integrál esetén használja a integral‑t:

let integralBase = new aspose.slides.MathematicalText("x").join(new aspose.slides.MathematicalText("dx").toBox());
let integral = integralBase.integral(aspose.slides.MathIntegralTypes.Simple, "0", "1");

Mátrixok hozzáadása

Használja a MathMatrix‑t sorok és oszlopok definiálásához. A mátrixok alapértelmezés szerint nem tartalmaznak zárójeleket, ezért a mátrix köré kell tenni zárójelet, szögletes vagy kapcsos zárójelet, ha szükséges.

Két soros matematikai mátrix egy üres cellával

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let matrix = new aspose.slides.MathMatrix(2, 3);
    matrix.set_Item(0, 0, new aspose.slides.MathematicalText("1"));
    matrix.set_Item(0, 1, new aspose.slides.MathematicalText("x"));
    matrix.set_Item(1, 0, new aspose.slides.MathematicalText("x"));
    matrix.set_Item(1, 1, new aspose.slides.MathematicalText("2"));
    matrix.set_Item(1, 2, new aspose.slides.MathematicalText("y"));

    mathParagraph.add(new aspose.slides.MathBlock(matrix));

    presentation.save("matrix.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Egyenlettömbök hozzáadása

Használja a toMathArray‑t, ha illesztett egyenletekre vagy függőleges kifejezéskupacra van szüksége.

Függőleges matematikai tömb x‑szel felül, y‑vel alul

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 140);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let equationArray = new aspose.slides.MathematicalText("x")
            .join("y")
            .toMathArray();

    mathParagraph.add(new aspose.slides.MathBlock(equationArray));

    presentation.save("equation-array.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Trigonometrikus függvények hozzáadása

Használja a asArgumentOfFunction‑t, amikor az argumentum a jelenlegi elem, és a függvény neve ismert.

A trigonometrikus cos függvény 2x‑re alkalmazva

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let cosine = new aspose.slides.MathematicalText("2x")
            .asArgumentOfFunction(aspose.slides.MathFunctionsOfOneArgument.Cos);

    mathParagraph.add(new aspose.slides.MathBlock(cosine));

    presentation.save("trigonometric-function.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Alsó- és felső indexek hozzáadása

Használja az alsó- és felső index segédfüggvényeket indexek és hatványok számára. Ha az indexeknek a bázis bal oldalán kell megjelenniük, használja a setSubSuperscriptOnTheLeft‑t.

Nagy Y baloldali alsó index 1‑el és felső index n‑nel

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let scripts = new aspose.slides.MathematicalText("Y")
            .setSubSuperscriptOnTheLeft("1", "n");

    mathParagraph.add(new aspose.slides.MathBlock(scripts));

    presentation.save("subscript-superscript.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Határolók hozzáadása

Használja a enclose‑t egy kifejezés határolók közé helyezéséhez. Határoló kifejezéseknél, amelyek több elemet tartalmaznak, beállíthatja a szeparátor karaktert is.

Határoló kifejezés, amely x‑et, y‑t és z‑t tartalmaz, függőleges vonalakkal elválasztva

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let delimiter = new aspose.slides.MathematicalText("x")
            .join("y")
            .join("z")
            .enclose(java.newChar('<'), java.newChar('>'));
    delimiter.setSeparatorCharacter(java.newChar('|'));

    mathParagraph.add(new aspose.slides.MathBlock(delimiter));

    presentation.save("delimiters.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Keretes doboz hozzáadása

Használja a toBorderBox‑t, ha maga az egyenlet keretezve kell legyen.

Keretes egyenlet, amely a ^2 = b² + c²‑t mutatja

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let boxedEquation = new aspose.slides.MathematicalText("a")
            .setSuperscript("2")
            .join("=")
            .join(new aspose.slides.MathematicalText("b").setSuperscript("2"))
            .join("+")
            .join(new aspose.slides.MathematicalText("c").setSuperscript("2"))
            .toBorderBox();

    mathParagraph.add(new aspose.slides.MathBlock(boxedEquation));

    presentation.save("border-box.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Kifejezések csoportosítása

Használja a group‑t, hogy egy csoportosító karaktert helyezzen egy kifejezés fölé vagy alá. Adj hozzá egy határértéket a csoportosított kifejezések címkézéséhez.

Az x + y kifejezés csoportosítva, alatta egy tetszőleges szöveg címkével

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 120);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let grouped = new aspose.slides.MathematicalText("x + y")
            .group(java.newChar('\u23DF'), aspose.slides.MathTopBotPositions.Bottom, aspose.slides.MathTopBotPositions.Top)
            .setLowerLimit("any text");

    mathParagraph.add(new aspose.slides.MathBlock(grouped));

    presentation.save("grouped-terms.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Matematikai elemek formázása

Használja a formázó segédfüggvényeket csak ott, ahol a képletet egyértelművé teszik. Például a overbar egy sávot helyez egy matematikai elem fölé.

ABC matematikai kifejezés overbar‑ral

let presentation = new aspose.slides.Presentation();
try {
    let slide = presentation.getSlides().get_Item(0);

    let mathShape = slide.getShapes().addMathShape(20, 20, 700, 100);
    let mathParagraph = mathShape.getTextFrame().getParagraphs()
            .get_Item(0).getPortions().get_Item(0).getMathParagraph();

    let overbar = new aspose.slides.MathematicalText("ABC").overbar();

    mathParagraph.add(new aspose.slides.MathBlock(overbar));

    presentation.save("overbar.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Gyorsreferencia

Feladat Fő API
Matematikai szöveg létrehozása MathematicalText
Elemek kombinálása join
Törtek létrehozása divide
Alsó- vagy felső index hozzáadása setSuperscript, setSubscript
Függvények hozzáadása function, asArgumentOfFunction
Gyökök hozzáadása radical
Határértékek hozzáadása setLowerLimit, setUpperLimit
Baloldali indexek hozzáadása setSubSuperscriptOnTheLeft
Összegek és integrálok hozzáadása nary, integral
Mátrixok hozzáadása MathMatrix
Egyenlettömbök hozzáadása toMathArray
Határolók hozzáadása enclose
Vízszintes sávok és keretek hozzáadása overbar, toBorderBox
Kifejezések csoportosítása group

GYIK

Szerkeszthetem a meglévő PowerPoint egyenletet?

Igen. Nyissa meg a prezentációt, keresse meg azt az alakzatot, amely MathPortion‑t tartalmaz, szerezze be a MathParagraph‑ját, és frissítse a paragrafusban lévő math blokkokat.

Az egyenletek szerkeszthető PowerPoint matematikaként vannak mentve?

Igen. PPTX formátumba mentéskor az Aspose.Slides az egyenletet szerkeszthető Office‑math tartalomként írja.

Exportálhatom az egyenleteket LaTeX‑be?

Igen. Szerezze be az egyenlet MathParagraph‑ját a MathPortion‑ból, majd hívja meg a MathParagraph.toLatex metódust a közvetlen exportáláshoz. Teljes példáért tekintse meg a Export Math Equations from Presentations in Node.js via Java oldalt.