Buat Pdf undangan, sertifikat atau piagam dengan sekali klik tanpa menggunakan form

 

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

Getting Info...

Posting Komentar

Komentar
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.