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

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

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

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

כדי ליצור רשימה, משתמשים ב-‎documents.batchUpdate method ומספקים CreateParagraphBulletsRequest. כוללים Range כדי לציין את התאים הרלוונטיים וBulletGlyphPreset כדי להגדיר את התבנית של התבליט.

כל הפסקאות שחופפות לטווח הנתון מסומנות בתבליטים. אם הטווח שצוין חופף לטבלה, התבליטים מוחלים על התאים בטבלה. רמת הקינון של כל פסקה נקבעת לפי מספר התווים של Tab שמופיעים בתחילת כל פסקה.

אי אפשר לשנות את רמת הקינון של תבליט קיים. במקום זאת, צריך למחוק את התבליט, להגדיר את טאבים המובילים לפני הפסקה ואז ליצור את התבליט מחדש. מידע נוסף מופיע במאמר הסרת תבליטים מרשימה.

אפשר גם להשתמש ב-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()