Utiliser des listes

L'API Google Docs permet de convertir des paragraphes bruts en listes à puces et en supprimant des puces des paragraphes.

Convertir un paragraphe en liste

Une opération de mise en forme de paragraphe courante consiste à convertir les paragraphes en une liste à puces liste.

Pour créer une liste, utilisez la méthode documents.batchUpdate et fournissez une CreateParagraphBulletsRequest Incluez un Range pour spécifier le cellules affectées et une BulletGlyphPreset pour définir le modèle de la puce.

Tous les paragraphes qui chevauchent la plage donnée s'affichent sous forme de puces. Si la plage spécifiée chevauche un tableau, les puces sont appliquées dans les cellules du tableau. La le niveau d'imbrication de chaque paragraphe est déterminé en comptant les onglets de début de chaque paragraphe.

Vous ne pouvez pas ajuster le niveau d'imbrication d'une puce existante. À la place, vous devez supprimer la puce et placer les tabulations du début devant la un paragraphe, puis créez à nouveau la puce. Pour en savoir plus, consultez la section Supprimer les puces d'une liste.

Vous pouvez également utiliser CreateParagraphBulletsRequest pour modifier le style de la puce pour une liste existante.

L'exemple de code suivant montre une requête par lot qui insère d'abord du texte au niveau au début du document, puis crée une liste à partir des paragraphes qui couvrent les 50 premiers caractères. Le BulletGlyphPreset utilise BULLET_ARROW_DIAMOND_DISC, qui correspond aux trois premiers niveaux d'imbrication du liste à puces sont représentées par une flèche, un losange et un disque.

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()
Convertir un paragraphe en liste
Figure 1. Convertir un paragraphe en liste

Supprimer des puces d'une liste

Pour supprimer des puces d'une liste de paragraphes, utilisez les documents.batchUpdate et fournissez une DeleteParagraphBulletsRequest Incluez un Range pour spécifier le cellules affectées.

Cette méthode supprime toutes les puces qui chevauchent la plage donnée, quel que soit le d'imbrication. Pour préserver visuellement le niveau d'imbrication, un retrait est ajouté à le début de chaque paragraphe correspondant.

L'exemple de code suivant montre une requête par lot qui supprime les puces d'une liste de paragraphes.

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