Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

안녕하세요. 파일 HWP 저장하는 것에 궁금증이 있어 문의 드려요. #28

Closed
musasin84 opened this issue Aug 8, 2018 · 6 comments

Comments

@musasin84
Copy link

안녕하세요.
항상 와서 구경하고 있어요. 매번 감사드립니다.
HWP파일을 저장하는 API도 추가된 걸 확인했어요.
혹시 저장할때 해당 한글파일의 누름틀영역에 문자열을 넣고 저장할 수 있는 기능이 있나요?

찾아봐도 안찾아져서요.
답변 기다릴게요. ^^
감사합니다.

@accforaus
Copy link

TestMakingTable.java 참고 하시고,

ControlField 인스턴스 생성하시구 원하시는 설정이나 문자열 입력하셔서 문단의 컨트롤 리스트에 추가하시고 저장 하시면 될거 같아요

@neolord0
Copy link
Owner

neolord0 commented Aug 8, 2018

네..
누름틀은 누름틀 시작 필드 컨트롤과 누름틀 끝 필드 컨트롤 사이에 텍스트가 저장되는 구조로 되어 있습니다. 일반 컨트롤은 컨트롤 내부에 텍스트가 저장되어 있는데, 이 부분에서 다른 컨트롤과 다름니다.

ControlFinder를 사용해서 원하는 누름틀 시작 ControlField를 찾은 후에 ,
누름틀 시작 필드와 끝 필드 사이에 있는 텍스트를 수정하면 될 거 같습니다.

ControlFinder를 사용하는 예제는 TestFindControl.java를 참고하시면 될 거 같고요..
누름틀 텍스트 빼오는 부분이 kr.dogfoot.hwplib.objectfinder.forField.getFieldText() 이 부분 입니다.
이 부분을 참고하시면 될 거 같습니다.

해 보시고.. 궁금한 점 있으시면 질문 주세요..

@musasin84
Copy link
Author

해보겠습니다. 감사합니다.

@musasin84
Copy link
Author

musasin84 commented Aug 10, 2018

ControlField를 찾았는 데 누름틀 시작필드와 끝 필드 접근하여 텍스트를 수정하려면
어떻게 접근해야할까요?
막 해봐도 잘 이해가 안되서요.
TestFindControl.java로 ControlField 까지는 찾았어요.
(기존에 있는 hwp파일의 누름틀에 문자열을 넣고 다른이름(hwp)파일로 저장하려는 의도에요)

@neolord0 neolord0 reopened this Aug 12, 2018
@neolord0
Copy link
Owner

필드 컨트롤를 포함하는 Paragaraph(문단) 객체를 구한 다음에.. Paragaraph안에 ParaText라는 객체에서 문단에 포함된 텍스트를 잘라내야 합니다. 이 ParaText에는 문자열이 있는 문자들을 하나의 객체로 만들어 표현합니다. HWPChar객체의 리스트로요.. 이 객체는 일반적인 문자를 표현하는 HWPCharNormal 객체도 있지만, 문단에서 컨트롤의 위치를 나타내는 HWPCharControlChar, HWPCharControlExtend, HWPCharControlInline 객체도 포함합니다.

HWPChar객체의 리스트에서 필드 컨트롤의 시작과 끝을 구해야 합니다. 시작과 끝을 구했다면, 그 사이에 HWPCharNormal 객체를 변경해 주면.. 필드의 텍스트가 변경될 것 입니다.

이 부분은 kr.dogfoot.hwplib.objectfinder.forField.getFieldText() 을 참고 하시면 될 거 같습니다.

@musasin84
Copy link
Author

네 답변 감사드려요. 다시 집중해볼게요. ㅎㅎ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants