Cropping E-book
วันก่อนไปค้นเจอ e-book เล่มนึงที่อยากอ่านมานานแล้ว แต่เวอร์ชันที่ไปเจอมานี้ มันเป็นต้นฉบับเอามาสแกน แล้วเซฟเป็นไฟล์ภาพ ทีละหน้าๆ แล้วถึงเอามารวมเป็น pdf ไฟล์นึง ทำให้หนังสือยาว 500 กว่าหน้านี้ มีขนาดไฟล์ใหญ่ถึง 246 MB และที่สำคัญอีกอย่างหนึงคือ ไฟล์ pdf แต่ละหน้ามีขนาดใหญ่ แต่ว่าเนื้อหาที่เป็นรูปมีขนาดนิดเดียว ประมาณในรูปนี้
เนื้อหามีกระจิ๊ดเดียว
อยากจะ crop เอาเฉพาะเนื้อหาที่อยู่ข้างใน มันก็เลยต้องมีขึ้นตอนกันเล็กน้อย อันดับแรกคือ ใช้ Automator เซฟทุกๆ หน้าของ pdf ไฟล์นี้ออกมาเป็นรูป png ความละเอียด 200 dpi
กระบวนการ crop เอาแต่เนื้อหาที่ต้องการ ใช้คำสั่งจาก Imagemagick
for $f in *.png
do
convert $f -fuzz 20% -trim +repage $f
done
พอดีช่วงนี้กำลังเห่อ ipod ก็เลยอยากเอาหนังสือเล่มนี้ยัดลงไปใน ipod เพื่ออ่านตอนอยู่นอกบ้านได้ด้วย ซึ่งก็มีวิธีอยู่สองแบบคือใช้ OCR แปลงจากรูปภาพไปเป็นข้อความ แล้วเซฟเป็น Note เอาไว้อ่าน และวิธีที่สองคือตัดหนังสือเป็นไฟล์รูปภาพ แล้วใส่เข้าไปใน photo gallery แทน
วิธีแรกเป็นอันต้องตกไปด้วยเหตุผลที่ว่า หาโปรแกรม OCR ภาษาไทยบน Mac ไม่ได้ และต่อให้แปลงออกมาเป็น text ได้ แต่ใน ipod nano รุ่นนี้มันก็อ่านภาษาไทยไม่ได้อยู่ดี สรุปคือ ต้องใช้วิธีที่สอง
ข้อจำกัดการแสดงผลรุปภาพบน ipod คือ มันสามารถแสดงได้เฉพาะแบบพอดีกับหน้าจอเท่านั้น ซูมเข้า ซูมออกไม่ได้ แต่เนื่องจากหนังสือเล่มนี้ตัวหนังสือมีขนาดใหญ่พอ ก็เลยจะใช้วิธีการตามรูป
แบ่งหน้า
ก็คือการแบ่งหนังสือหน้าหนึ่งออกเป็นสองส่วน ส่วนละ 320×240 pixel (ขนาดหน้าจอของ ipod) ทำให้หนังสือหนึ่งหน้า ประกอบด้วยไฟล์รูปสองไฟล์ ถ้าตั้งชื่อให้เรียงกันดีๆ ก็จะอ่านได้ต่อเนื่องกัน
for $f in *.png
do
# ย่อขนาดให้เหลือพอดีกับที่จะตัด
convert $f -resize 320×440! $f# crop เอาส่วนบนของหน้า
convert $f -crop 320×240+0+0 cropped/`basename $f .png`”1.png”# crop เอาส่วนล่างของหน้า (ให้เหลื่อมกับส่วนบนเล็กน้อย เวลาอ่านจะได้ไม่งง)
convert $f -crop 320×240+0+200 cropped/`basename $f .png`”2.png”
done
หลังจากนั้น sync รูปพวกนี้กับ ipod ผ่านทาง iTunes ก็เป็นอันเรียบร้อย

ใส่ใน iPod แล้วอ่านออกด้วยหรอเนี่ย
อะไรอีสานหว่า
panuta - คือว่าบรรทัดนึงมันสั้นน่ะครับ หนังสือจริงน่าจะเล่มประมาณ pocket book แล้วก็ตัวหนังสือมันตัวใหญ่น่ะครับ พอเอามาย่อเหลือ 320 pixel มันเลยยังอ่านออก ถ้าหนังสือเล่มใหญ่กว่านี้ ย่อแล้วคงอ่านไม่รู้เรื่อง
นั่นซิ หนังสือไรหว่า
หนังสือคุ้นๆ นะ อิอิ