Google Dokümanlar API'sı bir dokümana metin eklemenize veya mevcut metinleri silmenize olanak sağlar. Metin taşınıyor
önce içeriğin get
ifadesinden sonra her iki işlemi de kapsar.
Herhangi bir dokümana metin ekleyebilir veya mevcut metni silebilirsiniz sekmesinin segmentlerine (gövde, üstbilgi, altbilgi veya dipnot) dokunun.
Metin ekle
Bir dokümana metin eklemek için
documents.batchUpdate
yöntemini kullanarak
InsertTextRequest
yük olarak metin ve konum
kullanılır.
Aşağıdaki kod örneğinde, bir dizi metin dizesini dokümanın gövdesinde belirtilen dizin konumları. Örnekte üç reklam öğesi, uzaklaştırır (25, 50 ve 75) ve her birine on karakterlik bir dize ekler konum.
Java
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()
Her ekleme işlemi, yüksek numaralı tüm dizinleri eklenen metin. Örnekte, bu dizin değişikliklerinin sonucunu önceden hesaplayarak sonraki eklemelerin, düzeltilmiş yeni ofsette gerçekleşmesini sağlar. Böylece 25, 50 ve 75'lik orijinal hedef ofsetlerde, gerçek ekleme dizinleri şunlardır:
- İlk ekleme, 25 uzaklık noktasına 10 karakter ekler.
- İkinci ekleme, 50+10=60 uzaklığında 10 karakter ekler.
- Üçüncü ekleme, 75+10+10=95 ofsette 10 karakter ekler.
Metin silme
Bir belgeden metin silmek için önce bir
Range
silinecek metin. Ardından, documents.batchUpdate
yöntemini kullanın ve bir
DeleteContentRangeRequest
Aşağıdaki kod örneğinde, dizin 10 arasındaki metni nasıl silebileceğiniz gösterilmektedir bir dokümanın gövdesinde 24'ü içeren bir dizin oluşturur.
Java
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()
Geriye doğru yazarak konuları basitleştirin. Eklemelerde olduğu gibi, metin, "aşağıdaki" tüm metnin dizinlerini değiştiriyor seçin. Tekrar ediyorum, yazılıma geriye doğru, dizinleri yönetmenizi kolaylaştırabilir.
Metni taşı
Taşımak istediğiniz metni bir konumdan silip başka bir yere eklersiniz. Bir içeriği silmeniz o içeriğin bir kopyasını sağlamaz ( bir pano dosyası oluşturur. Böylece, kullanmak için önce aralığın içeriğini girin.