Matematikai egyenletek hozzáadása PowerPoint prezentációkhoz Pythonban
Áttekintés
A PowerPoint egyenleteket az Office Math Markup Language (OMML) formátumban tárolja. Az Aspose.Slides for Python via .NET segítségével programozott módon hozhat létre ugyanezt a típusú matematikai tartalmat: törtök, gyökök, függvények, határok, N-árnyú operátorok, mátrixok, tömbök és formázott matematikai blokkok.
A PowerPointban a felhasználók általában a Insert > Equation menüből adnak hozzá egyenleteket:

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

Az Aspose.Slides ezen matematikai szöveget három fő objektumon keresztül építi fel:
- Egy matematikai alakzat, amelyet a add_math_shape segítségével hoz létre, az az alakzat, amely az egyenletet tartalmazza.
- MathPortion tárolja a matematikai tartalmat az alakzat szövegkeretén belül.
- MathParagraph egy vagy több MathBlock objektumot tartalmaz.
Az alábbi legtöbb példában a MathematicalText és az IMathElement folyékony metódusait használjuk, hogy a kód rövid és olvasható legyen.
For MathML export scenarios, see Export Math Equations from Presentations in Python via .NET.
Egyenlet létrehozása
Ez a példa egy matematikai alakzatot hoz létre, és hozzáadja a Pitagorasz‑tételt:

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
equation = (
math.MathematicalText("c")
.set_superscript("2")
.join("=")
.join(math.MathematicalText("a").set_superscript("2"))
.join("+")
.join(math.MathematicalText("b").set_superscript("2"))
)
math_paragraph.add(equation)
presentation.save("pythagorean-theorem.pptx", slides.export.SaveFormat.PPTX)
add_math_shape egy alakzatot hoz létre, amely már tartalmaz egy matematikai bekezdést. Az első MathPortion elérésével, a MathParagraph-t lekérdezve, hozzáadhat matematikai blokkokat vagy elemeket.
Törtek hozzáadása
Használja a divide függvényt tört létrehozásához. A tört stílusát a MathFractionTypes segítségével választhatja ki.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
fraction = math.MathematicalText("1").divide("x", math.MathFractionTypes.SKEWED)
math_paragraph.add(math.MathBlock(fraction))
presentation.save("fraction.pptx", slides.export.SaveFormat.PPTX)
Halmozott tört létrehozásához használja a MathFractionTypes.BAR-t:
stacked_fraction = math.MathematicalText("x + 1").divide("y - 1", math.MathFractionTypes.BAR)
Gyökök hozzáadása
Használja a radical függvényt négyzetgyök, köbgyök vagy egyéb gyök létrehozásához. Az aktuális elem lesz az alap, a argumentum a gyök fokát adja meg.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
radical = math.MathematicalText("x").radical("n")
math_paragraph.add(math.MathBlock(radical))
presentation.save("radical.pptx", slides.export.SaveFormat.PPTX)
Függvények és határok hozzáadása
Használja a as_argument_of_function vagy a function függvényeket olyan függvényekhez, mint sin(x), log(x), vagy egyedi függvénynevekhez. Határokhoz helyezze a lim-et egy MathLimit objektumba, vagy használja a set_lower_limit függvényt.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
limit = (
math.MathematicalText("lim")
.set_lower_limit("x\u2192\u221E")
.function("x")
)
math_paragraph.add(math.MathBlock(limit))
presentation.save("functions-and-limits.pptx", slides.export.SaveFormat.PPTX)
Egyedi függvénynévhez tegye a függvénynevet az aktuális elemnek:
custom_function = math.MathematicalText("f").function("x + 1")
N-árnyú operátorok és integrálok hozzáadása
Használja a nary függvényt összeadások, uniók, metszetek és egyéb nagy operátorok esetén. Az integral függvényt integrálokhoz. Mindkét metódus lehetővé teszi a alsó és felső határ beállítását.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
summation_base = (
math.MathematicalText("x")
.set_superscript("k")
.join(math.MathematicalText("a").set_superscript("n-k"))
)
summation = summation_base.nary(math.MathNaryOperatorTypes.SUMMATION, "k=0", "n")
math_paragraph.add(math.MathBlock(summation))
presentation.save("nary-operators.pptx", slides.export.SaveFormat.PPTX)
Az N-árnyú operátorok nagy operátorok opcionális határokkal. Az egyszerű operátorok, mint a +, -, és = általában MathematicalText-ként kerülnek hozzáadásra és az egyenletbe illesztésre.
Integrálhoz használja a integral-t:
integral_base = math.MathematicalText("x").join(math.MathematicalText("dx").to_box())
integral = integral_base.integral(math.MathIntegralTypes.SIMPLE, "0", "1")
Mátrixok hozzáadása
Használja a MathMatrix oszlopok és sorok kezeléséhez. A mátrixok alapértelmezés szerint nem tartalmaznak zárójeleket, ezért ha szükséges, zárójelek, szögletes vagy kapcsos zárójelek közé helyezze.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
matrix = math.MathMatrix(2, 3)
matrix[0, 0] = math.MathematicalText("1")
matrix[0, 1] = math.MathematicalText("x")
matrix[1, 0] = math.MathematicalText("x")
matrix[1, 1] = math.MathematicalText("2")
matrix[1, 2] = math.MathematicalText("y")
math_paragraph.add(math.MathBlock(matrix))
presentation.save("matrix.pptx", slides.export.SaveFormat.PPTX)
Egyenlet tömbök hozzáadása
Használja a to_math_array függvényt, ha igazított egyenletekre vagy függőleges kifejezéshalmazra van szükség.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 140)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
equation_array = (
math.MathematicalText("x")
.join("y")
.to_math_array()
)
math_paragraph.add(math.MathBlock(equation_array))
presentation.save("equation-array.pptx", slides.export.SaveFormat.PPTX)
Trigonometrikus függvények hozzáadása
Használja a as_argument_of_function függvényt, ha az argumentum az aktuális elem, és a függvény neve ismert.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
cosine = math.MathematicalText("2x").as_argument_of_function(
math.MathFunctionsOfOneArgument.COS
)
math_paragraph.add(math.MathBlock(cosine))
presentation.save("trigonometric-function.pptx", slides.export.SaveFormat.PPTX)
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 az alap bal oldalán kell megjelenniük, használja a set_sub_superscript_on_the_left függvényt.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
scripts = math.MathematicalText("Y").set_sub_superscript_on_the_left("1", "n")
math_paragraph.add(math.MathBlock(scripts))
presentation.save("subscript-superscript.pptx", slides.export.SaveFormat.PPTX)
Határolójelek hozzáadása
Használja a enclose függvényt kifejezés határolójelek közé helyezésére. Több elemet tartalmazó határoló kifejezésekhez beállíthat elválasztó karaktert is.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
delimiter = (
math.MathematicalText("x")
.join("y")
.join("z")
.enclose("<", ">")
)
delimiter.separator_character = "|"
math_paragraph.add(math.MathBlock(delimiter))
presentation.save("delimiters.pptx", slides.export.SaveFormat.PPTX)
Határoló doboz hozzáadása
Használja a to_border_box függvényt, ha maga az egyenlet keretezésre szorul.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
boxed_equation = (
math.MathematicalText("a")
.set_superscript("2")
.join("=")
.join(math.MathematicalText("b").set_superscript("2"))
.join("+")
.join(math.MathematicalText("c").set_superscript("2"))
.to_border_box()
)
math_paragraph.add(math.MathBlock(boxed_equation))
presentation.save("border-box.pptx", slides.export.SaveFormat.PPTX)
Kifejezések csoportosítása
Használja a group függvényt, hogy csoportosító karaktert helyezzen egy kifejezés fölé vagy alá. Egy határ hozzáadásával címkézheti a csoportosított kifejezéseket.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 120)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
grouped = (
math.MathematicalText("x + y")
.group(chr(0x23DF), math.MathTopBotPositions.BOTTOM, math.MathTopBotPositions.TOP)
.set_lower_limit("any text")
)
math_paragraph.add(math.MathBlock(grouped))
presentation.save("grouped-terms.pptx", slides.export.SaveFormat.PPTX)
Matematikai elemek formázása
Használja a formázó segédeszközöket csak ahol a képletet egyértelműbbé teszik. Például a overbar egy vonalat helyez a matematikai elem fölé.

