สร้างไฟล์ PDF จาก Google sheet ที่ใส่รูปได้ ด้วย Library PdfService

สมมติเรามีแบบสอบถามที่เก็บรูปภาพของผู้กรอกด้วย และเราต้องการให้มัน Gen ข้อมูลที่กรอกเป็น pdf เก็บไว้ แนว ๆ ทำเป็นใบสมัครออกมา มาดูขั้นตอนวิธีทำกันเลย บอกเลยว่าไม่ยาก!!! เริ่มกันเลย

1. ไปที่ Google Drive ของเรา สร้าง Folder จัดเก็บงาน ในที่นี่ชื่อ PDF Test

2.สร้าง Form ขึ้นมา 1 form เก็บข้อมูล ดังรูป ชื่อ สกุล อีเมล เบอร์โทร รูป (ทำเป็นอัปโหลดไฟล์)

3.คลิกแสดงตัวอย่างที่ลูกตา แล้วลองใส่ข้อมูลทดสอบ

4.ดูตัวอย่างข้อมูลที่แท็บการตอบกลับ

5.คลิกปุ่ม สร้างสเปรตชีต จะเห็นข้อมูลตัวอย่างที่เราได้กรอกแบบฟอร์มเข้าไป

จากนั้นนำข้อมูลนี้ไปทำ pdf ได้อย่างไร

1.ให้ไปที่เมนูเครื่องมือ > โปรแกรมแก้ไขสคริปต์ > ทรัพยากร > ไลบรารี ที่ Add a library ให้ใส่ 1iePjnglUzelAuJJb-QykRcUUWYBSKiNGUWVljnNe03G9zWzSUGIRWLXa แล้วกดปุ่มเพิ่ม

2.เราจะเห็น PdfService ให้ระบุเป็น Version ล่าสุด จากนั้นกดปุ่ม บันทึก

ในที่นี้จะขอใช้ google slide เป็น Templete ในการออก PDF

1.กลับไปที่ Google drive ที่ folder ที่เราได้สร้างไว้คือ PDF Test ให้คลิกขวา > Google สไลด์

2. ตั้งค่าหน้า slide เป็นแนวตั้ง A4 ไปที่ ไฟล์ > ตั้งค่าหน้ากระดาษ > กำหนดเอง 21 * 29.7 cm

3.เราต้องการออก PDF ที่เก็บรูปภาพด้วย เพราะมีการตอบรูปภาพเข้ามา ไปที่แทรก > รูปภาพ > อัปโหลดจากคอมพิวเตอร์ จะได้เป็นรูปที่เป็นแม่แบบ เราก็จัดวางตามที่เราต้องการว่าจะให้วางไว้ตรงส่วนไหน ขนาดกว้าง ยาวเท่าไหร่แล้วแต่เรากำหนด

4.จากนั้นคลิกที่กล่องข้อความ สร้างตามรูป โดยในปีกกา {} ต้องเป็นชื่อเดียวกับฟิลด์ใน google sheet

5.จากนั้นคลิกที่รูป ขวา > ข้อความแสดงแทน > ที่ชื่อเรื่องใส่ชื่อฟิลด์ที่ตรงกับช่องที่มีรูปภาพตามใน google sheet จากตัวอย่างในที่นี้จะเป็นคำว่า “รูปภาพ” จากนั้นคลิกปุ่มตกลง

7. ไปที่ Google drive สร้าง folder ใหม่อีกอัน ซึ่งจะให้ไฟล์ PDF ถูกจัดเก็บเข้ามาในนี้ และ folder ที่อัปโหลดรูปในแบบสอบถาม PDF Test (File responses) จะต้องแชร์ folder นี้ด้วย (คลิกขวา แชร์ ทุกคนที่มีลิงค์) ไม่อย่างนั้น script จะ error

ไปที่ Google drive สร้าง folder ใหม่อีกอัน ซึ่งจะให้ไฟล์ PDF จะถูกเก็บเข้ามาในนี้ และ folder ที่อัปโหลดรูปในแบบสอบถามจะให้มาอยู่ใน folder PDF Test ที่เราได้สร้างไว้ตั้งแต่ตอนแรกสุด จะต้องแชร์ด้วย folder นี้ (คลิกขวา แชร์ ทุกคนที่มีลิงค์) ไม่อย่างไร script จะ error

จากนั้นเรามาเขียน code กันเล็กน้อย

จากรูป

1.เป็น ID ของ google form ให้คัดลอกมาหลัง /d จนก่อนถึง /edit

2.เป็น ID ของ google slide ให้คัดลอกมาหลัง /d จนก่อนถึง /edit

3.เป็นชื่อ folder ที่จะเก็บไฟล์ PDF ที่ google สร้างอัตโนมัติให้เมื่อรัน code

4.ชื่อของแผ่นงานใน google form

5.ชื่อฟิลด์ที่เก็บรูปภาพตามใน google sheet ของเราใช้คำว่า “รูปภาพ”

6.ต้องการให้ไฟล์ PDF แต่ละไฟล์มีชื่อว่าอะไร ในที่นี่ให้แสดงฟิลด์ชื่อและสกุล (ใส่ให้ตรงกับฟิลด์ที่เรากำหนดไว้) เสร็จแล้วอย่าลืมกดปุ่ม บันทึก

            จากนั้นมารันดูกันว่ามันจะสร้าง PDF ให้เรายังไง กดปุ่ม Play > ตรวจสอบสิทธิ์ > คลิกที่อีเมลของเรา > ขั้นสูง > ไปที่ PDF Test(ไม่ปลอดภัย) > อนุญาต จะแสดงข้อความว่า “Running function runPDF”

            รันผ่านเรียบร้อยดูจากบันทึกการดำเนินการด้านล่าง จากนั้นเราไปดู folder PDF-test กันเลย ชื่อไฟล์จะตามที่เราให้ดึงฟิลด์ชื่อสกุล

            เมื่อคลิกดูก็จะได้ไฟล์ PDF ที่มีข้อมูลตาม Google slide ที่เราได้ทำไว้ ดังรูป

ลองกรอกข้อมูลเพิ่มอีกสักคน แล้วรัน script อีกครั้ง จากนั้นไปดูผลลัพธ์กัน

เราสามารถสร้าง Trigger ให้มันทำงานอัตโนมัติ หรือสร้างเป็นปุ่มที่เรียก function นี้ได้ค่ะ