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

‫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()