Auf dieser Seite erfahren Sie, wie Sie Text mit der Google Docs API formatieren.
Formatierung
Es gibt zwei verschiedene Arten von Formatierungen, die Sie auf den Textinhalt Ihres Dokuments anwenden können:
- Sie können die Zeichenformatierung wie Schriftart, Farbe oder Unterstreichung ändern.
- Sie können die Absatzformatierung wie Einzug oder Zeilenabstand ändern.
Ändern der Zeichenformatierung
Die Zeichenformatierung bestimmt die Darstellung von Textzeichen in Ihrem Dokument.
Alle von Ihnen angewendeten Formatierungen überschreiben die Standardformatierung, die vom TextStyle des zugrunde liegenden Absatzes übernommen wurde. Umgekehrt werden alle Zeichen, deren Formatierung Sie nicht festlegen, weiterhin von den Stilen des Absatzes übernommen.
Wenn du die Zeichenformatierung von Text ändern möchtest, verwende batchUpdate
mit der UpdateTextStyleRequest.
Sie müssen ein Range-Objekt angeben, das die folgenden Informationen enthält:
- Ein
segmentId
, das angibt, welche Kopf-, Fußzeile, Fußnote oder, falls nicht anders angegeben, der Textkörper enthält. startIndex
undendIndex
, die den Textbereich innerhalb des zu formatierenden Segments definieren.- Ein
tabId
, das angibt, welcher Tab den Text enthält.
Im folgenden Beispiel werden mehrere Textstile für den im Header enthaltenen Text ausgeführt:
- Die Schrift der Zeichen 1 bis 5 wird fett kursiv.
- Die Farbe der Zeichen 6–10 wird auf
blue
in der 14-Punkt-Schriftart Times New Roman festgelegt. - Hyperlinks mit den Zeichen 11–15 zu
www.example.com
Eine einfache Möglichkeit besteht darin, eine Liste mit Anfragen zu erstellen und dann einen batchUpdate-Aufruf zu verwenden:
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateTextStyle(new UpdateTextStyleRequest() .setTextStyle(new TextStyle() .setBold(true) .setItalic(true)) .setRange(new Range() .setStartIndex(1) .setEndIndex(5) .setTabId(TAB_ID)) .setFields("bold"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(6) .setEndIndex(10) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setWeightedFontFamily(new WeightedFontFamily() .setFontFamily("Times New Roman")) .setFontSize(new Dimension() .setMagnitude(14.0) .setUnit("PT")) .setForegroundColor(new OptionalColor() .setColor(new Color().setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F))))) .setFields("foregroundColor,weightedFontFamily,fontSize"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(11) .setEndIndex(15) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setLink(new Link() .setUrl("www.example.com"))) .setFields("link"))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateTextStyle': { 'range': { 'startIndex': 1, 'endIndex': 5, 'tabId': TAB_ID }, 'textStyle': { 'bold': True, 'italic': True }, 'fields': 'bold,italic' } }, { 'updateTextStyle': { 'range': { 'startIndex': 6, 'endIndex': 10, 'tabId': TAB_ID }, 'textStyle': { 'weightedFontFamily': { 'fontFamily': 'Times New Roman' }, 'fontSize': { 'magnitude': 14, 'unit': 'PT' }, 'foregroundColor': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } } }, 'fields': 'foregroundColor,weightedFontFamily,fontSize' } }, { 'updateTextStyle': { 'range': { 'startIndex': 11, 'endIndex': 15, 'tabId': TAB_ID }, 'textStyle': { 'link': { 'url': 'www.example.com' } }, 'fields': 'link' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
Absatzformatierung ändern
Mit der Google Docs API können Sie die Absatzformatierung aktualisieren, die festlegt, wie Textblöcke in Ihrem Dokument gerendert werden, einschließlich Funktionen wie Ausrichtung und Einzug.
Durch die von Ihnen angewendete Formatierung wird die Standardformatierung überschrieben, die vom zugrunde liegenden Absatzstil übernommen wurde. Umgekehrt werden Formatierungsfunktionen, die Sie nicht festlegen, weiterhin vom Absatzstil übernommen. Weitere Informationen zu Absatzstilen und Übernahme finden Sie unter ParagraphStyle.
Im folgenden Beispiel wird die folgende Formatierung für einen Absatz angegeben:
- Eine Überschrift als benannter Stil
- Benutzerdefinierter Abstand oben
- Benutzerdefinierter Abstand unten
- Benutzerdefinierter linker Rahmen
Alle anderen Formatierungsfunktionen des Absatzes werden weiterhin vom zugrunde liegenden benannten Stil übernommen.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(10) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setNamedStyleType("HEADING_1") .setSpaceAbove(new Dimension() .setMagnitude(10.0) .setUnit("PT")) .setSpaceBelow(new Dimension() .setMagnitude(10.0) .setUnit("PT"))) .setFields("namedStyleType,spaceAbove,spaceBelow") )); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(10) .setEndIndex(20) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setBorderLeft(new ParagraphBorder() .setColor(new OptionalColor() .setColor(new Color() .setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F) ) ) ) .setDashStyle("DASH") .setPadding(new Dimension() .setMagnitude(20.0) .setUnit("PT")) .setWidth(new Dimension() .setMagnitude(15.0) .setUnit("PT") ) ) ) .setFields("borderLeft") )); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateParagraphStyle': { 'range': { 'startIndex': 1, 'endIndex': 10, 'tabId': TAB_ID }, 'paragraphStyle': { 'namedStyleType': 'HEADING_1', 'spaceAbove': { 'magnitude': 10.0, 'unit': 'PT' }, 'spaceBelow': { 'magnitude': 10.0, 'unit': 'PT' } }, 'fields': 'namedStyleType,spaceAbove,spaceBelow' } }, { 'updateParagraphStyle': { 'range': { 'startIndex': 10, 'endIndex': 20, 'tabId': TAB_ID }, 'paragraphStyle': { 'borderLeft': { 'color': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } }, 'dashStyle': 'DASH', 'padding': { 'magnitude': 20.0, 'unit': 'PT' }, 'width': { 'magnitude': 15.0, 'unit': 'PT' }, } }, 'fields': 'borderLeft' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()