Mathematische Gleichungen zu PowerPoint-Präsentationen in JavaScript hinzufügen
Übersicht
PowerPoint speichert Gleichungen als Office Math Markup Language (OMML). Mit Aspose.Slides für Node.js via Java können Sie dieselben mathematischen Inhalte programmgesteuert erstellen: Brüche, Wurzeln, Funktionen, Grenzwerte, N-äre Operatoren, Matrizen, Arrays und formatierte Mathematikblöcke.
In PowerPoint fügen Benutzer Gleichungen normalerweise über Einfügen > Gleichung hinzu:

Das Ergebnis ist bearbeitbarer mathematischer Text auf der Folie:

Aspose.Slides erstellt diesen mathematischen Text über drei Hauptobjekte:
- Ein mathematisches Shape, erstellt mit addMathShape, ist das Shape, das die Gleichung enthält.
- MathPortion speichert mathematischen Inhalt im Textfeld des Shapes.
- MathParagraph enthält ein oder mehrere MathBlock Objekte.
Die meisten Beispiele unten verwenden MathematicalText und die flüssigen Methoden von MathElementBase, um den Code kurz und lesbar zu halten.
Für MathML‑Export‑Szenarien siehe Export Math Equations from Presentations in Node.js via Java.
Eine Gleichung erstellen
Dieses Beispiel erstellt ein mathematisches Shape und fügt den Satz des Pythagoras hinzu:

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 erstellt ein Shape, das bereits einen MathParagraph enthält. Greifen Sie auf das erste MathPortion zu, holen Sie dessen MathParagraph und fügen Sie MathBlocks oder MathElements hinzu.
Brüche hinzufügen
Verwenden Sie divide , um einen Bruch zu erstellen. Sie können einen Bruchstil mit MathFractionTypes wählen.

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();
}
Für einen gestapelten Bruch verwenden Sie MathFractionTypes.Bar:
let stackedFraction = new aspose.slides.MathematicalText("x + 1").divide("y - 1", aspose.slides.MathFractionTypes.Bar);
Wurzeln hinzufügen
Verwenden Sie radical , um eine Quadratwurzel, Kubikwurzel oder eine andere Wurzel zu erstellen. Das aktuelle Element wird die Basis, und das Argument wird zum Grad.

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();
}
Funktionen und Grenzwerte hinzufügen
Verwenden Sie asArgumentOfFunction oder function , für Funktionen wie sin(x), log(x) oder benutzerdefinierte Funktionsnamen. Für Grenzwerte setzen Sie lim in ein MathLimit oder verwenden setLowerLimit.

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();
}
Für einen benutzerdefinierten Funktionsnamen machen Sie den Funktionsnamen zum aktuellen Element:
let customFunction = new aspose.slides.MathematicalText("f").function("x + 1");
N‑äre Operatoren und Integrale hinzufügen
Verwenden Sie nary , für Summen, Vereinigungen, Schnittmengen und andere große Operatoren. Verwenden Sie integral , für Integrale. Beide Methoden ermöglichen das Festlegen von unteren und oberen Grenzen.

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();
}
N‑äre Operatoren sind für große Operatoren mit optionalen Grenzen. Einfache Operatoren wie +, - und = werden normalerweise als MathematicalText hinzugefügt und in den Ausdruck eingefügt.
Für ein Integral verwenden Sie integral:
let integralBase = new aspose.slides.MathematicalText("x").join(new aspose.slides.MathematicalText("dx").toBox());
let integral = integralBase.integral(aspose.slides.MathIntegralTypes.Simple, "0", "1");
Matrizen hinzufügen
Verwenden Sie MathMatrix , für Zeilen und Spalten. Matrizen enthalten standardmäßig keine Klammern, daher müssen Sie die Matrix einschließen, wenn Sie runde Klammern, eckige Klammern oder geschweifte Klammern benötigen.

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();
}
Gleichungs‑Arrays hinzufügen
Verwenden Sie toMathArray , wenn Sie ausgerichtete Gleichungen oder einen vertikalen Stapel von Ausdrücken benötigen.

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();
}
Trigonometrische Funktionen hinzufügen
Verwenden Sie asArgumentOfFunction , wenn das Argument das aktuelle Element ist und der Funktionsname bekannt ist.

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();
}
Indizes und Hochstellungen hinzufügen
Verwenden Sie die Hilfsfunktionen für Tief- und Hochstellung für Indizes und Potenzen. Wenn die Indizes links von der Basis erscheinen sollen, verwenden Sie setSubSuperscriptOnTheLeft .

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();
}
Begrenzer hinzufügen
Verwenden Sie enclose , um einen Ausdruck in Begrenzer zu setzen. Sie können auch ein Trennzeichen festlegen für Begrenzerausdrücke, die mehrere Elemente enthalten.

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();
}
Eine Rahmenbox hinzufügen
Verwenden Sie toBorderBox , wenn die Gleichung selbst eingerahmt werden soll.

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();
}
Terme gruppieren
Verwenden Sie group , um ein Gruppierungszeichen über oder unter einem Ausdruck zu platzieren. Fügen Sie eine Grenze hinzu, um die gruppierten Terme zu beschriften.

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();
}
Mathematik‑Elemente formatieren
Verwenden Sie Formatierungs‑Hilfsfunktionen nur dort, wo sie die Formel verdeutlichen. Zum Beispiel setzt overbar einen Balken über ein Mathematik‑Element.

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();
}
Kurze Referenz
| Aufgabe | Haupt‑API |
|---|---|
| Mathematischen Text erstellen | MathematicalText |
| Elemente kombinieren | join |
| Brüche erstellen | divide |
| Hochstellung oder Tiefstellung hinzufügen | setSuperscript, setSubscript |
| Funktionen hinzufügen | function, asArgumentOfFunction |
| Wurzeln hinzufügen | radical |
| Grenzwerte hinzufügen | setLowerLimit, setUpperLimit |
| Linksseitige Skripte hinzufügen | setSubSuperscriptOnTheLeft |
| Summen und Integrale hinzufügen | nary, integral |
| Matrizen hinzufügen | MathMatrix |
| Gleichungs‑Arrays hinzufügen | toMathArray |
| Begrenzer hinzufügen | enclose |
| Balken und Rahmen hinzufügen | overbar, toBorderBox |
| Terme gruppieren | group |
FAQ
Kann ich eine vorhandene PowerPoint‑Gleichung bearbeiten?
Ja. Öffnen Sie die Präsentation, finden Sie das Shape, das ein MathPortion enthält, holen Sie dessen MathParagraph und aktualisieren Sie die MathBlocks in diesem Paragraph.
Werden Gleichungen als bearbeitbare PowerPoint‑Mathematik gespeichert?
Ja. Beim Speichern als PPTX schreibt Aspose.Slides die Gleichung als bearbeitbaren Office‑Mathe‑Inhalt.
Kann ich Gleichungen nach LaTeX exportieren?
Ja. Holen Sie das MathParagraph der Gleichung aus ihrem MathPortion, und rufen Sie MathParagraph.toLatex auf, um sie direkt zu exportieren. Für ein vollständiges Beispiel siehe Export Math Equations from Presentations in Node.js via Java.