텍스트 삽입, 삭제 및 이동

Google Docs API를 사용하여 문서에 텍스트를 삽입하거나 삭제할 수 있습니다. 텍스트 이동 중 콘텐츠의 get 뒤에 나오는 두 작업을 모두 포함합니다.

모든 문서에서 텍스트를 삽입하거나 삭제할 수 있습니다. tab의 세그먼트 (본문, 머리글, 바닥글 또는 각주)가 표시됩니다.

텍스트 삽입

문서에 텍스트를 삽입하려면 documents.batchUpdate 드림 메서드를 사용하고 InsertTextRequest 텍스트 및 위치를 페이로드로 포함합니다.

다음 코드 샘플은 지정된 색인 위치가 있는지 확인합니다. 이 예시에서는 타겟 오프셋 (25, 50, 75)을 생성하고 각 지점에 10자의 문자열을 볼 수 있습니다

자바

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text1)
        .setLocation(new Location().setIndex(25).setTabId(TAB_ID))));

requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text2)
        .setLocation(new Location().setIndex(50).setTabId(TAB_ID))));

requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText(text3)
        .setLocation(new Location().setIndex(75).setTabId(TAB_ID))));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();

PHP

$requests = array();
$requests[] = new Google_Service_Docs_Request(array(
    'insertText' => array(
        'text' => $text1,
        'location' => array(
            'index' => 25,
            'tabId' => TAB_ID,
        ),
    ),
    'insertText' => array(
        'text' => $text2,
        'location' => array(
            'index' => 50,
            'tabId' => TAB_ID,
        ),
    ),
    'insertText' => array(
        'text' => $text3,
        'location' => array(
            'index' => 75,
            'tabId' => TAB_ID,
        ),
    ),
));

$batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array(
    'requests' => $requests
));

$response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);

Python

requests = [
        {
        'insertText': {
            'location': {
                'index': 25,
                'tabId': TAB_ID
            },
            'text': text1
        }
    },
                {
        'insertText': {
            'location': {
                'index': 50,
                'tabId': TAB_ID
            },
            'text': text2
        }
    },
                {
        'insertText': {
            'location': {
                'index': 75,
                'tabId': TAB_ID
            },
            'text': text3
        }
    },
]

result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()

각 삽입은 삽입한 텍스트입니다. 예에서는 이러한 색인 변경의 결과를 미리 계산하므로 후속 삽입이 수정된 새 오프셋에서 발생합니다. 따라서 원래 타겟 오프셋인 25, 50, 75에서는 실제 삽입 색인이 다음과 같습니다.

  • 첫 번째 삽입은 오프셋 25에 10자를 추가합니다.
  • 두 번째 삽입은 50+10=60 오프셋에 10자를 추가합니다.
  • 세 번째 삽입은 오프셋 75+10+10=95에 10자를 추가합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.

텍스트 삭제

문서에서 텍스트를 삭제하려면 먼저 Range: 삭제할 텍스트입니다. 그런 다음 documents.batchUpdate 메서드를 사용하고 DeleteContentRangeRequest

다음 코드 샘플은 색인 10 사이의 텍스트를 삭제하는 방법을 보여줍니다. 색인 24가 있는지 확인합니다.

자바

List<Request> requests = new ArrayList<>();
requests.add(new Request().setDeleteContentRange(
        new DeleteContentRangeRequest()
                .setRange(new Range()
                        .setStartIndex(10)
                        .setEndIndex(24)
                        .setTabId(TAB_ID))
    ));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();

PHP

$requests = array();
$requests[] = new Google_Service_Docs_Request(array(
    'deleteContentRange' => array(
        'range' => array(
            'startIndex' => 10,
            'endIndex' => 24,
            'tabId' => TAB_ID
        ),
    ),
));

$batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array(
    'requests' => $requests
));

$response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);

Python

requests = [
    {
        'deleteContentRange': {
            'range': {
                'startIndex': 10,
                'endIndex': 24,
                'tabId': TAB_ID
            }

        }

    },
]
result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()

거꾸로 써서 문제를 단순화하세요. 삽입과 마찬가지로 텍스트는 모든 '아래' 텍스트의 색인을 변경합니다. 확인할 수 있습니다. 다시 말하지만, 뒤로를 사용하면 색인 처리를 간소화할 수 있습니다.

텍스트 이동

텍스트를 이동하려면 한 위치에서 텍스트를 삭제한 다음 다른 곳에 삽입하면 됩니다. 콘텐츠를 삭제해도 사본은 제공되지 않습니다. 클립보드)의 앞부분을 볼 수 있으므로 먼저 범위의 콘텐츠를 추출해야 를 입력합니다.