Interfejs API Dokumentów Google umożliwia wstawianie i usuwanie tekstu w dokumencie. Przenoszenie tekstu obejmuje obie operacje, po których następuje znak get
treści.
Możesz wstawiać i usuwać tekst w dowolnych segmentach dokumentu (w głównej części, w nagłówku, stopce lub w przypisie).
Wstaw tekst
Aby wstawić tekst do dokumentu, użyj metody documents.batchUpdate
i dodaj InsertTextRequest
z tekstem oraz lokalizacją jako ładunkiem.
Poniższy przykładowy kod pokazuje, jak wstawić serię ciągów tekstowych w określonych lokalizacjach indeksu w treści dokumentu. W przykładzie wykorzystano 3 przesunięcia docelowe (25, 50 i 75) i wstawia w każdej lokalizacji ciąg 10 znaków.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text1) .setLocation(new Location().setIndex(25)))); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text2) .setLocation(new Location().setIndex(50)))); requests.add(new Request().setInsertText(new InsertTextRequest() .setText(text3) .setLocation(new Location().setIndex(75)))); 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, ), ), 'insertText' => array( 'text' => $text2, 'location' => array( 'index' => 50, ), ), 'insertText' => array( 'text' => $text3, 'location' => array( 'index' => 75, ), ), )); $batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array( 'requests' => $requests )); $response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);
Python
requests = [ { 'insertText': { 'location': { 'index': 25, }, 'text': text1 } }, { 'insertText': { 'location': { 'index': 50, }, 'text': text2 } }, { 'insertText': { 'location': { 'index': 75, }, 'text': text3 } }, ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
Każde wstawienie zwiększa wartość wszystkich indeksów o wyższych numerach o rozmiar wstawionego tekstu. W przykładzie wstępnie obliczono wynik tych zmian indeksu, aby kolejne wstawienia miały miejsce z nowym, skorygowanym przesunięciem. Dlatego, aby wstawić do pierwotnych indeksów przesunięcia o 25, 50 i 75, rzeczywiste indeksy wstawiania to:
- Pierwsze wstawienie powoduje dodanie 10 znaków w pozycji 25.
- Po drugie wstawienie dodaje 10 znaków w pozycji 50+10=60.
- Trzecie wstawienie powoduje dodanie 10 znaków w pozycji 75+10+10=95.
Usuwanie tekstu
Aby usunąć tekst z dokumentu, najpierw utwórz obiekt Range
określający zakres tekstu do usunięcia. Następnie użyj metody documents.batchUpdate
i dołącz DeleteContentRangeRequest
.
Poniższy przykładowy kod pokazuje, jak usunąć tekst pomiędzy indeksem 10 a indeksem 24 w treści dokumentu.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setDeleteContentRange( new DeleteContentRangeRequest() .setRange(new Range() .setStartIndex(10) .setEndIndex(24)) )); 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 ), ), )); $batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array( 'requests' => $requests )); $response = $service->documents->batchUpdate($documentId, $batchUpdateRequest);
Python
requests = [ { 'deleteContentRange': { 'range': { 'startIndex': 10, 'endIndex': 24, } } }, ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
Uprość sprawy, zapisując je wstecz. Tak jak w przypadku wstawiania, usunięcie tekstu zmieni indeksy całego tekstu „poniżej” w segmencie. Również zapis do tyłu może uprościć obsługę indeksów.
Przenieś tekst
Aby przenieść tekst, usuń go w jednym miejscu, a następnie wstaw w inne miejsce. Usunięcie treści nie powoduje utworzenia jej kopii (nie ma on swojego odpowiednika w postaci schowka), więc musisz najpierw wyodrębnić zawartość zakresu, aby móc jej użyć w żądaniu wstawiania tekstu.
Powiązane artykuły
- Tworzenie dokumentów i zarządzanie nimi
- Scalanie tekstu w dokument
- Struktura dokumentu w Dokumentach Google