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

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

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

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

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

הסרת תוויות ריבועיות מרשימת פריטים

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