สร้างใบเสร็จ ใบเสนอราคา เกียรติบัตร เป็น PDF อัตโนมัติด้วย Apps Script
อัปเดต 5 ตุลาคม 2026
แทนที่จะพิมพ์ใบเสร็จหรือเกียรติบัตรทีละใบ ให้ทำ เทมเพลตใน Google Docs แล้วให้ Apps Script เติมข้อมูลจาก Google Sheets และแปลงเป็น PDF ให้อัตโนมัติ
ระบบพร้อมใช้ที่เกี่ยวข้อง
เตรียมเทมเพลต
สร้าง Google Docs แล้วพิมพ์ตัวแปรในรูปแบบ {{name}}, {{amount}}, {{date}} ตรงตำแหน่งที่ต้องการ
โค้ดสร้าง PDF
const TEMPLATE_ID = 'ไอดีไฟล์ Google Docs';
const OUTPUT_FOLDER = 'ไอดีโฟลเดอร์เก็บ PDF';
function makePdf(data) {
const copy = DriveApp.getFileById(TEMPLATE_ID).makeCopy('tmp-' + data.no);
const doc = DocumentApp.openById(copy.getId());
const body = doc.getBody();
Object.entries(data).forEach(([k, v]) => body.replaceText('{{' + k + '}}', String(v)));
doc.saveAndClose();
const pdf = copy.getAs('application/pdf').setName(data.no + '.pdf');
const file = DriveApp.getFolderById(OUTPUT_FOLDER).createFile(pdf);
copy.setTrashed(true); // ลบไฟล์ชั่วคราว
return file;
}
สร้างหลายใบจากรายชื่อใน Sheets
วนแถวในชีต เรียก makePdf() ทีละแถว แล้วบันทึกลิงก์ไฟล์กลับลงชีต ถ้ามีหลายร้อยใบให้แบ่งทำเป็นชุดเพื่อไม่ให้เกิน 6 นาที
ส่งอีเมลแนบ PDF
MailApp.sendEmail({ to: data.email, subject: 'ใบเสร็จ ' + data.no,
htmlBody: 'ขอบคุณที่ใช้บริการ', attachments: [file.getBlob()] });
คำถามที่พบบ่อย: PDF อัตโนมัติจาก Google Docs
ได้ เลือกฟอนต์ภาษาไทยของ Google Docs เช่น Sarabun หรือ Kanit ในเทมเพลต PDF จะใช้ฟอนต์ตามนั้น
ได้ ใช้ body.findText หาตำแหน่งตัวแปรแล้วแทรกรูปด้วย insertInlineImage
ได้ หลักการเดียวกัน ใช้ SlidesApp แทนข้อความในสไลด์ เหมาะกับเกียรติบัตรที่ออกแบบสวย ๆ
ระบบอื่นที่น่าสนใจ
แดชบอร์ดผลการเรียนโรงเรียน (GradeView School Dashboard)
แดชบอร์ดผลสัมฤทธิ์ทางการเรียนบน Google Sheets สำหรับโรงเรียน คำนวณเกรด 8 ระดับ ร/มส และ GPA ให้อัตโนมัติ ดูผลรายวิชา รายห้อง รายคน และกลุ่มเฝ้าระวัง พร้อมหน้ากรอกคะแนนและรายงาน PDF ส่งผู้บริหาร
สร้างใบประกาศนียบัตร PDF อัตโนมัติจาก Google Slides/Docs (Jabphap CertMaker)
ออกแบบใบประกาศใน Google Slides หรือ Docs ครั้งเดียว ระบบเติมชื่อจาก Google Sheets สร้าง PDF ทีละคน ส่งอีเมลให้อัตโนมัติ พร้อมเลขที่และลิงก์ตรวจสอบความถูกต้อง