Un'applicazione utile dell'API Presentazioni Google è quella di unire le informazioni di una o più origini dati in una presentazione basata su modelli.
Questa pagina descrive come acquisire i dati da un'origine esterna e inserirli in un modello di presentazione esistente. Il concetto è simile a quello di unione dinamica con un elaboratore di testi e un foglio di lavoro.
Esistono diversi motivi per cui questo approccio è utile:
È facile per i designer perfezionare il design di una presentazione con l'editor di Presentazioni Google. Questa procedura è molto più semplice rispetto all'ottimizzazione dei parametri nell'app per impostare il design della slide visualizzato.
Separare i contenuti dalla presentazione è un principio di progettazione ben noto con molti vantaggi.
Una ricetta di base
Ecco un esempio di come puoi utilizzare l'API Presentazioni per unire i dati in una presentazione:
Crea la presentazione così come vuoi che appaia utilizzando contenuti segnaposto che ti aiutano a progettarlo.
Per ogni elemento di contenuti da inserire, sostituisci i contenuti segnaposto con un tag. I tag sono caselle di testo o forme con una stringa univoca. Assicurati di utilizzare stringhe che è improbabile si verifichino normalmente. Ad esempio,
{{account-holder-name}}
potrebbe essere un buon tag.Nel codice, utilizza l'API Google Drive per creare una copia della presentazione.
Nel codice, utilizza il metodo
batchUpdate
dell'API Presentazioni, con un insieme di richiestereplaceAllText
, per eseguire tutte le sostituzioni del testo in tutta la presentazione. Utilizza le richiestereplaceAllShapesWithImage
per eseguire sostituzioni delle immagini nel corso della presentazione.
Dopo aver creato una presentazione contenente tag, assicurati di creare una copia e di utilizzare l'API Presentazioni per manipolarla. Non usare l'API Presentazioni per manipolare la copia principale del "modello".
Le seguenti sezioni includono snippet di codice che illustrano parte di questo processo. Puoi anche visualizzare il video sopra per vedere un esempio completo (Python) che combina diversi dei concetti delle singole sezioni riportate di seguito.
Unisci testo
Puoi utilizzare una richiesta replaceAllText
per sostituire tutte le istanze di una determinata stringa di testo in una presentazione con un nuovo testo. Nel caso delle unioni, è più semplice che
trovare e sostituire ogni istanza di testo singolarmente. Uno dei motivi per cui questo è l'approccio più sofisticato è che gli ID elemento di pagina sono difficili da prevedere, soprattutto quando i collaboratori perfezionano e gestiscono la presentazione dei modelli.
Esempio
Questo esempio utilizza l'API Drive per copiare un modello di presentazione, creando una nuova istanza della presentazione. Poi utilizza l'API Fogli Google per leggere i dati di un foglio di lavoro Fogli e infine utilizza l'API Presentazioni per aggiornare la nuova presentazione.
L'esempio prende i dati da 3 celle in una riga di un intervallo denominato nel
foglio di lavoro. Quindi, sostituisce questi dati nella presentazione ogni volta che
si verificano le stringhe {{customer-name}}
, {{case-description}}
o
{{total-portfolio}}
.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Unisci immagini
Puoi anche unire le immagini nella presentazione utilizzando una richiesta replaceAllShapesWithImage
. Questa richiesta sostituisce tutte le istanze di forme contenenti la stringa di testo fornita con l'immagine fornita. La richiesta posiziona e ridimensiona automaticamente l'immagine per adattarla ai limiti della forma del tag, preservando al contempo le proporzioni dell'immagine.
Esempio
Questo esempio utilizza l'API Google Drive per copiare un modello di presentazione, creando
una nuova istanza della presentazione. Poi utilizza l'API Presentazioni per trovare qualsiasi forma con il testo {{company-logo}}
e sostituirla con un'immagine del logo aziendale. La richiesta sostituisce anche qualsiasi forma con il testo {{customer-graphic}}
con un'immagine diversa.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Sostituisci istanze di immagini o caselle di testo specifiche
Le richieste replaceAllText
e replaceAllShapesWithImage
sono utili per sostituire i tag in una presentazione, ma
a volte basta sostituire gli elementi in base a un altro criterio, ad esempio
per essere posizionati su una slide specifica.
In questi casi, devi recuperare gli ID delle forme di tag da sostituire. Per la sostituzione del testo, elimina il testo esistente in quelle forme e poi inserisci il nuovo testo (vedi l'esempio Modificare un testo in una forma specificata).
La sostituzione delle immagini è più complessa. Per unire un'immagine in un'immagine, devi:
- Ottieni l'ID della forma tag.
- Copia le dimensioni e trasforma le informazioni dal tag.
- Aggiungi l'immagine alla pagina utilizzando le informazioni su dimensioni e trasformazione.
- Elimina la forma del tag.
Conservare le proporzioni dell'immagine mentre la ridimensiona alle dimensioni desiderate potrebbe richiedere un po' di attenzione, come descritto nella sezione seguente. Vedi anche questo esempio: Sostituire un tag di forma con un'immagine.
Mantieni proporzioni
Quando crei immagini utilizzando l'API Presentazioni, le proporzioni si basano solo sulle dimensioni dell'immagine, non sulle dimensioni e trasformare i dati. I dati sulle dimensioni forniti
nella richiesta createImage
sono considerati come la dimensione desiderata dell'immagine. L'API adatta le proporzioni dell'immagine alle dimensioni desiderate, quindi applica la trasformazione fornita.
Quando sostituisci un tag con un'immagine, mantieni le proporzioni dell'immagine impostando le dimensioni e il ridimensionamento dell'immagine come segue:
- width: impostato sul prodotto di
width
escaleX
del tag - height: impostato sul prodotto dei valori
height
escaleY
del tag - scale_x: impostato su
1
- scale_y: impostato su
1
In questo modo, l'API Presentazioni si adatta all'immagine in base alle
dimensioni visive del tag, anziché alle dimensioni non ridimensionate (consulta
Sostituire un tag di forma con un'immagine).
L'impostazione dei parametri di scalabilità su 1
impedisce che l'immagine venga scalata
due volte.
Questa disposizione garantisce che le proporzioni dell'immagine vengano preservate e impedisce che l'immagine superi le dimensioni della forma del tag. L'immagine ha lo stesso punto centrale della forma del tag.
Gestisci modelli
Per le presentazioni dei modelli che l'applicazione definisce e possiede, crea il modello utilizzando un account dedicato che rappresenti l'applicazione. Gli account di servizio sono una buona scelta ed evita complicazioni con i criteri di Google Workspace che limitano la condivisione.
Quando crei istanze di presentazioni da modelli, utilizza sempre le credenziali dell'utente finale. In questo modo gli utenti hanno il pieno controllo sulla presentazione risultante e previene i problemi di scalabilità correlati ai limiti per utente su Google Drive.
Per creare un modello utilizzando un account di servizio, esegui questi passaggi con le credenziali dell'applicazione:
- Crea una presentazione utilizzando presentations.create nell'API Presentazioni.
- Aggiorna le autorizzazioni per consentire ai destinatari della presentazione di leggerla utilizzando permissions.create nell'API Drive.
- Aggiorna le autorizzazioni per consentire agli autori del modello di scrivere utilizzando permissions.create nell'API Drive.
- Modifica il modello in base alle tue esigenze.
Per creare un'istanza della presentazione, esegui questi passaggi con le credenziali utente:
- Crea una copia del modello utilizzando files.copy nell'API Drive.
- Sostituisci i valori utilizzando presentation.batchUpdate nell'API Presentazioni.