استخدام القوائم

تتيح Google Docs API تحويل الفقرات العادية إلى قوائم نقطية و إزالة النقاط من الفقرات.

تحويل فقرة إلى قائمة

من العمليات الشائعة لتنسيق الفقرات هي تحويل الفقرات إلى قائمة بنقاط.

لإنشاء قائمة، استخدِم الوسيطة 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()
حوِّل فقرة إلى قائمة.
الشكل 1. حوِّل فقرة إلى قائمة.

إزالة النقاط من قائمة

لإزالة النقاط من قائمة الفقرات، استخدِم الرمز 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()