Langkah-langkah Pembuatan banyak PDF dari spreadsheet
Langkah-langkah Pembuatan banyak PDF dari spreadsheet
1. Buat Folder PDF dan TEMP serta File google sheet Sebagai Sumber
data dan google docs sebagai cetakan seperti gambar di samping
2. Masuk ke google sheet kemudian klik Tools - <> Script Editor untuk
masuk ke dalam google script
3. Ganti nama File google script kemudian copy kan seluruh scrript di
bawah ini
4. Buat tombol cetak PDF di google sheet klik Insert - Drawing
kemudian pada tombol klik titik tiga masukan judul fuction
Script untuk Aplikasi
function membuatBulkPDFs() {
const fileDokumen = DriveApp.getFileById("1T4yePrymu8ActIXGrfCcAQmKyGf-HEjQXhBOHe8tC1s");
const folderTemp = DriveApp.getFolderById("1RDJRXqVtS7uJpN5HR6Dm-0H4oWJVhJTP");
const folderPDF = DriveApp.getFolderById("1LKFcMKPFFZPOPybensliub8N_nqlw6Qb");
const sumberSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
const data = sumberSheet.getRange(2, 1, sumberSheet.getLastRow()-1 , 6).getValues();
let errors = [];
data.forEach(row => {
try{
membuatPDF(row[0],row[1],row[2],row[3],row[4],row[5],row[0] + "" + row[1],fileDokumen,folderTemp,folderPDF);
errors.push(["Berhasil"]);
} catch(err){
errors.push(["Gagal"]);
}
});// Menutup forEach
sumberSheet.getRange(2, 7, sumberSheet.getLastRow()-1 , 1).setValue(errors);
} //Menutup membuatBulkPDFs
function membuatPDF(noDaftar,nama,tempatLahir,tanggalLahir,alamat,noHp,namaPDF,fileDokumen,folderTemp,folderPDF) {
const fileTemp = fileDokumen.makeCopy(folderTemp);
const fileDokumenTemp = DocumentApp.openById(fileTemp.getId());
const body = fileDokumenTemp.getBody();
body.replaceText("{NO PENDAFTARAN}", noDaftar);
body.replaceText("{NAMA}", nama);
body.replaceText("{TEMPAT LAHIR}", tempatLahir);
body.replaceText("{TANGGAL LAHIR}", tanggalLahir);
body.replaceText("{ALAMAT}", alamat);
body.replaceText("{NOMOR HP}", noHp);
fileDokumenTemp.saveAndClose();
const isiPdfBlop = fileTemp.getAs(MimeType.PDF);
folderPDF.createFile(isiPdfBlop).setName(namaPDF);
//folderTemp.removeFile(fileTemp);
}