PHP'de PowerPoint Sunumlarına Matematik Denklemleri Ekleyin
Genel Bakış
PowerPoint, denklemleri Office Math Markup Language (OMML) olarak depolar. Aspose.Slides for PHP via Java ile aynı tür matematik içeriğini programlı olarak oluşturabilirsiniz: kesirler, kökler, fonksiyonlar, limitler, N-ary operatörler, matrisler, diziler ve biçimlendirilmiş matematik blokları.
PowerPoint’te kullanıcılar genellikle denklemleri Ekle > Denklem üzerinden ekler:

Sonuç, slaytta düzenlenebilir matematik metni olur:

Aspose.Slides, bu matematik metnini üç temel nesne aracılığıyla oluşturur:
- Denklemi içeren şekil, addMathShape ile oluşturulan bir matematik şeklidir.
- MathPortion şekil metin çerçevesi içinde matematik içeriğini depolar.
- MathParagraph bir veya daha fazla MathBlock nesnesi içerir.
Aşağıdaki çoğu örnek, kodu kısa ve okunabilir tutmak için MathematicalText ve MathElementBase akıcı yöntemlerini kullanır.
MathML dışa aktarım senaryoları için Sunumlardan PHP via Java’da Matematik Denklemlerini Dışa Aktar.
Denklem Oluşturma
Bu örnek bir matematik şekli oluşturur ve Pisagor teoremini ekler:

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 120);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$equation = (new MathematicalText("c"))
- >setSuperscript("2")
- >join("=")
- >join((new MathematicalText("a"))->setSuperscript("2"))
- >join("+")
- >join((new MathematicalText("b"))->setSuperscript("2"));
$mathParagraph->add($equation);
$presentation->save("pythagorean-theorem.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
addMathShape zaten bir matematik paragrafı içeren bir şekil oluşturur. İlk MathPortiona erişin, MathParagraphını alın ve ona matematik blokları ya da matematik öğeleri ekleyin.
Kesir Ekleme
Kesir oluşturmak için divide kullanın. Kesir stilini MathFractionTypes ile seçebilirsiniz.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$fraction = (new MathematicalText("1"))
- >divide("x", MathFractionTypes::Skewed);
$mathParagraph->add(new MathBlock($fraction));
$presentation->save("fraction.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Katmanlı bir kesir için MathFractionTypes::Bar kullanın:
$stackedFraction = (new MathematicalText("x + 1"))->divide("y - 1", MathFractionTypes::Bar);
Kök Ekleme
Karekök, küpkök veya diğer kökleri oluşturmak için radical kullanın. Mevcut öğe taban olur, argüman ise derecedir.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$radical = (new MathematicalText("x"))
- >radical("n");
$mathParagraph->add(new MathBlock($radical));
$presentation->save("radical.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Fonksiyon ve Limit Ekleme
sin(x), log(x) gibi fonksiyonlar ya da özel fonksiyon adları için asArgumentOfFunction veya function kullanın. Limitler için lim i bir MathLimit içine koyun veya setLowerLimit kullanın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$limit = (new MathematicalText("lim"))
- >setLowerLimit("x\u{2192}\u{221E}")
- >function("x");
$mathParagraph->add(new MathBlock($limit));
$presentation->save("functions-and-limits.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Özel bir fonksiyon adı için, fonksiyon adını mevcut öğe yapın:
$customFunction = (new MathematicalText("f"))->function("x + 1");
N-ary Operatör ve İntegral Ekleme
Toplamalar, birleşimler, kesişimler ve diğer büyük operatörler için nary kullanın. İntegraller için integral kullanın. Her iki yöntem de alt ve üst limitleri ayarlamanıza izin verir.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 120);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$summationBase = (new MathematicalText("x"))
- >setSuperscript("k")
- >join((new MathematicalText("a"))->setSuperscript("n-k"));
$summation = $summationBase->nary(MathNaryOperatorTypes::Summation, "k=0", "n");
$mathParagraph->add(new MathBlock($summation));
$presentation->save("nary-operators.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
N-ary operatörler, isteğe bağlı limitli büyük operatörler içindir. +, - ve = gibi basit operatörler genellikle MathematicalText olarak eklenir ve ifadeye birleştirilir.
İntegral için integral kullanın:
$integralBase = (new MathematicalText("x"))->join((new MathematicalText("dx"))->toBox());
$integral = $integralBase->integral(MathIntegralTypes::Simple, "0", "1");
Matris Ekleme
Satırlar ve sütunlar için MathMatrix kullanın. Matrisler varsayılan olarak parantez içermez, bu yüzden parantez, köşeli parantez veya süslü parantez gerektiğinde matrisi bu işaretlerle sarın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 120);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$matrix = new MathMatrix(2, 3);
$matrix->set_Item(0, 0, new MathematicalText("1"));
$matrix->set_Item(0, 1, new MathematicalText("x"));
$matrix->set_Item(1, 0, new MathematicalText("x"));
$matrix->set_Item(1, 1, new MathematicalText("2"));
$matrix->set_Item(1, 2, new MathematicalText("y"));
$mathParagraph->add(new MathBlock($matrix));
$presentation->save("matrix.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Denklem Dizileri Ekleme
Hizalanmış denklemler veya dikey bir ifade yığını gerektiğinde toMathArray kullanın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 140);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$equationArray = (new MathematicalText("x"))
- >join("y")
- >toMathArray();
$mathParagraph->add(new MathBlock($equationArray));
$presentation->save("equation-array.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Trigonometrik Fonksiyonlar Ekleme
Argüman mevcut öğe olduğunda ve fonksiyon adı bilindiğinde asArgumentOfFunction kullanın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$cosine = (new MathematicalText("2x"))
- >asArgumentOfFunction(MathFunctionsOfOneArgument::Cos);
$mathParagraph->add(new MathBlock($cosine));
$presentation->save("trigonometric-function.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Alt ve Üst İndis Ekleme
İndeksler ve üsteler için alt ve üst indis yardımcılarını kullanın. İndekslerin tabanın sol tarafında görünmesi gerektiğinde setSubSuperscriptOnTheLeft kullanın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$scripts = (new MathematicalText("Y"))
- >setSubSuperscriptOnTheLeft("1", "n");
$mathParagraph->add(new MathBlock($scripts));
$presentation->save("subscript-superscript.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Sınırlayıcılar Ekleme
Bir ifadeyi sınırlayıcılar içine koymak için enclose kullanın. Birden fazla öğe içeren sınırlayıcı ifadeler için ayırıcı karakter de ayarlayabilirsiniz.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$delimiter = (new MathematicalText("x"))
- >join("y")
- >join("z")
- >enclose(new Java("java.lang.Character", "<"), new Java("java.lang.Character", ">"));
$delimiter->setSeparatorCharacter(new Java("java.lang.Character", "|"));
$mathParagraph->add(new MathBlock($delimiter));
$presentation->save("delimiters.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kenar Kutusu Ekleme
Denklemin kendisinin çerçevelenmesi gerektiğinde toBorderBox kullanın.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$boxedEquation = (new MathematicalText("a"))
- >setSuperscript("2")
- >join("=")
- >join((new MathematicalText("b"))->setSuperscript("2"))
- >join("+")
- >join((new MathematicalText("c"))->setSuperscript("2"))
- >toBorderBox();
$mathParagraph->add(new MathBlock($boxedEquation));
$presentation->save("border-box.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Terimleri Gruplama
Bir ifadeye grup karakteri üstüne ya da altına yerleştirmek için group kullanın. Gruplanan terimleri etiketlemek için bir limit ekleyin.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 120);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$grouped = (new MathematicalText("x + y"))
- >group(new Java("java.lang.Character", "\u{23DF}"), MathTopBotPositions::Bottom, MathTopBotPositions::Top)
- >setLowerLimit("any text");
$mathParagraph->add(new MathBlock($grouped));
$presentation->save("grouped-terms.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Matematik Öğelerini Biçimlendirme
Biçimlendirme yardımcılarını yalnızca formülü netleştirdiği yerlerde kullanın. Örneğin, overbar bir matematik öğesi üzerine çubuk koyar.

$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$mathShape = $slide->getShapes()->addMathShape(20, 20, 700, 100);
$mathParagraph = $mathShape->getTextFrame()->getParagraphs()
- >get_Item(0)->getPortions()->get_Item(0)->getMathParagraph();
$overbar = (new MathematicalText("ABC"))->overbar();
$mathParagraph->add(new MathBlock($overbar));
$presentation->save("overbar.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Hızlı Referans
| Görev | Ana API |
|---|---|
| Matematik metni oluşturma | MathematicalText |
| Öğeleri birleştirme | join |
| Kesirler oluşturma | divide |
| Üst indeks veya alt indeks ekleme | setSuperscript, setSubscript |
| Fonksiyon ekleme | function, asArgumentOfFunction |
| Kökler ekleme | radical |
| Limitler ekleme | setLowerLimit, setUpperLimit |
| Sol taraflı alt/üst indis ekleme | setSubSuperscriptOnTheLeft |
| Toplamalar ve integraller ekleme | nary, integral |
| Matris ekleme | MathMatrix |
| Denklem dizileri ekleme | toMathArray |
| Sınırlayıcılar ekleme | enclose |
| Üst çubuk ve kenarlık ekleme | overbar, toBorderBox |
| Terimleri gruplama | group |
SSS
Mevcut bir PowerPoint denklemini düzenleyebilir miyim?
Evet. Sunumu açın, bir MathPortion içeren şekli bulun, onun MathParagraphını alın ve o paragraftaki matematik bloklarını güncelleyin.
Denklikler düzenlenebilir PowerPoint matematiği olarak kaydediliyor mu?
Evet. PPTX olarak kaydettiğinizde, Aspose.Slides denklemi düzenlenebilir Office matematik içeriği olarak yazar.
Denklikleri LaTeX’e dışa aktarabilir miyim?
Evet. Denklemin MathParagraphını MathPortion üzerinden alın ve doğrudan dışa aktarmak için MathParagraph::toLatex çağırın. Tam bir örnek için Sunumlardan PHP via Java’da Matematik Denklemlerini Dışa Aktar bölümüne bakın.