๊ฐ๋ณ๊ฒ ์ดํด๋ณด๋ ์๋ก์ด ํ/๊ธ ํ์ผ ํฌ๋งท HWPX
๊ฐ๋ณ๊ฒ ์ดํด๋ณด๋ ์๋ก์ด ํ/๊ธ ํ์ผ ํฌ๋งท HWPX ๊ด๋ จ
๐ ์ด ๊ธ์ ์ด๋ฐ ๋ถ๋ค์ด ๊ฐ๋ฒผ์ด ๋ง์โค์ผ๋ก ์ดํด๋ณด์ธ์.
- ํ/๊ธ ํ์ผ๋ก๋ถํฐ ํ ์คํธ๋, ์ด๋ฏธ์ง ๋ฑ์ ์ถ์ถํ๋ ์ ๋ฌด๋ฅผ ๋งก์, ๋๋ต์ ์ธ ๊ฐ๋ ํ์ ์ด ํ์ํ ๋ถ
- .HTML ์ด๋, ์์ฒด์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์๋ DB์์ ์ ๋ณด๋ฅผ ํ/๊ธ ํ์ผ๋ก ๊ฐ๊ณตํด์ผ ํ๋ ์ ๋ฌด๋ฅผ ๋งก์, ๋๋ต์ ์ธ ๊ฐ๋ ํ์ ์ด ํ์ํ ๋ถ
- ๋ง์ง๋ง์ผ๋ก, ํ์ฌ ์ด๋ฐ ํํ์ ์ ๋ฌด๋ฅผ ํ๊ณ ์๊ฑฐ๋ ํ์ง ์์ง๋ง ๊ฐ๋ณ๊ฒ ์์๋ ๋๊ณ ์ถ์ผ์ ๋ถ
ํ๋กค๋ก๊ทธ
์ ๋ NHN์๋์์ ์๋น์คํ๋ NSAT(์์ ) ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋๋ฐ์. NSAT์ ์์์๊ฐ ํ๊ฐ ๋ฌธ์ ๋ฅผ ํ๊ณ ์ ์ถํ ๋ต์์ ๋ฐํ์ผ๋ก, ์ฑ์ ๊ณผ ๋๋ถ์ด ์ ์ฒด์ ์ธ ํต๊ณ์ ์ง๋จใ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ์ง๋จ ๋๊ตฌ์ ๋๋ค.
์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์๋ ์ ๋ง์ ๋ฌธ์ ๋ค์ด ํ์ํ๊ณ , ๋ฌธ์ ๋ค์ ์ฐจ๊ณก ์ฐจ๊ณก ์๊ณ , ๋ถ๋ฅํด์ ๊ด๋ฆฌํด์ผ ํ๋๋ฐ์. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ณ์์๋ ๋ฌธ์ ์ํ(Itembank ํน์ Itempool)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ผ์ข ์ ๋ฌธ์ ๋ง ๋ค์ด ์๋ CMS(Contents Management System)์ธ ์ ์ด์ฃ .
ํ์ง๋ง, ํ๊ฐ ๋ฌธ์ ๋ฅผ ์ ํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ด๋ฆฌํ๋ ๊ธธ์ ํ๋ํ๋ฐ์.
์ด์ ๊ฐ ํ์ค ์ธ๊ณ์์๋ ๋ค์ํ ํํ๋ก ์ํ(ํ๊ฐ) ๋ฌธ์ ๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํฌ๊ฒ 2๊ฐ์ง ์ ํ์ผ๋ก ํ๋์นดํผ ํน์ ์ํํธ์นดํผ ์ํ๋ก ๋ถ๋ฅํด ๋ณผ ์ ์๊ณ , ์ด๋ฐ ์์ฒ ์๋ฃ๋ฅผ ๋์งํธํ(digitization)ํ๊ฑฐ๋, ์ ๊ทํ(normalization)ํ์ฌ ๋ฌธ์ ์ํ์ ํ์ฌํ๊ฒ ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ๋ก๋ ํ๋ ์นดํผ๋ณธ์ผ๋ก ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ์ค์บ ์ฅ์น๋ฅผ ํตํด ์ด๋ฏธ์งํํ๊ณ , ์ดํ OCR ๊ธฐ์ ๋ฑ์ ํตํด ์ด๋ฏธ์ง๋ก๋ถํฐ ๊ธ์์ ๊ทธ๋ฆผ ๋ฑ์ ์ธ์ํ๋ ๋ฐฉ์์ ํตํด ๋์งํธํ๋ฉ๋๋ค.
๋ ๋ฒ์งธ๋ ์ํํธ ์นดํผ๋ณธ์ ๊ฒฝ์ฐ, ํด๋น ํ์ผ๋ก๋ถํฐ ํ ์คํธ์ ์ด๋ฏธ์ง ๋ฑ์ ์์ญ๋ณ๋ก ์ถ์ถํ์ฌ ์ ๊ทํํ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. ์ํํธ ์นดํผ๋ณธ์ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ผ๋ก ์๋ ค์ง ์๋ํ๋ก์ธ์์ธ ํ/๊ธ ๋๋ MS์๋ ๋ฑ์ ํ์ผ๋ก ์ ์ฅ๋์ด ์๊ณ , ์ธ์ ๋ฑ์ ํตํด ๋ฐํ๋๋ ์ถํ ๊ฐํ๋ฌผ์ ๊ฒฝ์ฐ์๋ ์ธ๋์์ธ ๋๋ ์ฟฝ ํ์ผ, ํน์ ์ธ์์ฉ PDF ํ์ผ๋ก ์กด์ฌํฉ๋๋ค.
์ค๋ ์๊ฐ๋๋ฆฌ๋ ๋ด์ฉ์ ํ/๊ธ ํ์ผ๋ก ์์ ๋ ์ํ์ง ํ์ผ๋ค์ ๋ฌธ์ ์ํ์ ํ์ฌํ๊ธฐ ์ํด ์ผ๋ จ์ ๊ฐ๊ณต ์์ ์ ํ๋ฉด์, ํ์ ํ๋ ํ/๊ธ ํ์ผ์ ๊ตฌ์กฐ์ ๋ํด ๊ฐ๋ณ๊ฒ ๊ณต์ ๋๋ ค๊ณ ํฉ๋๋ค.
์ ๋๋ก ๋ฌด๊ฒ์ง ์๊ณ , ๊ฐ๋ณ๊ฒ ๋ค๋ฃจ๋ฏ๋ก, ๊น์ ์๊ฐ ์์ด ์ฝ์ด์ฃผ์๋ฉด ์ข๊ฒ ์ต๋๋ค.
โ . ํ/๊ธ ํ์ผ์ ์ญ์ฌ
ํ๊ธ๊ณผ์ปดํจํฐ์์ ๊ฐ๋ฐํ ํ/๊ธ(์๋ํ๊ธ)์ 1989๋ 1.0 ๋ฒ์ ์ถ์ ์ดํ, ํ์ฌ๊น์ง ๊พธ์คํ ์ ๋ฐ์ดํธ ๋์ด ํ์ปด์คํผ์ค 2022๊น์ง ๋ฐ์ ํด ์๋๋ฐ์. ํ/๊ธ๋ก ๋ฌธ์๋ฅผ ์์ฑํ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ ํํ์ ํฌ๋งท์ธ HWP ํ์ผ๋ก ์ ์ฅ์ด ๋์ฃ . ํ์ง๋ง, ์ ์ฅ๋ ๋ฌธ์์ ๋ด์ฉ์ ์ 3์ ์์คํ ์์ ํ์ฉํ๊ธฐ๋ ์ฌ๊ฐ ๊น๋ค๋ก์ด๊ฒ ์๋์์ต๋๋ค.
2010๋ ๊ฒฝ์ ๋ฐ์ด๋๋ฆฌ ํฌ๋งท์ธ HWP์ ํ์์ ๊ณต๊ฐํ์ง๋ง, ์ 3์๊ฐ ํ์ฉํ๋ ๊ฒ์ ์ฌ์ ํ ๋ น๋กํ์ง ์์๋๊ฒ ์ฌ์ค์ ๋๋ค. ๋ฌผ๋ก , ๋งํฌ์ ์ธ์ด์ธ HWPML๋ก ํจ๊ป ๊ณต๊ฐํ์ผ๋ ๊ธฐ๋ณธ ํ์ฅ์๊ฐ ์๋์ด์, ์ฌ์ฉ์ฑ์ด ๋จ์ด์ก์ฃ . ์ดํ 2011๋ ๋ง์ ๊ตญ๊ฐ ํ์คํ ์์ ์ผ๋ก HWPML์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ, OWPML(๊ฐ๋ฐฉํ ์๋ํ๋ก์ธ์ ๋งํฌ์ ์ธ์ด)์ด๋ผ๋ ๊ท๊ฒฉ์ด ๋ง๋ค์ด์ง๋๋ค. ๊ทธ๋ผ์๋ ํ/๊ธ์ ๊ธฐ๋ณธ ์ ์ฅ ํฌ๋งท์ ์๋์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ฑ๋ฉด์์๋ ํฐ ๋ณํ๊ฐ ์์์ต๋๋ค.
ํ์ง๋ง! 2021๋ 4์ 15์ผ์ ํ๊ธ๊ณผ์ปดํจํฐ์์ ๊ฐ๋ฐฉํ ๋ฌธ์ ํฌ๋งท์ธ HWPX๋ฅผ ๊ธฐ๋ณธ ์ ์ฅ ํ์ผ๋ก ๋ณ๊ฒฝํ๋ค๊ณ ๋ฐํํ๊ณ , ์ค์ ๋ก ํ/๊ธ์ด ์ ๋ฐ์ดํธ๋๋ฉด์ ๊ธฐ๋ณธ ํ์ฅ์๊ฐ HWPX๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋ณธ ๊ธ์์ ์๊ฐํ๋ ํ/๊ธ ํ์ผ์ ๊ตฌ์กฐ๋ OWPML(๊ฐ๋ฐฉํ ์๋ํ๋ก์ธ์ ๋งํฌ์ ์ธ์ด)๋ก ๋ถ๋ฆฌ๋ ๊ท๊ฒฉ์ธ HWPX๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ณ ์์ต๋๋ค.
โ ก. HWPX ํ์ผ์ ๊ตฌ์กฐ ํ์ธํ๊ธฐ
HWPX ํ์ผ์ ๋ฌธ์ ๋ณธ๋ฌธ ๋ด์ฉ์ XML๋ก ๊ธฐ์ ํ๊ณ ์๋๋ฐ์. ๋ฌธ์ ๋ณธ๋ฌธ์์ ์ฐธ์กฐํ๊ณ ์๋ ๋ค๋ฅธ ํ์ผ(์: ์ด๋ฏธ์ง ๋ฑ)๊ณผ ๋ฌธ์ ๋ณธ๋ฌธ์ ๊ธฐ์ ํ XML ํ์ผ ๋ฑ์ ํ๋์ ZIP ํ์ผ๋ก ๋ฌถ๊ณ ํ์ฅ์๋ฅผ .hwpx
๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๊ทธ๋์ ํ์ผ์ ํ์ฅ์๋ฅผ .zip
์ผ๋ก ๋ณ๊ฒฝํ ๋ค, ์์ถ ํ๋ก๊ทธ๋จ์ผ๋ก ์์ถ ํด์ ํ๋ฉด ๊ฐ๋จํ HWPX ํ์ผ์ ๋ด๋ถ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ดํด ๋ณผ ์ ์์ต๋๋ค.
์ด๋ฌํ ํํ๋ IDPF์์ ์ ์ ํ OCF(Open Container Format) ์คํ์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ธ๋ฐ์. MS์คํผ์ค ํ์ผ์ด๋, ์ ์ ์ฑ ๊ท๊ฒฉ์ธ EPUB์์๋ ๋ณผ ์ ์์ต๋๋ค. ์ฐธ๊ณ ๋ก, IDPF๋ ๊ตญ์ ๋์งํธ ์ถํ ํฌ๋ผ(International Digital Publishing Forum)์ ์ฝ์๋ก ์ ์ ์ถํ๊ณผ ๊ด๋ จ๋ ํ์ค์ ์ ์ ํ๋ ์ํฅ๋ ฅ ์๋ ํํ์ ๋๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ์ผ์ ํ์ฅ์๋ฅผ ๋ณ๊ฒฝํ๊ณ ์์ถ์ ํด์ ํ๋ฉด, ์๋์ ๊ฐ์ด OCF ์คํ์์ ์ ์๋ ๋๋ ํ ๋ฆฌ(์ดํ, ์๋ ๊ธฐ์ค์ผ๋ก ํด๋๋ก ํ๊ธฐ ํต์ผํฉ๋๋ค.)์ ํ์ผ์ ๊ตฌ์กฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ต์์(root) ๊ฒฝ๋ก์๋ ์๋์ ๊ฐ์ด 3๊ฐ์ ํ์ผ์ด ์กด์ฌํ๊ฒ ๋๋๋ฐ์.
๊ฐ ํ์ผ์ ์ญํ ๊ณผ ๋ด์ฉ์ ์๋์ ๊ฐ์ต๋๋ค.
ํ์ผ๋ช | ์ค๋ช |
---|---|
mimetype ํ์ผ |
|
version.xml ํ์ผ |
|
settings.xml | ํ/๊ธ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ค์ ๊ฐ์ ์ ์ฅ (์์) ๋ง์ง๋ง์ผ๋ก ์ปค์๊ฐ ์์๋ ์์น ๊ฐ ๋ฑ |
๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ ํด๋๊ฐ ์กด์ฌํ๊ณ , ๊ทธ ์ญํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ธ XMLTemplate, DocHistory, Chart ๋ฑ์ ํด๋๊ฐ ์กด์ฌ ํ ์ ์๊ณ , ์ฌ์ฉํ์ง ์๋(๋ฐ์ดํฐ๊ฐ ์๋) ํด๋์ ๊ฒฝ์ฐ, ์๋ต ๊ฐ๋ฅํฉ๋๋ค.
ํด๋๋ช | ์ค๋ช |
---|---|
META-INF |
|
Contents |
|
BinData |
|
Preview |
|
Scripts |
|
โ ข. ๋ฌธ์ ๋ณธ๋ฌธ ๋ด์ฉ์ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋๊ฐ?
ํ/๊ธ ํ์ผ์ ๋ฌธ์ ๋ณธ๋ฌธ ๋ด์ฉ์ ํฌ๊ฒ โ ํค๋(header) ํ์ผ๊ณผ โก ์น์
(section) ํ์ผ 2๊ฐ์ง ๋ถ๋ถ์ผ๋ก ๋๋ ๊ด๋ฆฌํ๊ฒ ๋๊ณ , ์ด 2๊ฐ์ง ์ ๋ณด๊ฐ ์ด๋ค ํ์ผ๋ค์ ๊ธฐ์ฌ๋์ด ์๋์ง ๊ด๋ฆฌํ๋ content.hpf
ํ์ผ์ ์ํด ๋ฌธ์ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝ๋ฉ๋๋ค.
1. content.hpf
ํ์ผ์ ๊ตฌ์กฐ
content.hpf
ํ์ผ์ ํฌ๊ฒ 3๊ฐ์ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ๊ณ ์๊ณ , HWPX ํ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํ์ฑ(parsing)ํ๊ฑฐ๋ ๋ ๋๋ง(rendering)ํ๋ ๋ทฐ์ด๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๋ฉด ๊ฐ์ฅ ๋จผ์ ์ฐธ์กฐํด์ผ ํ๋ ํ์ผ์
๋๋ค.
์ฒซ ๋ฒ์งธ๋ ๋๋ธ๋ฆฐ ์ฝ์ด(Dublin Core) ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๋ฌธ์์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ๊ณ ์์ต๋๋ค. ๊ทธ ๋ด์ฉ์๋ ๋ฌธ์ ์์ฑ/์์ ์ผ์, ์์ฑ์, ์ฃผ์ , ์ค๋ช ๊ธ, ํค์๋ ๋ฑ์ ์ ๋ณด๊ฐ ์์ต๋๋ค.
๋ ๋ฒ์งธ๋ ๋ฌธ์์์ ์ฐธ์กฐํ๊ณ ์๋ ํ์ผ๋ค์ ๋ํ ์ ๋ณด๋ก ํค๋ ํ์ผ, ์น์
ํ์ผ๊ณผ ๋๋ถ์ด ๋ณธ๋ฌธ์์ ์ฌ์ฉ๋ ์ด๋ฏธ์ง ํ์ผ ๋ฑ์ ๊ฒฝ๋ก ๋ฑ์ด ๊ฐ์ด ๊ธฐ์ ํ๊ณ ๊ณ ์ ํ ID
๊ฐ์ ๋ถ์ฌํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์์ ์ด์ผ๊ธฐํ ํค๋ ํ์ผ๊ณผ ์น์
ํ์ผ์ ๋ชฉ๋ก(์ฌ๋ฌ ์น์
์ด ์กด์ฌํ ๊ฒฝ์ฐ, ๊ทธ ์์ ์ ๋ณด)์ ๊ธฐ์ ํ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๊ณ , ์ด๋ ๋ ๋ฒ์งธ ์์ญ์์ ํ์ผ์ ๋ชฉ๋ก์ ์์ฑํ๋ฉฐ ๋ถ์ฌํ ๊ณ ์ ํ ID
๊ฐ์ ์์๋ฅผ ๋์ดํ๊ฒ ๋ฉ๋๋ค. ์ด ์์๊ฐ ์ค์ ๋ฌธ์์ด ์กฐํฉ๋๋ ๊ธฐ์ค์ด ๋ฉ๋๋ค.
content.hpf
ํ์ผ ๋ด์ฉ ์์
<opf:package xmlns:opf="http://www.idpf.org/2007/opf/">
<!-- ๋ฌธ์ ์์ฝ ์ ๋ณด๋ฅผ ๋ด์ ๋ฉํ๋ฐ์ดํฐ -->
<opf:metadata>
<opf:title>NSAT๋ฌธํญ๋ฑ๋ก์นด๋(์ํ์งํ)</opf:title>
<opf:language>ko</opf:language>
<opf:meta name="creator" content="text">NHN Edu</opf:meta>
<opf:meta name="subject" content="text">NSAT๋ฌธํญ๋ฑ๋ก์นด๋</opf:meta>
<opf:meta name="description" content="text">๋ณธ ํ์ผ์ NSAT ์๋น์ค๋ฅผ ์ํ ๋ฌธํญ ๋ฑ๋ก์ ์ํ ํ์ผ์
๋๋ค.</opf:meta>
<opf:meta name="lastsaveby" content="text">NHN</opf:meta>
<opf:meta name="CreatedDate" content="text">2021-06-21T05:33:02Z</opf:meta>
<opf:meta name="ModifiedDate" content="text">2021-10-05T03:22:32Z</opf:meta>
<opf:meta name="date" content="text">2020๋
6์ 13์ผ ํ ์์ผ ์คํ 2:47:50</opf:meta>
<opf:meta name="keyword" content="text">NSAT</opf:meta>
</opf:metadata>
<!-- ๋ฌธ์์ ๊ด๋ จ๋ ๋ด๋ถ ํ์ผ ๊ฒฝ๋ก -->
<opf:manifest>
<opf:item id="header" href="Contents/header.xml" media-type="application/xml" />
<opf:item id="image1" href="BinData/image1.png" media-type="image/png" isEmbeded="1" />
<opf:item id="image2" href="BinData/image2.png" media-type="image/png" isEmbeded="1" />
<opf:item id="section0" href="Contents/section0.xml" media-type="application/xml" />
<opf:item id="settings" href="settings.xml" media-type="application/xml" />
</opf:manifest>
<!-- ๋ฌธ์์ ์์ ์ ๋ณด๋ฅผ ์ ์ -->
<opf:spine>
<opf:itemref idref="header" />
<opf:itemref idref="section0" linear="yes" />
</opf:spine>
</opf:package>
2. ํค๋ ํ์ผ(header.xml
)์ ๊ตฌ์กฐ
ํค๋ ํ์ผ์์๋ ๋ฌธ์ ๋ณธ๋ฌธ์์ ์ฐธ์กฐํ๋ ๋ฌธ์์ ํธ์ง ์คํ์ผ์ ๋ํ ์ ๋ณด๋ฅผ ๋ค๋ฃจ๊ฒ ๋๋๋ฐ์. ์น ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ HTML๊ณผ CSS์ ๊ด๊ณ๋ฅผ ๋ณด์์ ๋, CSS ํ์ผ์ ํด๋น๋๋ค๊ณ ์ดํดํ๋ฉด ๋ฉ๋๋ค.
๊ฐ ์ ๋ณด ๋จ์๋ณ๋ก ์ค์ ๋ ๊ฐ์ ๋ฌถ์์ด ์กด์ฌํ๊ณ , CSS์ ํด๋์ค ์ ํ์(Class Selector)์ ์ ์ฌํ ๊ฐ๋
์ผ๋ก ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ์ด ์ ๋ณด ๋ง๋ค ๊ณ ์ ํ ID
๊ฐ ๋ถ์ฌ๋๊ณ , ์ด ID
๊ฐ์ ํค๋ ํ์ผ ๋ด์์ ์ํธ ์ฐธ์กฐํ๊ณ ์๊ฑฐ๋, ๋ณธ๋ฌธ ๋ด์ฉ์ ๊ธฐ๋กํ๋ ์น์
ํ์ผ ๋ด์์ ์ฐธ์กฐํ์ฌ, ๋ฌธ์ ํธ์ง ์ ๋ณด๋ฅผ ํํํ๊ฒ ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์๋ ์ ๋์ ์ ๋ณด ์์ญ์ด ์กด์ฌํ๊ณ , ์ด์ธ ํ์์ ๋ฐ๋ผ ์ฐธ๊ณ ํด์ ํ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ ๋ณด ์์ญ๊ณผ ๊ด๋ จ๋ ํ/๊ธ ์์ ํ๋ฉด๋ ๊ฐ์ด ์ฝ์
ํด ๋ณด์์ต๋๋ค.
์ ๋ณด ์์ญ๋ช (XML ๋ ธ๋๋ช ) | ๋ ธ๋ ์ค๋ช / ๊ด๋ จ ํ๋ฉด |
---|---|
๊ธ๊ผด(fontfaces ) | |
ํ
๋๋ฆฌ(borderFills ) | |
๊ธ์ ์์ฑ(charProperties ) | |
ํญ ์์ฑ(tabProperties ) | |
๋ฌธ๋จ ๋ฒํธ ๋ชฉ๋ก(numberings ) | |
๋ฌธ๋จ ์์ฑ(paraProperties ) | |
ํ/๊ธ ์คํ์ผ(styles ) | |
๊ธ ๋จธ๋ฆฌํ ๋ฌธ๋จ ๋ชจ์ ๋ชฉ๋ก(bullets ) |
|
๋ฉ๋ชจ ๋ชจ์ ๋ชฉ๋ก(memoProperties ) | ์ค๋ช ์๋ต |
๋ณ๊ฒฝ ์ถ์ ์ ๋ณด ๋ชฉ๋ก(trackChanges ) | ์ค๋ช ์๋ต |
๋ณ๊ฒฝ ์ถ์ ๊ฒํ ์ ๋ชฉ๋ก(trackChangeAuthors ) | ์ค๋ช ์๋ต |
header.xml
ํ์ผ ๋ด์ฉ ์์
<?xml version="1.0" encoding="UTF-8"?>
<hh:head xmlns:hh="http://www.hancom.co.kr/hwpml/2011/head" version="1.31" secCnt="1">
<hh:beginNum page="1" footnote="1" endnote="1" pic="1" tbl="1" equation="1" />
<hh:refList>
<hh:fontfaces itemCnt="1">
<hh:fontface lang="HANGUL" fontCnt="4">
<hh:font id="0" face="ํ์ปด๋ฐํ" type="TTF" isEmbedded="0">
<hh:typeInfo familyType="FCAT_GOTHIC" weight="6" proportion="0" contrast="0" strokeVariation="1" armStyle="1" letterform="1" midline="1" xHeight="1" />
</hh:font>
</hh:fontface>
<hh:fontface lang="LATIN" fontCnt="4" />
<hh:fontface lang="HANJA" fontCnt="4" />
<hh:fontface lang="JAPANESE" fontCnt="4" />
<hh:fontface lang="OTHER" fontCnt="4" />
<hh:fontface lang="SYMBOL" fontCnt="4" />
<hh:fontface lang="USER" fontCnt="4" />
</hh:fontfaces>
<hh:borderFills itemCnt="1">
<hh:borderFill id="1" threeD="0" shadow="0" centerLine="NONE" breakCellSeparateLine="0">
<hh:slash type="NONE" Crooked="0" isCounter="0" />
<hh:backSlash type="NONE" Crooked="0" isCounter="0" />
<hh:leftBorder type="NONE" width="0.1 mm" color="#000000" />
<hh:rightBorder type="NONE" width="0.1 mm" color="#000000" />
<hh:topBorder type="NONE" width="0.1 mm" color="#000000" />
<hh:bottomBorder type="NONE" width="0.1 mm" color="#000000" />
<hh:diagonal type="SOLID" width="0.1 mm" color="#000000" />
</hh:borderFill>
</hh:borderFills>
<hh:charProperties itemCnt="1">
<hh:charPr id="0" height="1000" textColor="#000000" shadeColor="none" useFontSpace="0" useKerning="0" symMark="NONE" borderFillIDRef="1">
<hh:fontRef hangul="0" latin="0" hanja="0" japanese="0" other="0" symbol="0" user="0" />
<hh:ratio hangul="100" latin="100" hanja="100" japanese="100" other="100" symbol="100" user="100" />
<hh:spacing hangul="0" latin="0" hanja="0" japanese="0" other="0" symbol="0" user="0" />
<hh:relSz hangul="100" latin="100" hanja="100" japanese="100" other="100" symbol="100" user="100" />
<hh:offset hangul="0" latin="0" hanja="0" japanese="0" other="0" symbol="0" user="0" />
</hh:charPr>
</hh:charProperties>
<hh:tabProperties itemCnt="1">
<hh:tabPr id="2" autoTabLeft="1" autoTabRight="1" />
</hh:tabProperties>
<hh:numberings itemCnt="1">
<hh:numbering id="1" start="0">
<hh:paraHead start="1" level="1" align="LEFT" useInstWidth="1" autoIndent="1" widthAdjust="0" textOffsetType="PERCENT" textOffset="50" numFormat="DIGIT" charPrIDRef="4294967295" checkable="0">^1.</hh:paraHead>
</hh:numbering>
</hh:numberings>
<hh:paraProperties itemCnt="1">
<hh:paraPr id="0" tabPrIDRef="0" condense="0" fontLineHeight="0" snapToGrid="1" suppressLineNumbers="0" checked="0">
<hh:align horizontal="JUSTIFY" vertical="BASELINE" />
<hh:heading type="NONE" idRef="0" level="0" />
<hh:breakSetting breakLatinWord="KEEP_WORD" breakNonLatinWord="KEEP_WORD" widowOrphan="0" keepWithNext="0" keepLines="0" pageBreakBefore="0" lineWrap="BREAK" />
<hh:autoSpacing eAsianEng="0" eAsianNum="0" />
<hp:switch />
<hh:border borderFillIDRef="2" offsetLeft="0" offsetRight="0" offsetTop="0" offsetBottom="0" connect="0" ignoreMargin="0" />
</hh:paraPr>
</hh:paraProperties>
<hh:styles itemCnt="1">
<hh:style id="0" type="PARA" name="๋ฐํ๊ธ" engName="Normal" paraPrIDRef="0" charPrIDRef="10" nextStyleIDRef="0" langID="1042" lockForm="0" />
</hh:styles>
</hh:refList>
<hh:compatibleDocument targetProgram="HWP201X">
<hh:layoutCompatibility />
</hh:compatibleDocument>
<hh:docOption>
<hh:linkinfo path="" pageInherit="1" footnoteInherit="0" />
</hh:docOption>
<hh:trackchageConfig flags="56" />
</hh:head>
3. ์น์
(section0.xml
) ํ์ผ
3.1. ๊ตฌ์ญ ๋๋๊ธฐ
์น์ ํ์ผ์ ํ/๊ธ์ ๊ตฌ์ญ ๋๋๊ธฐ์ ๋์๋๋๋ฐ์.
๊ตฌ์ญ ๋๋๊ธฐ ๊ธฐ๋ฅ์ ๋ณดํต์ ์ ์ฌ์ฉํ์ง ์์ผ๋, ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด A4 ์ฉ์ง๋ฅผ ์ธ๋ก ๋ฐฉํฅ์ผ๋ก ์์ฑํ๋ค๊ฐ
ํน๋ณํ ํ๋ฅผ ๋๊ฒ ๋ด์ผํด์ ํน์ ํ์ด์ง๋ง ๊ฐ๋ก ๋ฐฉํฅ์ผ๋ก ์ ํํ์ฌ ํธ์งํด์ผ ํ๋ ๊ฒฝ์ฐ ํ์ฉ๋๊ฒ ๋ฉ๋๋ค.
๋ฌธ์ ํธ์ง ๊ณผ์ ์์ ์ฌ๋ฌ ๊ตฌ์ญ์ผ๋ก ๋๋์ง ์์๋ค๋ฉด section0.xml
ํ์ผ๋ง ์กด์ฌํ๊ฒ ๋๋๋ฐ์.
๊ตฌ๊ฒฉ ๋๋๊ธฐ๋ฅผ ํ ์ํ๋ผ๋ฉด, section1.xml
๋ฑ๊ณผ ๊ฐ์ด ๋ค๋ฅธ ์น์
ํ์ผ์ด ์กด์ฌํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ ๊ตฌ์ญ์ ์์ ์ ๋ณด๋ content.hpf
ํ์ผ์์ ์ ์ํ๋ ๊ฒ์ ์ฐธ์กฐํด์ผ ํฉ๋๋ค.
3.2. ๋ณธ๋ฌธ ๋ด์ฉ
์น์
ํ์ผ์๋ ์ค์ ๋ฌธ์ ๋ณธ๋ฌธ์ ๋ด์ฉ์ ๊ตฌ์กฐํํ์ฌ ์ ์ฅํ๊ฒ ๋๋๋ฐ์. ๊ตฌ์กฐํ๋ ๋ด์ฉ์ ๊พธ๋ฏธ๋ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์์ ๋ค๋ฃฌ ํค๋ ํ์ผ์ ๊ฐ ์์ฑ ๊ฐ๋ค์ ID
๊ฐ์ ์ฐธ์กฐํ๊ฒ ๋ฉ๋๋ค.
ํ ์คํธ์ ์ด๋ฏธ์ง, ํ๊ฐ ์ฝ์ ๋ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ์กฐ๋ฅผ ํฌํจ ๊ด๊ณ๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค.
๋ฌธ์๋ ๋ชจ๋ ๋ฌธ๋จ์ ๋์ด๊ณผ ์กฐํฉ์ผ๋ก ๊ตฌ์ฑ๋๊ธฐ ๋๋ฌธ์ ์ต์์ ๋
ธ๋์ธ ์น์
๋
ธ๋(<hs:sec>
) ํ์์๋ ๋ฌธ๋จ์ ์๋ฏธํ๋ <hp:p>
๋
ธ๋๊ฐ ์์นํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌธ๋จ(<hp:p>
) ๋
ธ๋ ํ์์๋ <hp:run>
๋
ธ๋๋ฅผ ํตํด ๋ด์ฉ์ ๊ตฌ์ฑํ๋ ํ
์คํธ, ์ด๋ฏธ์ง, ํ ๋ฑ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. <hp:run>
๋
ธ๋๋ ํญ์ <hp:linesegarray>
๋
ธ๋๋ฅผ ํ์ ๋
ธ๋๋ก ์์ ์ด๋ฃจ์ด์ผ ํ๋ ๊ท์น์ ๊ฐ์ง๊ณ ์๋๋ฐ์. ํด๋น ๋ฌธ๋จ ๋ด ์ค ๋ง๋ค ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ์ค์ ํ๋๋ฐ ํ์ฉํ๊ฒ ๋ฉ๋๋ค.
โ ฃ. ์ต์ํ HTML ์ฝ๋์ ๋น๊ตํด ๋ณด๊ธฐ
์ง๊ธ๊น์ง๋ HWPX ํ์ผ์ ๊ตฌ์กฐ์, ๊ตฌ์ฑ์ด ์ด๋ป๊ฒ ๋๋์ง๋ฅผ ์ดํด ๋ณด์๋๋ฐ์.
์ค์ ์ฐ๋ฆฌ๊ฐ ์ต์ํ HTML๊ณผ ์ด๋ป๊ฒ ์์ฑ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ์ง๋ฅผ ์ดํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ฃผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ ๊ฐ๋ ๊ณผ ๋์๋๊ฒ ์ ๋ฆฌํด ๋ณด์์ผ๋ฉฐ, ๋๋ต์ ์ธ ๋๋์ผ๋ก ์ฐธ๊ณ ํด ์ฃผ์ธ์.
โ ์ผ๋ฐ ํ ์คํธ ํ๊ธฐ (๊ธฐ๋ณธ ๋ฌธ๋จ์ ๊ธ ์ฐ๊ธฐ)
HWPX ์ฝ๋
ํ์ผ ๊ตฌ๋ถ | ์์ ์ฝ๋ |
---|---|
ํค๋ ํ์ผ | |
์น์ ํ์ผ |
CSS ์ฝ๋
/* ์ ์ํ ์ฌํญ ์์ */
HTML ์ฝ๋
<p>
์ผ๋ฐ ํ
์คํธ
</p>
โก~โฃ. ๊ธ์ ๊ตต๊ฒ / ์ดํค๋ฆญ / ๋ฐ์ค ์ฒ๋ฆฌํ๊ธฐ
HWPX ์ฝ๋
ํ์ผ ๊ตฌ๋ถ | ์์ ์ฝ๋ |
---|---|
ํค๋ ํ์ผ | |
์น์ ํ์ผ |
CSS ์ฝ๋
.charPr7 { <span class="hljs-attribute">font-weight:bold; }
.charPr8 { <span class="hljs-attribute">font-style:italic; }
.charPr9 { <span class="hljs-attribute">text-decoration:underline; }
HTML ์ฝ๋
<p>
<span class="charPr7">๊ธ์ ๊ตต๊ฒ<span> class="hljs-tag"></span>
</p>
<p>
<span class="charPr8">๊ธ์ ์ดํค๋ฆญ<span> class="hljs-tag"></span>
</p>
<p>
<span class="charPr9">๊ธ์ ๋ฐ์ค<span> class="hljs-tag"></span>
</p>
โค~โฅ. ๊ธ์ ์ ์ฒจ์ / ์๋ ์ฒจ์ ์ฒ๋ฆฌ
HWPX ์ฝ๋
ํ์ผ ๊ตฌ๋ถ | ์์ ์ฝ๋ |
---|---|
ํค๋ ํ์ผ | |
์น์ ํ์ผ |
CSS ์ฝ๋
/* ์ ์ํ ์ฌํญ ์์ */
HTML ์ฝ๋
<p>
<sup>๊ธ์ ์ ์ฒจ์</sup>
</p>
<p>
<sub>๊ธ์ ์๋ ์ฒจ์</sub>
</p>
โฆ~โฉ. ๊ธ์ ์์ ๋ณ๊ฒฝ ๋ฐ ๋ณตํฉ ์คํ์ผ ์ง์
HWPX ์ฝ๋
ํ์ผ ๊ตฌ๋ถ | ์์ ์ฝ๋ |
---|---|
ํค๋ ํ์ผ | |
์น์ ํ์ผ |
CSS ์ฝ๋
.charPr12 { <span class="hljs-attribute">color:<span class="hljs-number">#ff0000; }
.charPr13 { <span class="hljs-attribute">font-weight:bold;<span class="hljs-attribute">text-decoration:underline; }
.charPr14 { <span class="hljs-attribute">font-weight:bold;<span class="hljs-attribute">font-style:italic; }
.charPr15 { <span class="hljs-attribute">font-weight:bold;<span class="hljs-attribute">color:<span class="hljs-number">#ff0000; }
HTML ์ฝ๋
<p>
<span class="charPr12">๊ธ์ ๋นจ๊ฐ<span> class="hljs-tag"></span>
</p>
<p>
<span class="charPr13">๊ธ์ ๊ตต๊ณ , ๋ฐ์ค<span> class="hljs-tag"></span>
</p>
<p>
<span class="charPr14">๊ธ์ ๊ตต๊ณ , ์ดํค๋ฆญ<span> class="hljs-tag"></span>
</p>
<p>
<span class="charPr15">๊ธ์ ๊ตต๊ณ , ๊ธ์ ๋นจ๊ฐ<span> class="hljs-tag"></span>
</p>
โ ค. HWPX ํ์ผ ๊ณตํต์ผ๋ก ์ฐธ๊ณ ํ๋ฉด ์ข์ Tip
1. ํ/๊ธ ํ์ผ์์ ์ฌ์ฉํ๋ ๋จ์ ๊ฐ
- ๋๋ถ๋ถ HWPUNIT์ด๋ผ๊ณ ํ/๊ธ ์์ฒด ๋จ์๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
10pt = 1000 hwpunit
์ด๋ผ๊ณ ์คํ ๋ฌธ์์ ์ ์๋์ด ์์ด์, ํ/๊ธ ํ์ผ์ HTML ๋ฑ์ผ๋ก ๋ณํ ์ ๋จ์ ๋ณํ์ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
2. ํ์ ๋ ธ๋์ ๊ฐฏ์
- ์ปจํ
์ด๋ ์ฑ๊ฒฉ์ ๋
ธ๋(์: ํค๋ ํ์ผ์
hh:charProperties
๋ ธ๋ ๋ฑ)์์๋ ํ์ ๋ ธ๋์ ๊ฐฏ์๋ฅผ~Cnt
ํจํด์ ์์ฑ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค. - ๊ฒฝ์ฐ์ ๋ฐ๋ผ์, ์ด ์์ฑ์ด ๋๋ฝ๋๊ฑฐ๋ ๊ฐ๊ณผ ์ค์ ํ์ ๋ ธ๋์ ๊ฐฏ์๊ฐ ๋ง์ง ์์ผ๋ฉด HWPX ํ์ผ์ ํ/๊ธ์์ ์ด์์ ๋ ํ๋ก๊ทธ๋จ์ด ๋ฐ๋ก ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
- ํนํ ํ๋ฅผ ์ฒ๋ฆฌํ ๋๋ ํ๋ฅผ ๊ตฌ์ฑํ๋ ํ(row)์ ๊ฐฏ์์ ํ ์์์ ์นธ(cell)์ ๊ฐฏ์๋ฅผ ์ ๊ธฐ์ฌํด์ผ ํฉ๋๋ค.
3. HTML์ \ \ \
๋ฑ์ ์คํ์ผ ๊ด๋ จ ํ๊ทธ๋ ํค๋์์ ๊ด๋ฆฌ
- ์์ HTML ์ฝ๋์์ ๋น๊ต์์ ์ดํด๋ณธ ๊ฒ๊ณผ ๊ฐ์ด ์น์ ํ์ผ์ ๋ณธ๋ฌธ ๋ด์ฉ์ ๋ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ง ๋ค๋ฃน๋๋ค.
- ๊ทธ๋์ HTML์์ ํ๊ทธ๋ก ๊ธ์ ์คํ์ผ์ ์กฐ์ ํ๋ ๊ฒ์ HWPX์์๋ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ํค๋ ํ์ผ์์ ์คํ์ผ์ ์ ์ํ๊ณ ์ฐธ์กฐํ๋ ๊ตฌ์กฐ๋ก ์์ฑํด์ผ ํฉ๋๋ค.
โ ฅ. ๊ธฐํ ์ฐธ๊ณ ํด๋ณผ๋งํ ํ/๊ธ ๊ด๋ จ ์คํ ์์ค ํ๋ก์ ํธ๋ค
1. hwp.js
- ํ๊ธ๊ณผ์ปดํจํฐ์์ ๊ณต๊ฐํ HWP ์คํ์ ์ฐธ๊ณ ํ์ฌ HWP ํ์ผ์ ์ฝ๊ณ , HTML๋ก ๋ ๋๋งํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
2. ํ๊ธ ์์ ๋ณํ๊ธฐ
- ํ/๊ธ ๊ณ ์ ์ ์์์ LaTex ์์์ผ๋ก ๋ณํํด ์ฃผ๋ python ๋ผ์ด๋ธ๋ฌ๋ฆฌ