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:

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

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:

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();
}
addMathShape egy olyan alakzatot hoz létre, amely már tartalmaz egy math paragrafust. Az első MathPortion elérésével, annak MathParagraph‑ját lekérve, hozzáadhatunk matematikai blokkokat vagy elemeket.
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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é.

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.