- อธิบายโครงสร้างของ HWPX ซึ่งเป็นฟอร์แมตเอกสารแบบเปิด และวิธีการจัดเก็บและจัดการข้อมูล
- อธิบายความแตกต่างระหว่าง HWPX กับฟอร์แมต HWP เดิม พร้อมวิเคราะห์องค์ประกอบหลักของฟอร์แมต HWPX และบทบาทของแต่ละไฟล์
บทนำ
- ความแตกต่างที่สำคัญที่สุดคือ HWP เป็นฟอร์แมตไบนารี ขณะที่ HWPX ประกอบด้วยไฟล์ XML ในโครงสร้าง ZIP
- ในกรณีของฟอร์แมต HWP สตรีมถูกจัดเป็นรูปแบบเรกคอร์ด จึงต้องผ่านกระบวนการวิเคราะห์เพิ่มเติมเพื่อดึงข้อมูลออกมา
- ในทางกลับกัน ฟอร์แมต HWPX ดึงข้อมูลได้ง่าย เนื่องจากไฟล์หลักเป็น XML
HWPX คืออะไร
- ฟอร์แมตเอกสารแบบเปิดที่พัฒนาโดย Hancom และเป็นฟอร์แมตเอกสารแบบเปิดที่อิง XML ตาม OWPML ซึ่งเป็นมาตรฐานแห่งชาติ (KS X 6101)
- OWPML หมายถึง ‘Open Word-Processor Markup Language’ ซึ่งเป็นภาษามาร์กอัปสำหรับโปรแกรมประมวลผลคำแบบเปิดที่อิง XML
- เป็นมาตรฐานอุตสาหกรรมเกาหลี (KS) ที่ประกาศใช้เมื่อวันที่ 30 ธันวาคม 2011 โดยมีการพัฒนามาตรฐานผ่านคณะกรรมการมาตรฐานเอกสารภายในประเทศเป็นเวลาราว 2 ปี
- เป็นมาตรฐานแห่งชาติที่พัฒนาร่วมกับผู้เชี่ยวชาญที่เข้าร่วมพัฒนามาตรฐานภายในประเทศโดยตรง
- รูปแบบไฟล์นี้ถูกพัฒนาขึ้นเพื่อให้ฟอร์แมตไบนารีของ HWP มีความเปิดกว้าง ความเข้ากันได้ และความสามารถในการเก็บรักษาระยะยาว
- เพื่อจุดประสงค์นี้ จึงถูกจัดเป็นฟอร์แมตแพ็กเกจที่อิง XML
โครงสร้างไฟล์ HWPX
- HWPX เป็นฟอร์แมตที่อิง XML และมีโครงสร้างไฟล์แบบ ZIP
- เมื่อแตกไฟล์แล้ว จะประกอบด้วยไฟล์ XML และโฟลเดอร์หลายรายการ
- องค์ประกอบหลัก:
mimetype: เก็บข้อมูลชนิดไฟล์ และเป็นข้อมูลซิกเนเจอร์สำหรับยืนยันว่าเป็นฟอร์แมต HWPX
settings.xml: มีข้อมูลองค์ประกอบการตั้งค่าภายนอก เช่น ตำแหน่งเคอร์เซอร์
version.xml: เก็บข้อมูลเวอร์ชันของฟอร์แมตไฟล์ OWPML และข้อมูลสภาพแวดล้อมตอนบันทึกเอกสาร
BinData/: จัดเก็บไฟล์ไบนารี เช่น รูปภาพและอ็อบเจ็กต์ OLE ที่รวมอยู่ในเอกสาร
Contents/: มีข้อมูลรูปแบบเอกสารและเนื้อหาหลักของเอกสาร โดยประกอบด้วยไฟล์อย่าง content.hpf, header.xml, section0.xml เป็นต้น
content.hpf : รายการไฟล์หลักของแพ็กเกจ กำหนดตามมาตรฐาน PF(Open Packaging Format) และแบ่งเป็น 3 ส่วนคือ metadata, manifest และ spine
header.xml : มีการตั้งค่าทั้งหมดที่เกี่ยวข้องกับเนื้อหาเอกสาร รวมถึงข้อมูลการแมป เช่น รูปแบบตัวอักษรและรูปแบบย่อหน้า
section0.xml : จัดเก็บเนื้อหาหลักแยกตามแต่ละส่วนของเอกสาร โดยแต่ละส่วนจะถูกบันทึกเป็นไฟล์แยกกัน
META-INF/: มีไฟล์ manifest.xml, container.rdf, container.xml และในกรณีเป็นเอกสารเข้ารหัส จะเก็บข้อมูลการเข้ารหัสของแต่ละไฟล์
Scripts/: ข้อมูลสคริปต์ที่บันทึกในเอกสารถูกเก็บไว้ในไฟล์ headerScripts และ sourceScripts
Preview/: มีไฟล์ภาพตัวอย่างและไฟล์ข้อความ เป็นข้อมูลที่แสดงเมื่อเปิดหน้าต่างแสดงตัวอย่างในตัวสำรวจไฟล์ และในกรณีเป็นเอกสารเข้ารหัส จะไม่บันทึกไฟล์เหล่านี้เพื่อความปลอดภัย
ทิ้งท้าย
- ก่อนนำ HWPX ไปใช้งาน ได้อธิบายโครงสร้างโดยรวมและบทบาทของแต่ละไฟล์ที่ประกอบกันเป็นภายใน
- ในซีรีส์ถัดไปจะมีการแบ่งปันตัวอย่างการดึงข้อมูลที่ต้องการจากเอกสาร HWPX จริง
- หวังว่าจะเป็นประโยชน์ต่อการใช้งานองค์ประกอบและข้อมูลของ HWPX
4 ความคิดเห็น
ขอบคุณสำหรับบทความดี ๆ ครับ อยากให้ไฟล์ที่สร้างจาก AWS (เช่น รายงาน) เป็น HWP แต่มีข้อมูลอ้างอิงที่เกี่ยวข้องค่อนข้างน้อยจึงทำได้ยาก ตอนนี้กำลังใช้ Word อยู่ครับ หากมีเอกสารที่พอจะใช้อ้างอิงได้ รบกวนขอลิงก์ด้วยครับ
ก่อนหน้านี้เคยได้ยินมาว่า hwpx คือการคลายไบนารีของ hwp ออกมาเป็น xml แบบตรง ๆ แล้วค่อยบีบรวมเป็น zip
แต่อย่างน้อยก็ยังพออ่านได้...
ว่ากันว่ามันก็แค่ทำตาม
docxตรง ๆจริง ๆ แล้วตอนที่ MS เปลี่ยนจาก
docเป็นdocxก็ทำแบบนั้นเหมือนกันรูปแบบไฟล์เอกสาร Hangul: สำรวจโครงสร้างฟอร์แมต HWP