import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
math_shape = slide.shapes.add_math_shape(20, 20, 700, 100)
math_paragraph = math_shape.text_frame.paragraphs[0].portions[0].math_paragraph
overbar = math.MathematicalText("ABC").overbar()
math_paragraph.add(math.MathBlock(overbar))
presentation.save("overbar.pptx", slides.export.SaveFormat.PPTX)
Gyors referencia
| Feladat | Fő API |
|---|---|
| Matematikai szöveg létrehozása | MathematicalText |
| Elemek kombinálása | IMathElement.join |
| Törtek létrehozása | IMathElement.divide |
| Felső- vagy alsóindex hozzáadása | set_superscript, set_subscript |
| Függvények hozzáadása | function, as_argument_of_function |
| Gyökök hozzáadása | radical |
| Határok hozzáadása | set_lower_limit, set_upper_limit |
| Baloldali indexek hozzáadása | set_sub_superscript_on_the_left |
| Összegzések és integrálok hozzáadása | nary, integral |
| Mátrixok hozzáadása | MathMatrix |
| Egyenlet tömbök hozzáadása | to_math_array |
| Határolójelek hozzáadása | enclose |
| Vonalak és keretek hozzáadása | overbar, to_border_box |
| Kifejezések csoportosítása | group |
GYIK
Szerkeszthetek meglévő PowerPoint egyenletet?
Igen. Nyissa meg a prezentációt, keresse meg azt az alakzatot, amely MathPortion‑t tartalmaz, szerezze meg a MathParagraph‑t, és frissítse a bekezdésben lévő matematikai blokkokat.
Az egyenletek szerkeszthető PowerPoint matematikaként vannak mentve?
Igen. PPTX mentésekor az Aspose.Slides az egyenletet szerkeszthető Office matematikai tartalomként írja.
Exportálhatok egyenleteket LaTeX‑be?
Igen. Szerezze meg az egyenlet MathParagraph objektumát a MathPortion‑ból, és hívja meg a MathParagraph.to_latex metódust a közvetlen exportáláshoz. Teljes példáért lásd a Export Math Equations from Presentations in Python via .NET.