이 페이지에서는 Google Docs API를 사용하여 텍스트 서식을 지정하는 방법을 설명합니다.
서식 정보
텍스트에 적용할 수 있는 서식 유형에는 두 가지가 있습니다. 문서 내용:
- 글꼴, 색상, 밑줄과 같은 문자 서식을 변경할 수 있습니다.
- 들여쓰기 또는 줄 간격과 같은 단락 서식을 변경할 수 있습니다.
문자 서식 변경
문자 형식은 문서를 참조하세요.
적용하는 모든 서식은 에서 상속된 기본 서식보다 우선 적용됩니다. 기본 단락의 TextStyle을 사용합니다. 반대로 서식을 설정하지 않은 문자는 계속 상속됩니다. 삭제할 수 있습니다.
텍스트의 문자 서식을 변경하려면 batchUpdate
를
UpdateTextStyleRequest.
Range(범위)를 제공해야 합니다.
객체에는 다음 정보가 포함됩니다.
segmentId
: 어떤 머리글, 바닥글, 각주 또는 지정되지 않으면 본문에 텍스트가 포함됩니다.startIndex
및endIndex
는 형식을 지정할 세그먼트입니다.- 텍스트가 포함된 탭을 식별하는
tabId
다음 예에서는 텍스트에 여러 텍스트 스타일 지정 작업을 수행합니다. 다음과 같습니다.
- 1~5자의 글꼴을 굵은 기울임꼴로 설정합니다.
- 6~10자의 색을
blue
14포인트 Times New Roman 글꼴로 설정합니다. - 문자 11~15를
www.example.com
에 하이퍼링크합니다.
이렇게 하는 간단한 방법은 요청 목록을 만든 다음 하나의 batchUpdate를 사용하여 통화:
자바
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()
단락 서식 변경
Google Docs API를 사용하면 단락 서식을 업데이트하여 정렬과 같은 기능을 포함하여 텍스트 블록이 문서에 렌더링됩니다. 사용할 수 있습니다.
적용하는 모든 서식은 에서 상속된 기본 서식보다 우선 적용됩니다. 기본 단락 스타일입니다. 반대로 사용자가 설정하지 않으면 단락 스타일에서 계속 상속됩니다. 단락에 관해 자세히 알아보기 스타일 및 상속에 대한 자세한 내용은 ParagraphStyle.
아래 예에서는 단락에 다음과 같은 형식을 지정합니다.
- 이름이 지정된 스타일인 제목
- 상단 맞춤 간격
- 맞춤 하단 간격
- 맞춤 왼쪽 테두리
단락의 나머지 모든 서식 지정 기능은 기본 이름이 지정된 스타일입니다.
자바
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()