JavaScript, HTML, CSS e... !
2 commenti

Il file sarà inoltre salvato su Drive ed inviato come allegato in una mail

Convertire un contenuto HTML in un file PDF con Google Apps Script

La funzione riportata nel codice di esempio presente di seguito effettua la conversione di un contenuto HTML in un file PDF mantenendo l'espressione visiva data dai tag del linguaggio di markup, nel caso specifico il titolo più grande del tag h1, il ritorno a capo con il br, il paragrafo p ed il collegamento ipertestuale con href.

Di seguito un esempio del risultato salvato automaticamente su Google Drive:



contenuto html salvato come file pdf in google drive

Fig. 1 - Contenuto HTML salvato come file PDF in Google Drive


Il codice del convertitore è il seguente:

function htmlToPDF() {
  var html = "<h1>Benvenuti su AppsScript.it</h1>" +
             "<p>Se sei alla ricerca di guide base ed avanzate su Google Apps Script " +
             "per la realizzazione di applicazioni web o l'estensione di funzionalità dei " +
             "tool integrati nella G Suite... ti trovi nel posto giusto!<br />" +
             "Accedi ora alla pagina dei <a href='http://www.appsscript.it/tutorial/'>tutorial</a>.</p>";

  var blob = Utilities.newBlob(html, "text/html", "nomefile.html");
  var pdf = blob.getAs("application/pdf"); 
  DriveApp.createFile(pdf).setName("nomefile.pdf");
  
  MailApp.sendEmail("miamail@gmail.com", "PDF File", "", { htmlBody: html, attachments: pdf });
}

Lo script non si limita solo a convertire e salvare il file PDF nella root di Google Drive ma lo invia anche via email, all'indirizzo indicato, sia come corpo del messaggio (sempre in formato HTML) che come allegato:



contenuto html scritto nel corpo della mail ed inserito come allegato

Fig. 2 - Contenuto HTML scritto nel corpo della mail ed inserito come allegato


Inutile dire che lo script può gestire contenuti HTML decisamente più complessi di quello in esempio.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

2 Commenti

  1. domenica 12 aprile 2020 alle ore 16.42 Andrea

    Buongiorno, sono alle prime armi. Di seguito quello che ho fatto finora, mi manca la stringa per far sì che parte del foglio che ho evidenziato venga salvato come PDF sul desktop. Ringrazio in anticipo per l'eventuale risposta.

    /** @OnlyCurrentDoc */

    function myFunction() {
    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.getRange('A1').activate();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Conformità'), true);
    spreadsheet.getRange('B2:F58').activate();
    };

    Rispondi a questo commento
    • domenica 12 aprile 2020 alle ore 23.13 Michele PisaniAutore

      Buonasera Andrea,
      l'articolo in oggetto si riferisce alla conversione di un contenuto HTML. Quello che stai tentando di fare invece riguarda la gestione dei prodotti della G Suite.
      Se sei alle prime armi ti consiglio di approfondire l'argomento (anche con altri articoli del blog). Ci possono essere delle soluzioni per ottenere quello che desideri (a parte il salvataggio sul desktop) tuttavia è una trattazione che richiede uno studio e un minimo di esperienza dello strumento e non può essere soddisfatta in un commento sulla base del codice che hai riportato.

      Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web