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

تتيح 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))));

      requests.add(new Request().setCreateParagraphBullets(
              new CreateParagraphBulletsRequest()
                      .setRange(new Range()
                              .setStartIndex(1)
                              .setEndIndex(50))
                      .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
                },
                'text': 'Item One\n',
            }}, {
            'createParagraphBullets': {
                'range': {
                    'startIndex': 1,
                    'endIndex':  50
                },
                '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))));

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

لغة Python

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

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