ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)

2007-10-13

edit PDF metadata using pdftk

แก้เมตาดาตา (อภิข้อมูล/ข้อมูลที่อธิบายข้อมูล) ด้วย pdftk
ง่ายมาก ๆ (แม้ทุกอย่างจะเป็นคอมมานด์ไลน์ก็เถอะ)

ก่อนอื่นไปดาวน์โหลด pdftk ก่อน
(เป็นซอฟต์แวร์เสรีด้วยนะ ฟรี — ถ้าใครใช้ Ubuntu ก็ sudo apt-get install pdftk ได้เลย, สำหรับ Windows ก็ดาวน์โหลดไฟล์ .exe มาใช้ได้เลย ไม่ต้องติดตั้ง)

แล้วทำตามนี่เลย Setting PDF Metadata

ขั้นตอนโดยคร่าวก็คือ สกัดเมตาดาตาออกมาเก็บไว้ในไฟล์ข้อความก่อน
จากนั้นก็ไปแก้ไฟล์ข้อความนั้นจนพอใจ (ตามฟอร์แมตที่กำหนด เป็นคู่ของ InfoKey และ InfoValue)
แล้วสุดท้ายก็เขียนเมตาดาตาใหม่ จากไฟล์ข้อความที่ปรับปรุงแล้ว

ตัวอย่างไฟล์ PDF ที่ผ่านการแก้ไขเมตาดาตาโดย pdftk


โปรแกรม pdftk เป็น command-line front-end ของไลบรารี iText ซึ่งเป็นไลบรารีสำหรับสร้างและแก้ไขไฟล์ PDF เขียนด้วย Java ... เพื่อความสะดวก pdftk ใช้วิธีคอมไพล์ iText ด้วย gcj ให้เป็น native code แล้วเอามาลิงก์กับโปรแกรม pdftk ซึ่งเขียนด้วย C++

นอกจากจะใช้แก้เมตาดาตาอย่างตัวอย่างข้างบนแล้ว ยังสร้างใช้ pdftk ในการแยกหน้า รวมหน้า หมุนหน้า ฯลฯ ได้ด้วย ลองดูตัวอย่างการใช้

สำหรับคนที่จะเขียนโปรแกรมอ่านเขียน PDF:
iText นี่ใช้สำหรับสร้างและแก้ไข ส่วนถ้าจะอ่าน/parse ให้ใช้ PDFBox
... PDF Processing (is) Fun

technorati tags: ,

1 comment:

narako said...

เราใช้ pdftk แล้วพอใส่ข้อมูลเป็นภาษาไทย (utf-8) และมันกลายเป็นตัวต่างดาวอ่านไม่ออกอ่ะค่ะ คุณ bact' เจอแบบนี้เหมือนกันรึเปล่าคะ