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

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

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

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

כדי ליצור רשימה, משתמשים ב-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()