Zarządzanie superskryptem i subskryptem w prezentacjach przy użyciu PHP
Przegląd
Aspose.Slides udostępnia funkcje integracji tekstu w superskrypcie i subskrypcie w prezentacjach PowerPoint (PPT, PPTX) oraz OpenDocument (ODP). Niezależnie od tego, czy musisz wyróżnić wzory chemiczne, równania matematyczne, czy dodać przypisy, te specjalistyczne opcje formatowania pomagają zachować przejrzystość i precyzję. W tym artykule dowiesz się, jak płynnie stosować style superskryptu i subskryptu oraz zapewnić profesjonalny efekt na każdym slajdzie.
Zarządzanie tekstem w superskrypcie i subskrypcie
Możesz dodać tekst w superskrypcie i subskrypcie w dowolnej części akapitu. Aby dodać tekst w superskrypcie lub subskrypcie w ramce tekstowej Aspose.Slides, należy użyć metody setEscapement klasy PortionFormat.
Właściwość ta zwraca lub ustawia tekst w superskrypcie lub subskrypcie (wartość od -100 % (subskrypt) do 100 % (superskrypt)). Na przykład:
- Utwórz instancję klasy Presentation.
- Pobierz referencję slajdu, używając jego indeksu.
- Dodaj AutoShape typu Rectangle do slajdu.
- Uzyskaj dostęp do TextFrame powiązanego z AutoShape.
- Wyczyść istniejące akapity.
- Utwórz nowy obiekt akapitu przechowujący tekst w superskrypcie i dodaj go do kolekcji IParagraphs TextFrame.
- Utwórz nowy obiekt portion.
- Ustaw właściwość Escapement dla portion na wartość od 0 do 100, aby dodać superskrypt. (0 oznacza brak superskryptu)
- Ustaw tekst dla Portion i dodaj go do kolekcji portionów akapitu.
- Utwórz nowy obiekt akapitu przechowujący tekst w subskrypcie i dodaj go do kolekcji IParagraphs ramki tekstowej.
- Utwórz nowy obiekt portion.
- Ustaw właściwość Escapement dla portion na wartość od 0 do -100, aby dodać subskrypt. (0 oznacza brak subskryptu)
- Ustaw tekst dla Portion i dodaj go do kolekcji portionów akapitu.
- Zapisz prezentację jako plik PPTX.
Implementacja powyższych kroków jest przedstawiona poniżej.
# Utwórz instancję klasy Presentation reprezentującej plik PPTX
$pres = new Presentation();
try {
# Pobierz slajd
$slide = $pres->getSlides()->get_Item(0);
# Utwórz pole tekstowe
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 200, 100);
$textFrame = $shape->getTextFrame();
$textFrame->getParagraphs()->clear();
# Utwórz akapit dla tekstu w superskrypcie
$superPar = new Paragraph();
# Utwórz część z zwykłym tekstem
$portion1 = new Portion();
$portion1->setText("SlideTitle");
$superPar->getPortions()->add($portion1);
# Utwórz część z tekstem w superskrypcie
$superPortion = new Portion();
$superPortion->getPortionFormat()->setEscapement(30);
$superPortion->setText("TM");
$superPar->getPortions()->add($superPortion);
# Utwórz akapit dla tekstu w subskrypcie
$paragraph2 = new Paragraph();
# Utwórz część z zwykłym tekstem
$portion2 = new Portion();
$portion2->setText("a");
$paragraph2->getPortions()->add($portion2);
# Utwórz część z tekstem w subskrypcie
$subPortion = new Portion();
$subPortion->getPortionFormat()->setEscapement(-25);
$subPortion->setText("i");
$paragraph2->getPortions()->add($subPortion);
# Dodaj akapity do pola tekstowego
$textFrame->getParagraphs()->add($superPar);
$textFrame->getParagraphs()->add($paragraph2);
$pres->save("formatText.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Czy superskrypt i subskrypt są zachowywane przy eksporcie do PDF lub innych formatów?
Tak, Aspose.Slides prawidłowo zachowuje formatowanie superskryptu i subskryptu podczas eksportu prezentacji do PDF, PPT/PPTX, obrazów oraz innych obsługiwanych formatów. Specjalistyczne formatowanie pozostaje nienaruszone we wszystkich plikach wyjściowych.
Czy superskrypt i subskrypt można łączyć z innymi stylami formatowania, takimi jak pogrubienie czy kursywa?
Tak, Aspose.Slides umożliwia mieszanie różnych stylów tekstu w jednej części tekstu. Możesz włączyć pogrubienie, kursywę, podkreślenie oraz jednocześnie zastosować superskrypt lub subskrypt, konfigurując odpowiednie właściwości w PortionFormat.
Czy formatowanie superskryptu i subskryptu działa dla tekstu wewnątrz tabel, wykresów lub SmartArt?
Tak, Aspose.Slides obsługuje formatowanie w większości obiektów, w tym w elementach tabel i wykresów. Pracując ze SmartArt, należy uzyskać dostęp do odpowiednich elementów (np. SmartArtNode) i ich kontenerów tekstowych, a następnie skonfigurować właściwości PortionFormat w podobny sposób.