Berikut dalah panduan langkah demi langkah cara membuatnya:
Langkah 1: Persiapan Template di Google Docs
Buka dokumen template Anda di Google Docs.
Tentukan posisi teks nama dan alamat yang ingin diubah secara otomatis menggunakan tanda pengenal (placeholder), misalnya menggunakan format kurung kurawal ganda seperti ini:
{{Nama}}
{{Alamat}}
Salin ID dari Google Docs tersebut (Anda bisa melihatnya di URL browser Anda, kode unik di antara /d/ dan /edit).
Langkah 2: Persiapan Folder di Google Drive
Buat sebuah folder baru di Google Drive Anda (misal namanya: "PDF Hasil Undangan").
Buka folder tersebut, lalu salin ID Foldernya dari URL browser Anda (kode unik yang ada setelah /folders/).
Langkah 3: Persiapan Google Sheets
Pastikan baris pertama (Header) pada Google Sheets Anda memiliki kolom bernama Nama dan Alamat (besar kecil huruf harus sama).
Isi data tamu Anda di bawah kolom tersebut.
Langkah 4: Memasukkan Kode ke Spreadsheet
Di dalam Google Sheets Anda, klik menu Ekstensi > Apps Script.
Hapus semua kode bawaan yang ada di editor, lalu copy dan paste seluruh kode dibawah ini
// Fungsi untuk membuat PDF dari Template Google Docs berdasarkan data Google Sheets
function generatePDFsFromSheets() {
// 1. Konfigurasi ID (Ganti dengan ID file Anda sendiri)
const TEMPLATE_DOC_ID = 'MASUKKAN_ID_TEMPLATE_DOC_ANDA_DISINI';
const TARGET_FOLDER_ID = 'MASUKKAN_ID_FOLDER_TUJUAN_ANDA_DISINI';
// 2. Ambil data dari Spreadsheet yang sedang aktif
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
// Asumsi Baris 1 adalah Header (Nama, Alamat)
// Data dimulai dari baris 2
const headers = data[0];
const namaIndex = headers.indexOf("Nama");
const alamatIndex = headers.indexOf("Alamat");
if (namaIndex === -1 || alamatIndex === -1) {
SpreadsheetApp.getUi().alert("Error: Kolom 'Nama' atau 'Alamat' tidak ditemukan di baris pertama!");
return;
}
const targetFolder = DriveApp.getFolderById(TARGET_FOLDER_ID);
const templateFile = DriveApp.getFileById(TEMPLATE_DOC_ID);
// 3. Loop melalui setiap baris data (mulai dari indeks 1 karena 0 adalah header)
for (let i = 1; i < data.length; i++) {
let row = data[i];
let namaTamu = row[namaIndex];
let alamatTamu = row[alamatIndex];
// Lewati jika baris kosong
if (!namaTamu) continue;
// Buat salinan sementara dari template Doc
let docCopy = templateFile.makeCopy(`Undangan - ${namaTamu}`, targetFolder);
let docCopyId = docCopy.getId();
let openedDoc = DocumentApp.openById(docCopyId);
let body = openedDoc.getBody();
// Ganti placeholder di dalam dokumen
// Pastikan di Google Docs Anda menuliskan {{Nama}} dan {{Alamat}}
body.replaceText('{{Nama}}', namaTamu);
body.replaceText('{{Alamat}}', alamatTamu);
// Simpan dan tutup dokumen sementara agar perubahan diterapkan
openedDoc.saveAndClose();
// Konversi dokumen sementara menjadi PDF
let pdfBlob = docCopy.getAs(MimeType.PDF);
// Buat file PDF di folder tujuan
targetFolder.createFile(pdfBlob).setName(`Undangan_${namaTamu}.pdf`);
// Hapus dokumen sementara (Doc copy) agar Google Drive tidak penuh
docCopy.setTrashed(true);
}
SpreadsheetApp.getUi().alert("Proses Selesai! Semua file PDF telah berhasil dibuat di folder tujuan.");
}
// Fungsi untuk membuat menu kustom di Google Sheets saat file dibuka
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Cetak Otomatis')
.addItem('Buat PDF Undangan', 'generatePDFsFromSheets')
.addToUi();
}
Cari baris berikut pada kode dan ganti dengan ID yang sudah Anda salin tadi:
const TEMPLATE_DOC_ID = 'MASUKKAN_ID_TEMPLATE_DOC_ANDA_DISINI';
const TARGET_FOLDER_ID = 'MASUKKAN_ID_FOLDER_TUJUAN_ANDA_DISINI';
Klik ikon Simpan (gambar disket) atau tekan Ctrl + S.
Langkah 5: Menjalankan Program
Tutup halaman Apps Script lalu refresh/reload halaman Google Sheets Anda.
Di bagian menu atas Google Sheets, akan muncul menu baru bernama Cetak Otomatis.
Klik Cetak Otomatis > Buat PDF Undangan.
Saat pertama kali dijalankan, Google akan meminta Izin Akses (Authorization). Klik Lanjutkan, pilih akun Google Anda, klik Advanced, lalu klik Go to ... (unsafe) untuk memberikan izin aman agar script bisa memproses file Anda.
Jalankan kembali menunya setelah izin diberikan.
Script akan otomatis membuat file PDF terpisah untuk setiap tamu di folder Google Drive yang telah Anda siapkan dan memberikan notifikasi jika proses telah selesai.
Thanks for reading: Buat Pdf undangan, sertifikat atau piagam dengan sekali klik tanpa menggunakan form, Sorry, my English is bad:)

