सूचियों के साथ काम करना

Google Docs API की मदद से, नए दस्तावेज़ों में सूचियाँ बनाई जा सकती हैं. साथ ही, मौजूदा सामान्य पैराग्राफ़ को बुलेट वाली सूचियों में बदला जा सकता है और पैराग्राफ़ से बुलेट हटाए जा सकते हैं.

नए दस्तावेज़ में नंबर वाली सूची बनाना

Docs API की मदद से, किसी नए दस्तावेज़ में नंबर वाली सूची बनाई जा सकती है. इसके लिए, टेक्स्ट डाला जाता है. इसके बाद, एक ही बैच अनुरोध में टेक्स्ट पर सूची की स्टाइल लागू की जाती है.

किसी नए दस्तावेज़ में नंबर वाली सूची बनाने के लिए:

  1. दस्तावेज़ बनाने के लिए, documents.create तरीके का इस्तेमाल करें.

  2. दस्तावेज़ में कॉन्टेंट जोड़ने के लिए, documents.batchUpdate तरीके का इस्तेमाल करें और InsertTextRequest दें. सूची के आइटम को अलग-अलग करने के लिए, नई लाइन वाले वर्ण (\n) का इस्तेमाल करें.

  3. उसी बैच अपडेट में, CreateParagraphBulletsRequest, Range, और BulletGlyphPreset शामिल करें. CreateParagraphBulletsRequest का इस्तेमाल टेक्स्ट की रेंज तय करने के लिए करें. Range का इस्तेमाल टेक्स्ट की रेंज तय करने के लिए करें. BulletGlyphPreset का इस्तेमाल नंबरिंग का पैटर्न सेट करने के लिए करें.

यहां दिए गए कोड सैंपल में, दस्तावेज़ बनाने और फिर उसमें तीन आइटम को नंबर वाली सूची के तौर पर डालने का तरीका बताया गया है. BulletGlyphPreset में सूची को फ़ॉर्मैट करने के लिए, NUMBERED_DECIMAL_ALPHA_ROMAN का इस्तेमाल किया जाता है. इसका मतलब है कि नंबर वाली सूची के पहले तीन नेस्टिंग लेवल को दशमलव संख्या, अंग्रेज़ी का छोटा अक्षर, और रोमन अंकों के छोटे अक्षर से दिखाया जाता है.

Java

Document doc = new Document().setTitle("New List Document");
doc = docsService.documents().create(doc).execute();
String documentId = doc.getDocumentId();

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText("Item 1\nItem 2\nItem 3\n")
        .setLocation(new Location().setIndex(1).setTabId(TAB_ID))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(22)
                        .setTabId(TAB_ID))
                .setBulletPreset("NUMBERED_DECIMAL_ALPHA_ROMAN")));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
docsService.documents().batchUpdate(documentId, body).execute();

System.out.println("Created document with ID: " + documentId);

Python

title = 'New List Document'
body = {'title': title}
doc = service.documents().create(body=body).execute()
document_id = doc.get('documentId')

requests = [
    {
        'insertText': {
            'location': {
                'index': 1,
                'tabId': TAB_ID
            },
            'text': 'Item 1\nItem 2\nItem 3\n'
        }
    },
    {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex': 22,
                'tabId': TAB_ID
            },
            'bulletPreset': 'NUMBERED_DECIMAL_ALPHA_ROMAN'
        }
    }
]

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

print(f"Created document with ID: {document_id}")

TAB_ID को उस टैब के आईडी से बदलें जिसमें सूची का कॉन्टेंट मौजूद है.

किसी पैराग्राफ़ को सूची में बदलना

पैराग्राफ़ की फ़ॉर्मैटिंग से जुड़ी एक सामान्य कार्रवाई, मौजूदा पैराग्राफ़ को बुलेट वाली सूची में बदलना है.

सूची बनाने के लिए, documents.batchUpdate तरीके का इस्तेमाल करें और CreateParagraphBulletsRequest उपलब्ध कराएं. Range का इस्तेमाल करके, उस टेक्स्ट के बारे में बताएं जिस पर असर पड़ा है. साथ ही, BulletGlyphPreset का इस्तेमाल करके, बुलेट का पैटर्न सेट करें.

