04 January 2013

แปลง PDF ให้เป็น PDF แบบรูปภาพ

ปัจจุบันมีโรงเรียนกวดวิชาระดับมหาวิทยาลัย เกิดขึ้นเยอะแยะ แถมอาจารย์หลายคนก็มีปัญหาถูกเอาเอกสารการสอนไปใช้โดยไม่ได้รับอนุญาต ทำให้หลังๆ เลยไม่ค่อยอยากแจกเอกสารให้นักศึกษาในแบบ PDF เพราะรูปบางรูปใช้เวลาวาดอยู่นานมาก บางรูปก็ต้องเขียนโปรแกรมเพื่อสร้างข้อมูลก่อนถึงจะวาดได้ ไม่ใช่เรื่องง่าย เลยไม่อยากให้ใครเอาไปใช้ทำธุรกิจโดยเราไม่ได้อนุญาต หรือเอาไปใช้ไม่ตรงที่เราตั้งใจไว้
แต่ครั้นจะไม่แจก PDF ให้นักศึกษา ก็ทำให้ไม่ค่อยสะดวกนัก นักศึกษาหลายคนอยากใช้ tablet เพื่อจดบันทึก ตัวผมเองก็ใช้ Vaio Duo 11 กับโปรแกรม xournal และ Note Anytime เวลาสอนหนังสือ แล้วใช้ปากกาเขียนลงไปใน PDF เลย
ทางออกที่ทำตอนนี้ คือ แปลง PDF ให้เป็นรูปภาพ ความละเอียดไม่สูงนัก ให้นักศึกษาพออ่านได้ และใช้ร่วมกับ tablet ได้ แต่ถ้าใครจะเอาไปใช้อยากอื่นก็คงไม่สะดวกนัก หรือภาพที่ตัดไปก็จะไม่คมชัด เท่าเดิม เมื่อได้ทางออกนี้ก็เลยหาวิธีแปลง PDF ที่ได้จาก LaTeX ไปเป็น PDF แบบรูปภาพ โดยที่ไม่ต้องลงแรงมากสุดท้ายเลยมาลงที่ imagemagick เพราะเป็น command line ใช้ง่ายดี เลยเขียน shell script ไว้แปลงไฟล์แบบง่าย
#!/bin/bash

convert -density 200x200 $1.pdf $1-%03d.png
convert $1-*png $1i.pdf
rm $1-*png

หลักการทำงาน คือ สร้างไฟล์ PNG จากแต่ละหน้าของ PDF แล้วเอา PNG มารวมกันแปลงเป็น PDF อีกรอบ เปลี่ยนชื่อไฟล์เล็กน้อยเท่านั้นแหละ

No comments: