Tekst możesz edytować i formatować za pomocą zakresów tekstu, które są reprezentowane przez typ TextRange
. TextRange
to segment tekstu w kształcie lub w komórce tabeli. Wywołanie getText()
w przypadku kształtu lub komórki tabeli zwraca zakres tekstu obejmujący cały tekst.
Jeśli używasz metod, które zmieniają sposób dopasowania tekstu do kształtu, wszystkie ustawienia automatycznego dopasowania zastosowane do kształtu zostaną wyłączone.
Korzystanie z zakresów tekstu
Zakres tekstowy ma 2 indeksy, które wyznaczają segment tekstu objęty zakresem: indeks początkowy i indeks końcowy. Indeksy te możesz określić za pomocą funkcji getStartIndex()
i getEndIndex()
.
Aby odczytać zawartość zakresu tekstu, użyj funkcji asString()
lub asRenderedString()
.
Aby pobrać podzakres z zakresu tekstu, użyj funkcji getRange()
.
Poniższy skrypt tworzy pole tekstowe na pierwszym slajdzie i ustawia jego zawartość na „Hello world!”. Następnie pobiera podzakres obejmujący tylko słowo „Hello”.
Zakres tekstu zwracany przez kształt lub komórkę tabeli zawsze obejmuje cały tekst, nawet jeśli tekst jest wstawiany i usuwany. W powyższym przykładzie zostaną wygenerowane te instrukcje logowania:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Wstawianie i usuwanie tekstu
Możesz też wstawiać i usuwać kształty tekstowe oraz komórki tabeli za pomocą zakresów tekstu.
insertText()
iappendText()
umożliwiają wstawianie tekstu.setText()
zastępuje tekst w zakresie tekstu podanym tekstem.clear()
usuwa tekst z zakresu tekstu.
Poniższy skrypt pokazuje, jak używać tych funkcji:
Ten skrypt tworzy pole tekstowe na pierwszym slajdzie i ustawia jego zawartość na „Hello world!”. Następnie usuwa znaki od 6 do 11 („world”) i wstawia tekst „galaxy” na pozycji 6. Powyższy przykład generuje ten komunikat w logu:
Start: 0; End: 14; Content: Hello galaxy!
Wyszukiwanie i zamienianie
Użyj funkcji replaceAllText()
w prezentacji lub na stronie, aby przeprowadzić globalne wyszukiwanie i zamienianie w całej prezentacji lub na konkretnej stronie.
Funkcja find()
w obiekcie TextRange zwraca wystąpienia ciągu znaków w zakresie. Można jej używać razem z funkcją setText()
do wyszukiwania i zastępowania tekstu w kształcie lub komórce tabeli.
akapitów, elementów listy i ciągów znaków;
TextRange
udostępnia funkcje zwracające przydatne kolekcje elementów tekstowych.
Oto niektóre z tych funkcji:
getParagraphs(),
, która zawiera wszystkie akapity nakładające się na zakres tekstu. A Akapit to ciąg tekstu, który kończy się znakiem nowego wiersza „\n”.getListParagraphs(),
, która zwraca elementy listy w bieżącym zakresie tekstu.getRuns(),
, która zawiera zakresy tekstu nakładające się na bieżący zakres tekstu. Ciąg tekstowy to segment tekstu, w którym wszystkie znaki mają ten sam styl tekstu.
Styl tekstu
Styl tekstu określa sposób renderowania znaków w prezentacji, w tym czcionkę, kolor i hiperlinki.
Funkcja getTextStyle()
zakresu tekstu udostępnia obiekt TextStyle
służący do
stylizowania tekstu. Obiekt TextStyle
obejmuje ten sam tekst co jego nadrzędny obiekt TextRange
.
W powyższym przykładzie najpierw tworzone jest pole tekstowe na pierwszym slajdzie, a następnie ustawiana jest jego zawartość na „Hello ”. Potem dołączany jest tekst „world!”. Nowo dodany tekst jest pogrubiony, połączony z www.example.com
i ma kolor czerwony.
Podczas odczytywania stylów funkcja zwraca wartość null, jeśli zakres ma wiele wartości dla stylu. Powyższy przykład generuje te instrukcje dziennika:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
Istnieje wiele innych stylów, które można zastosować do tekstu. Więcej szczegółów znajdziesz w TextStyle
dokumentacji referencyjnej.
Styl akapitu
Style akapitu dotyczą całych akapitów i obejmują takie elementy jak wyrównanie tekstu i odstępy między wierszami. Funkcja getParagraphStyle() w TextRange
zwraca obiekt ParagraphStyle
do stylizowania wszystkich akapitów, które nakładają się na zakres tekstu nadrzędnego.
W poniższym przykładzie tworzymy pole tekstowe na pierwszym slajdzie z 4 akapitami, a następnie wyśrodkowujemy pierwsze 3 akapity.
Style listy
Podobnie jak w przypadku ParagraphStyle
, element ListStyle
może służyć do stylizowania wszystkich akapitów, które nakładają się na zakres tekstu nadrzędnego.
Powyższy przykład tworzy pole tekstowe na pierwszym slajdzie zawierające 4 akapity: drugi akapit jest wcięty raz, a trzeci akapit jest wcięty dwukrotnie. Następnie stosuje gotowe ustawienia listy do wszystkich akapitów. Na koniec rejestrowany jest poziom zagnieżdżenia każdego akapitu. (Poziom zagnieżdżenia akapitu zależy od liczby tabulatorów przed tekstem akapitu). Powyższy skrypt generuje te wpisy w dzienniku:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0