दी गई रेंज से ओवरलैप होने वाले सभी पैराग्राफ़ को बुलेट किया जाता है. अगर तय की गई रेंज, किसी टेबल से ओवरलैप होती है, तो बुलेट टेबल सेल में लागू होते हैं. हर पैराग्राफ़ का नेस्टिंग लेवल, हर पैराग्राफ़ के आगे मौजूद टैब की संख्या के हिसाब से तय होता है.

किसी मौजूदा बुलेट के नेस्टिंग लेवल में बदलाव नहीं किया जा सकता. इसके बजाय, आपको बुलेट मिटाना होगा, पैराग्राफ़ के सामने लीडिंग टैब सेट करने होंगे, और फिर बुलेट को फिर से बनाना होगा. ज़्यादा जानकारी के लिए, किसी सूची से बुलेट हटाना लेख पढ़ें.

मौजूदा सूची के बुलेट स्टाइल को बदलने के लिए, CreateParagraphBulletsRequest का भी इस्तेमाल किया जा सकता है.

यहां दिए गए कोड के सैंपल में, बैच अनुरोध दिखाया गया है. यह अनुरोध, दस्तावेज़ की शुरुआत में टेक्स्ट डालता है. इसके बाद, पहले 50 वर्णों वाले पैराग्राफ़ से एक सूची बनाता है. BulletGlyphPreset का इस्तेमाल करता है BULLET_ARROW_DIAMOND_DISC. इसका मतलब है कि बुलेट वाली सूची के पहले तीन नेस्टिंग लेवल को ऐरो, डायमंड, और डिस्क से दिखाया जाता है.

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText("Item One\n")
        .setLocation(new Location().setIndex(1).setTabId(TAB_ID))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(TAB_ID))
                .setBulletPreset("BULLET_ARROW_DIAMOND_DISC")));

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

Python

requests = [
        {
        'insertText': {
            'location': {
                'index': 1,
                'tabId': TAB_ID
            },
            'text': 'Item One\n',
        }}, {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': TAB_ID
            },
            'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',
        }
    }
]

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

TAB_ID को उस टैब के आईडी से बदलें जिसमें सूची का कॉन्टेंट मौजूद है. अगर आपको ऐसा नहीं करना है, तो इसे हटा दें. ऐसा करने पर, दस्तावेज़ के पहले टैब को डिफ़ॉल्ट रूप से चुना जाएगा.

किसी पैराग्राफ़ को सूची में बदलें.
पहली इमेज. किसी पैराग्राफ़ को सूची में बदलें.

किसी सूची से बुलेट हटाना

पैराग्राफ़ की सूची से बुलेट हटाने के लिए, documents.batchUpdate तरीके का इस्तेमाल करें और DeleteParagraphBulletsRequest उपलब्ध कराएं. Range शामिल करें, ताकि उस टेक्स्ट के बारे में बताया जा सके जिस पर असर पड़ा है.

यह तरीका, दी गई रेंज में आने वाली सभी बुलेट मिटा देता है. इससे कोई फ़र्क़ नहीं पड़ता कि वे किस नेस्टिंग लेवल पर हैं. नेस्टिंग लेवल को विज़ुअल तौर पर बनाए रखने के लिए, हर पैराग्राफ़ की शुरुआत में इंडेंटेशन जोड़ा जाता है.

यहां दिए गए कोड सैंपल में, एक बैच अनुरोध दिखाया गया है. यह अनुरोध, पैराग्राफ़ की सूची से बुलेट मिटाता है.

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setDeleteParagraphBullets(
        new DeleteParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(TAB_ID))));

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

Python

requests = [
        {
        'deleteParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': TAB_ID
            },
        }
    }
]

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

TAB_ID को उस टैब के आईडी से बदलें जिसमें सूची का कॉन्टेंट मौजूद है. अगर आपको ऐसा नहीं करना है, तो इसे हटा दें. ऐसा करने पर, दस्तावेज़ के पहले टैब को डिफ़ॉल्ट रूप से चुना जाएगा.