ํ๊ธ๊ณผ ์ปดํจํฐ(ํ์ปด)์์ ๋ง๋ ์๋ํ๋ก์ธ์ "ํ๊ธ"์ ํ์ผ์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
์ด ํ๋ก์ ํธ๋ jetbrains์์ ๊ฐ๋ฐํด์ ์ง์ ๋ฐ์์ต๋๋ค. https://www.jetbrains.com/?from=macos
์์ธ๋ฌ, HWP ํ์ผ ๊ทธ๋ฆฌ๊ธฐ ํ๋ก์ ํธ๋ ์งํ์ค์ ๋๋ค. http://hwplib.dogfoot.kr:8080/webviewer/
-
์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฌธ์
- Apache-POI ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ํ๊ธ ํ์ผ์ ํ๋ถ ๊ตฌ์กฐ์ธ Microsoft Compound File์ ๋ถ๋ถ์ ํ์ฑ.
- ํ๊ธ๊ณผ์ปดํจํฐ์์ ๊ณต๊ฐํ 'ํ๊ธ ๋ฌธ์ ํ์ผ ๊ตฌ์กฐ 5.0' ๋ฌธ์ ( http://www.hancom.com/etc/hwpDownload.do?gnb0=269&gnb1=271&gnb0=101&gnb1=140 )
-
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํ ์ ์๋ ์ผ.(kr.dogfoot.hwplib.sample ํจํค์ง์ ์ํ ์ฐธ๊ณ .)
- ํ๊ธ ํ์ผ์ ์ฝ์ด์ ๊ฐ์ฒด๋ก ์์ฑ : Reading_HWP_FromFile, Reading_HWP_FromURL ...
- ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ํ์ผ๋ก ์ ์ฅ : Rewriting_HWPFile, SimpleEditing_HWPFile ...
- ํ๊ธ ํ์ผ์์ ํ ์คํธ ์ถ์ถ : Extracting_Text, Extracting_Text_From_Big_File ...
- ํ๋ ํ ์คํธ ์ถ์ถ/์ค์ : Getting_ClickHere_FieldText, Setting_ClickHere_FieldText, Finding_AllField, Setting_FieldText
- ์กฐ๊ฑด์ ๋ง๋ ์ปจํธ๋กค ์ฐพ๊ธฐ : Finding_Control
- ๋ค๋ฅธ ํ์ผ์ ๋ด์ฉ(๋ฌธ๋จ)์ ์ถ๊ฐํ๊ธฐ. ํ์ผ ํฉ์น๊ธฐ : Adding_Paragraph_Between_HWPFile ...
- ํ ์ปจํธ๋กค ์กฐ์ : ์ฝ์ (Inserting_Table), ์ ํฉ์น๊ธฐ(Merging_Cell), ํ ์ญ์ (Removing_Table_Row) ...
- ๊ธฐํ ์ปจํธ๋กค ์กฐ์ : ์ด๋ฏธ์ง ์ฝ์ (Inserting_Image), ํ์ดํผ๋งํฌ ์ฝ์ (Inserting_HyperLink) ....
- ๊ธฐํ ์ค์ : ํ์ด์ง ํฌ๊ธฐ ๋ณ๊ฒฝ (Changing_PaperSize), ํฐํธ ํฌ๊ธฐ, ๋ฐ์ค ๋ฑ์ ๊ธ์๋ชจ์ ์ค์ (Inserting_CharShape ์ฐธ๊ณ ) ...
-
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์์ ๊ธฐ๋ฅ์ ์์ง(??) ์ง์ํ์ง ์์ต๋๋ค.
- ์ํธํ๋ HWP ํ์ผ์ ๋ํ ์ฝ๊ณ ์ฐ๊ธฐ
- ์ด๋ฏธ์ง ํ์ผ, PDF ํ์ผ, HTML ํ์ผ๋ก ๋ณํ
- ํน์ ํ์ด์ง ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ ๋ ์ ์ฒด ํ์ด์ง ์๋ฅผ ๊ตฌํ๊ธฐ.
-
๋ฉ์ด๋ธ ๋ ํ์งํ ๋ฆฌ ์ค์
<dependency> <groupId>kr.dogfoot</groupId> <artifactId>hwplib</artifactId> </dependency>
- ์์ ๊ฐ์ฒด ์์ฑ๊ฐ ๋ถ์์ ์ํ Property ๊ฐ์ฒด ์ถ๊ฐ...
- ์์ ๊ฐ์ฒด Finder ์ถ๊ฐ...
- ํ๋๊ฐ ์ค์ ์..ํด๋น ๋ฌธ๋จ์ LineSeg ์ญ์ .
- ์์ ๊ฐ์ฒด(๋ผ๋์ค ๋ฒํผ, ์ฒดํฌ ๋ฐ์ค ๋ฑ) ์ฝ๊ณ ์ฐ๊ธฐ ์ถ๊ฐ..
- FieldFinder ์ถ๊ฐ.
- ์ด์ 12,18 : ํ ์คํธ ์ถ์ถ์ ๋ฌธ๋จ ๋ฒํธ/๊ธ๋จธ๋ฆฌํ๋ฅผ ํฌํจํ๊ฒ ์์ . (kr.dogfoot.hwplib.sample.Extracting_Text_With_ParaHead ์ฐธ๊ณ )
- ์น์ (๊ตฌ์ญ) ์ ์ ์ปจํธ๋กค์ ๋ณต์ฌํ๋ ํด๋์ค(SectionDefineCopier) ์ถ๊ฐ.
- ๋จ์ ์ ์ปจํธ๋กค(ControlColumnDefine) read/write ์์
- ์ด์ 143 : ๋ฌธ๋จ ์ถ๊ฐ ๊ธฐ๋ฅ(kr.dogfoot.hwplib.tool.paragraphadder)์ ๋จ์ ์ ์ปจํธ๋กค ๋ณต์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ.
- ์ด์ 139 : ๋ฌธ๋จ ์ถ๊ฐ ๊ธฐ๋ฅ(kr.dogfoot.hwplib.tool.paragraphadder)์ ๊ฒน์นจ๋ฌธ์ ์ปจํธ๋กค ๋ณต์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ.
- ์ปจํธ๋กค์ [๋ณธ๋ฌธ๊ณผ์ ๋ฐฐ์น]์์ฑ๊ฐ ์์
- ์ด์ 140 : CharShape.getBorderFillId()๊ฐ 0 ์ผ๋, ๋ฌธ๋จ์ถ๊ฐ ๊ธฐ๋ฅ ์ค๋ฅ ์์ ..
- ๋ฉ์ด๋ธ ์ ์ฅ์์ 1.0.4 ๋ฒ์ ๋ฑ๋ก
- docInfo ์๋์ ๊ฐ์ฒด ์ฐ๊ธฐ ์์ ๋ณ๊ฒฝ
- ๊ธ์ ๋ชจ์์ ๋ฐ์ค ํ์ ๋ณ๊ฒฝ
- ์ด๋ฏธ์งID(BIN?????.bmp)๋ฅผ 10์ง์๋ก ์ธ์ํ๋ ๊ฒ์ 16์ง์๋ก ์ธ์ํ๊ฒ ํจ
- ๊ฒน์นจ๋ฌธ์ ๋ฑ์์ ํ๊ธ ๊ณ ์ ์ ํน์๋ฌธ์๋ฅผ ์ฝ๊ณ ์ธ ๋, ์ฝ๋ ๋ณํ ์ค๋ฅ ์์
- ๊ฐ์ฒด ๋ณต์ฌ์ ์ค๋ฅ ์์
- ๋จธ๋ฆฌ๊ธ/๊ผฌ๋ฆฌ๊ธ ์์ ์ถ๊ฐ sample/Inserting_HeaderFooter.java
- 4095 ๋ฐ์ดํธ ๋ณด๋ค ํฐ ๋ ์ฝ๋ ์ฝ๊ณ ์ฐ๊ธฐ ์ค๋ฅ ์์
- ๋น ํ์ผ ๋ง๋ค๊ธฐ(kr.dogfoot.hwplib.tool.blankfilemaker.BlankFileMaker)์์ ๋น ์ง BorderFill ๊ฐ์ฒด ์์ฑ.
- ๋ฌธ๋จ ๋ด์ ํ๋ ํ ์คํธ ๊ฐ์ ธ์ค๊ธฐ/์ซ์ ํ๊ธฐ ํจ์ ์์ ..
- ์ด์ 127 : ์ด๋ฏธ์ง ์ฝ์ ๋ id ์ฐพ๋ ๋ฐฉ๋ฒ ์ค๋ฅ ์์ ..
- ControlField.clone() ์ค๋ฅ ์์
- ๋ฌธ๋จ ๋ณต์ฌํ ๋ ControlField ๋ณต์ฌํ๊ฒ ์์
- ์ด์ 122 : ParaText.insertString() ์ถ๊ฐ
- ์ด์ 123 : kr.dogfoot.hwplib.tool.paragraphadder.docinfo.FaceNameAdder์ equal() ํจ์ ๋ด์ Null ์ฒดํฌ
- ์ด์ 124 : bullet ๋ณต์ฌ ๋ถ๋ถ ์์
- ์ด์ 125 : numbering ๋ณต์ฌ ๋ถ๋ถ ์์
- ์ด์ 126 : ๋ฌถ์(Container) ์์ ์ปจํธ๋กค ๋ณต์ฌ์ ์ค๋ฅ ์์
- ํ ์คํธ ์ถ์ถ ์ต์ ์ถ๊ฐ.
- ํ ์คํธ ์ถ์ถ์ ํญ, ๊ฐํ, ํ์ดํ์ด ๋น ์ง๋ ์ค๋ฅ ์์ .
- TextExtractMethod.xxxWithControlChar ๋ชจ๋ ์ถ๊ฐ.
- ParagraphAdder.merge() ํจ์ ์ถ๊ฐ.
- ๋ฉ์ด๋ธ ์ ์ฅ์์ 1.0.3 ๋ฒ์ ๋ฑ๋ก
- ๋ฌธ๋จ ๋ถ์ด๊ธฐ์ ์ํ HWPFile ๊ฐ์ฒด ๋ณต์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ
- sample/Adding_Paragraph_Between_Cloned_HWPFile ์ฐธ๊ณ ..
- ๋ฌธ๋จ ๋ถ์ด๊ธฐ(ParagraphAdder) ๊ฐ๋ฅ ์ค ๊ทธ๋ฆผ ์ปจํธ๋กค ๋ณต์ฌ ์ค๋ฅ ์์
- ๋ฉ์ด๋ธ ์ ์ฅ์์ 1.0.2 ๋ฒ์ ๋ฑ๋ก
- ๋น ํ์ผ ๋ง๋๋ ์ฝ๋ ์ถ๊ฐ - ingyeoking13 ๋ ์์ฒญ
- sample/Making_BlankFile.java ์ฐธ์กฐ
- ํ๋(๋๋ฆํ) ์ฐพ๊ธฐ ์ค์ ๊ทธ๋ฆฌ๊ธฐ ๊ฐ์ฒด์ textBox๊ฐ null์ธ ์ค๋ฅ ์์ - j2y0206 ๋ ์์ฒญ
- ๋ค๋ฅธ ๋ฌธ์ ๊ฐ์ ๋ฌธ๋จ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ๊ธฐ๋ฅ์ ํ ์ปจํธ๋กค ๋ณต์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ - kimeuietae ๋ ์์ฒญ
- ๋ค๋ฅธ ๋ฌธ์ ๊ฐ์ ๋ฌธ๋จ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ๊ธฐ๋ฅ์ ์ฒซ๋ฒ์งธ ๋ฌธ๋จ์ ๋ณต์ฌํ ๋ ์ค๋ฅ ์์ - kimeuietae ๋ ์์ฒญ
- sample/Copying_Paragraph_Between_HWPFile.java ์ฐธ์กฐ...
- ํฐ ํ์ผ์ ์ ํ ์คํธ ์ถ์ถ์ ํ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑํ์ ์์ - LeeYunSeop ๋ ์์ฒญ
- sample/Extracting_Text_From_Big_File.java ์ฐธ์กฐ...
- ์๊ธฐ ์ค๋ฅ ์์ - osc91 ๋ ์์ฒญ.
- ์์ ๋ถ๋ถ ์ค๋ฅ ์์ - osc91 ๋ ์์ฒญ.
- 5.0.2.5 ๋ฒ์ ์ด์์์ ์ถ๊ฐ๋ ๋ฌธ๋จ ๋ฒํธ ์์ค(8-10) ์ฒ๋ฆฌ.. - Chunsjun ๋ ์์ฒญ.
- ๋ฉ์ด๋ธ Central Repository ๋ฑ๋ก
- html ํ๋ฅผ ํ๊ธ๋ก ๋ง๋๋ ์ํ ์ถ๊ฐ(samle/htmltohwp ํด๋) - [email protected](์ด์ค์ฑ) ๋ ์ ๊ณต
- ํ/์ง ์กฐ์ (ํ์ด์ง ๋ฒํธ ์กฐ์ ) ์ปจํธ๋กค ์ถ๊ฐ - kangyongseog ๋ ์์ฒญ
- ๋ฌธ๋จ ํ ์คํธ ๋ณ๊ฒฝํ๋ ์ํ ์ถ๊ฐ - humblemh ๋ ์์ฒญ
- ๊ตฌ๋ฒ์ ํ์ผ(5.0.0.0)์ ์์ ์ฝ๊ธฐ ์ค๋ฅ ์์ ... - [email protected] ๋ ์์ฒญ
- ์์๋ ํ์ผ ์์ถํด์ ์ ๋ฌดํ๋ฃจํ ๋น ์ง๋ ์ค๋ฅ ์์ (Exception ์ฒ๋ฆฌ) - LeBronPark ๋ ์์ฒญ
- ๊ตฌ๋ฒ์ ์ ์ปจํ ์ด๋(๋ฌถ์) ์ปจํธ๋กค ์ฝ๊ธฐ ์ค๋ฅ - [email protected] ๋ ์์ฒญ
- ์คํธ๋ฆผ์ผ๋ก ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ(HWPWriter.toStream()) - KimJason8557 ๋ ์์ฒญ
- 5.1.0.1 ํ์ผ ์ฝ๊ธฐ ์ค๋ฅ .... - jwon0615 ๋ ์์ฒญ
- ShapeComponentPicture ๋ ์ฝ๋์ ์์ ์๋ 1๋ฐ์ดํธ ์ถ๊ฐ๋จ..
- ๋จ ์ค์ ์์ "๋จ ๋๋น ๋์ผํ๊ฒ"์ 1๊ฐ ์ด์์ ๋จ์ ์ค์ ํ ํ ์ ์ฅํ๋ฉด, 1๊ฐ์ ๋จ์ผ๋ก ์ ์ฅ๋๋ ์ค๋ฅ ์์ - kwon1148 ๋ ์์ฒญ
- ํ ์ ์ "์ ์ฌ๋ฐฑ ์ง์ " ์์ฑ๊ฐ get/set - kamsi76 ๋ ์์ฒญ
- ForControlWithAllField.getFieldText() ์ค๋ฅ ์์ - kamsi76 ๋ ์์ฒญ
- ํ์์ ํน์ ํ์ ์ญ์ ํ๋ ์ํ ์ถ๊ฐ - kamsi76 ๋ ์์ฒญ
- sample/TestRemoveRow.java ์ฐธ๊ณ
- ํ๋๋ช ์ด ์ผ์นํ๋ ์ ์ฐพ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ. - kwonhyun ๋ ์์ฒญ
- sample/TestFindCell.java ์ฐธ๊ณ
- FieldFiner์ ์ด๋ฆ์ด ๊ฐ์ ํ๋ ๋ชจ๋ ์ฐพ๋ ํจ์ ์ถ๊ฐ... - jclab ๋ ์์ฒญ
- sample/TestFindAllField.java ์ฐธ๊ณ
- IDMapping์ ๋ฌธ๋จ ๋ชจ์ ๊ฐ์์ ์ ์ฅ๋ ์ค์ ๋ฌธ๋จ ๋ชจ์ ๊ฐ์๊ฐ ๋ค๋ฅผ ๋ ๋ณด์ .. - [email protected] ๋ ์์ฒญ
- ํ๋ ์ค์ ๊ธฐ๋ฅ ๊ฐํ :๋ฉํฐ๋ผ์ธ ํ ์คํธ, ์ด๋ฆ์ด ๋์ผํ ํ๋๋ฅผ ์ํ ๊ฐ ๋ฆฌ์คํธ, ๋๋ฆํ ํ๋ ์ด์ธ์ ํ๋ ์ค์ ... - [email protected] ๋ ์์ฒญ
- sample/TestSetField.java ์ฐธ๊ณ
- ํ ์ ๋ณํฉํ๊ธฐ - codeless73 ๋ ์์ฒญ
- sample/TestMergingCell.java ์ฐธ๊ณ
- ํ๋ ํ ์คํธ ์ค์ ๊ธฐ๋ฅ ์ถ๊ฐ - [email protected] ๋ ์์ฒญ
- sample/TestSetClickHereFieldText.java ์ฐธ๊ณ
- ์ ์ฅ ๋ ์ด๋ฏธ์ง ์์ถ๊ณผ์ ์์ ์ค๋ฅ ์์ - [email protected] ๋ ์์ฒญ
- ๋ค๋ฅธ ํ๊ธ ํ์ผ์์ ์๋ ๋ฌธ๋จ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ - accforaus ๋ ์์ฒญ
- ๋ฌธ๋จ์ ํฌํจ๋ ๊ธ์๋ง ์ถ๊ฐ๋จ. ๋ฌธ๋จ์ ํฌํจ๋ ์ปจํธ๋กค๋ค๊ณผ ๋ฉ๋ชจ๋ค์ ์ถ๊ฐํ๋ ๋ถ๋ถ์ ์์ง ๊ตฌํ ๋ชปํจ(์ถํ ์ถ๊ฐ ์์ ์)
- sample/TestParagraphAdder.java ์ฐธ๊ณ
- 5.0.2.5์ ๊ฐ์ฃผ ์ปจํธ๋กค ์ฝ์ ๋ ์ค๋ฅ ๋๋ ๋ฌธ์ ์์ - accforaus ๋ ์์ฒญ
- BinData๊ฐ ์คํ ๋ฆฌ์ง ๋ํดํธ ๋ชจ๋๋ก ์์ถ๋์์ ๋ ์ค๋ฅ ๋๋ ๋ฌธ์ ์์
- ๋ฌธ๋จ์ ๊ธ์๋ชจ์(๊ธ๊ผด, ํฌ๊ธฐ, Bold/Italic, ๊ธ์์ ๋ฑ) ์ค์ ํ๋ ์ํ ์ถ๊ฐ - zuoliang0 ๋ ์์ฒญ
- sample/TestMakingCharShape.java ์ฐธ๊ณ
- ์ด๋ฏธ์ง ์ปจํธ๋กค ๋์ ์์ฑ ์ํ ์ถ๊ฐ - [email protected] ๋ ์์ฒญ
- sample/TestInsertImage.java ์ฐธ๊ณ
- ํ ๋์ ์์ฑ ์ํ ์ถ๊ฐ - krPlatypus ๋ ์์ฒญ
- sample/TestMakingTable.java ์ฐธ๊ณ
- ์์ถ ํธ๋ ๋ฐฉ์ ๊ฐ์ ๋ฑ์ ์ค๋ฅ ์์ ๋ฐ ๊ฐ์ฒด ์ฐ๊ฒฐ์ ์ปจํธ๋กค ์ถ๊ฐ - osc91 ๋ ์์ฒญ
- ๋ฉ๋ชจ ์๋ ๋ฌธ์๊ฐ ์ฝํ์ง ์๋ ์ค๋ฅ ์์ - osc91 ๋ ์์ฒญ
- ์ปจํธ๋กค ์ฐพ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ - osc91 ๋ ์์ฒญ
- TestFindObject.java ์ฐธ์กฐ
ย ย public static class MyControlFilter implements ControlFilter {
ย ย public boolean isMatched(Control control, Paragraph paragrpah, Section section) {
// ํํฐ๋ง ์กฐ๊ฑด ์
๋ ฅย
}
ย ย }
ArrayList<Control> result = ControlFinder.find(hwpFile, new MyControlFilter());
- URL๋ก ๋ถํฐ ์ฝ๋ ๊ธฐ๋ฅ ์ถ๊ฐ - osc91 ๋ ์์ฒญ
String url = "http://ocwork.haansoft.com/sample/sample.hwp";
HWPFile hwpFile = HWPReader.fromURL(url);
- ์ ์ฅ ๋ชจ๋ ์๋ฃ
- TestEditingHWPFile.java, TestReWritingHWPFile.java ์ฐธ๊ณ
// ํ์ผ์ ์ด์ด์
String filename = "sample_hwp\\test-blank.hwp";
HWPFile hwpFile = HWPReader.fromFile(filename);
if (hwpFile != null) {
// ์ฒซ๋ฒ์งธ ๊ตฌ์ญ/๋ฌธ๋จ์ ๋ฌธ์์ด ์ถ๊ฐํ๊ณ
Section s = hwpFile.getBodyText().getSectionList().get(0);
Paragraph firstParagraph = s.getParagraph(0);
firstParagraph.getText().addString("์ด๊ฒ์ ์ถ๊ฐ๋ ๋ฌธ์์ด์
๋๋ค.");
// ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅ
String writePath = filename.substring(0, 11) + "ed-" + filename.substring(11);
HWPWriter.toFile(hwpFile, writePath);
}
- ๊ตฌ๋ฒ์ ์์ ๋ง๋ ํ์ผ ์ฝ๊ธฐ ์ค๋ฅ ์์ - quantum123๋ ์์ฒญ
- 5.0.0.6, 5.0.2.4.1, 5.0.0.3, 5.0.1.6, 5.0.3.0.1, 5.0.0.5, 5.0.1.7 ๋ฒ์
- ํ ์ฅ ์ด์์ ๊ธด ๋ฌธ๋จ์ ์ฝ์ง ๋ชปํ๋ ๋ฌธ์ ํด๊ฒฐ
- ๋๋ฆํ ํ๋ ํ
์คํธ ์ฐพ๊ธฐ ๊ธฐ๋ฅ
- ํ๋ ํ ์คํธ๊ฐ ์ฌ๋ฌ ์ค์ผ๋ ์ฒ๋ฆฌ
- ํ๋ ํ ์คํธ์ ์ปจํธ๋กค์ด ํฌํจ๋์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ
- FieldFinder.getClickHereText() ์์ ํ๋ ํ ์คํธ์ ์ปจํธ๋กค์ด ํฌํจ๋์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด TextExtractMethod temInField ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์์ต๋๋ค.
String text1 = FieldFinder.getClickHereText(hwpFile, "ํ๋1", TextExtractMethod.OnlyMainParagraph);
- ๋๋ฆํ ํ๋ ํ
์คํธ ์ฐพ๊ธฐ ๊ธฐ๋ฅ ์๋ฃ - musasin84๋ ์์ฒญ
- test/TestGettingClickHereFieldText.java ํ์ผ ์ฐธ๊ณ
HWPFile hwpFile = HWPReader.fromFile(filename);
String text1 = FieldFinder.getClickHereText(hwpFile, "ํ๋์ด๋ฆ");
- ๋๋ฆํ ํ๋ ์ปจํธ๋กค ์ฝ๊ธฐ ์ค๋ฅ ์์
- ํ
์คํธ ์ถ์ถ๊ธฐ ๋ชจ๋์ ์ถ๊ฐํ์์ต๋๋ค.
- TextExtractor.extract()์ ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ฐ๋ผ ์ธ๊ฐ์ง ์ถ์ถ ๋ฐฉ๋ฒ์ ๊ตฌํํ์ต๋๋ค.
- OnlyMainParagraph // ๋ฉ์ธ ๋ฌธ๋จ์ ํฌํจ๋ ํ ์คํธ๋ง ์ถ์ถํจ
- InsertControlTextBetweenParagraphText // ์ปจํธ๋กค์ ํ ์คํธ๋ฅผ ๋ฌธ๋จ ํ ์คํธ ์ฌ์ด์ ์ฝ์ ํ์ฌ ์ถ์ถํจ
- AppendControlTextAfterParagraphText // ์ปจํธ๋กค์ ํ ์คํธ๋ฅผ ๋ฌธ๋จ ํ ์คํธ ๋ค์ ์ถ๊ฐํ์ฌ ์ถ์ถํจ
- test/TestExtractingText.java ํ์ผ ์ฐธ๊ณ
- TextExtractor.extract()์ ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ฐ๋ผ ์ธ๊ฐ์ง ์ถ์ถ ๋ฐฉ๋ฒ์ ๊ตฌํํ์ต๋๋ค.
HWPFile hwpFile = HWPReader.fromFile(filename);
String hwpText = TextExtractor.extract(hwpFile, TextExtractMethod.InsertControlTextBetweenParagraphText);
- ์ฝ๊ธฐ ๋ชจ๋์์ ๋ฒ๊ทธ ์์ ํ์์ต๋๋ค.
- ์์ค ์ธ์ฝ๋ฉ์ euc-kr์์ utf-8๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.
- ์ด ๋ฒ ๋ฐฐํฌ๋ฒ์ ์ ์ฝ๊ธฐ ๋ชจ๋ ๊น์ง๋ง ๊ตฌํ๋์์ต๋๋ค. ์ฐ๊ธฐ ๋ชจ๋์ ์ถํ ์ํฉ์ ๋ด์ ๊ตฌํํ ๊ณํ์
๋๋ค.
- ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ค๊ณผ ๊ฐ์ฒด์ ํฌํจ๋ ๋ฉ์์ค๋ค์ ๋ํด์ "/doc" ๋๋ ํ ๋ฆฌ์ ์๋ javadoc ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
// ํ์ผ์ ์ฝ๋๋ค.
HWPFile hwpFile = HWPReader.fromFile(filename);
// ํ์ผ์์ ์ฒซ๋ฒ์งธ ๊ตฌ์ญ์ ์ป๋๋ค.
Section s = hwpFile.getBodyText().getSectionList().get(0);
// ์ฒซ๋ฒ์งธ ๊ตฌ์ญ์์ ์ฒซ๋ฒ์งธ ๋ฌธ๋จ์ ์ป๋๋ค.
Paragraph p = s.getParagraphList().get(0);
...