עבודה עם רשימות

ב-Google Docs API אפשר להמיר פסקאות פשוטות לרשימות עם תבליטים ולהסרת תבליטים מפסקאות.

המרת פסקה לרשימה

פעולה נפוצה של עיצוב פסקאות היא המרת פסקאות לרשימה עם תבליטים.

כדי ליצור רשימה, משתמשים ב-method 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. ממירים פסקה לרשימה.

הסרת תבליטים מרשימה

כדי להסיר תבליטים מרשימת פסקאות, משתמשים ב-method 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()