Comments (5)
테스트 하신 코드를 올려 주시면... 수정해 드리겠습니다.
from hwplib.
피드백 감사합니다. ^^
1번 질문은 아래의 코드로 테스트하였습니다.
String filename = "classpath:hwp_in/test.hwp";
File file = resourceLoader.getResource(filename).getFile();
HWPFile hwpFile = HWPReader.fromFile(file.getAbsolutePath());
HWPWriter.toFile(hwpFile, "hwp_out/test.hwp");
hwp_in.zip
위 두개의 파일을 이름을 바꿔가며 테스트했는데 둘다 원본과 다른 정렬을 가지게 되었습니다.
2. 표대각선 부분은 이렇게 작성했습니다.
private int createBorderFillIDForCell(CellBorderFillModel m) {
BorderFill bf = hwpFile.getDocInfo().addNewBorderFill();
bf.getProperty().set3DEffect(false);
bf.getProperty().setShadowEffect(false);
bf.getProperty().setSlashDiagonalShape(SlashDiagonalShape.None);
bf.getProperty().setBackSlashDiagonalShape(BackSlashDiagonalShape.None);
bf.getLeftBorder().setType(BorderType.valueOf((byte)1));
bf.getLeftBorder().setThickness(BorderThickness.valueOf((byte)0));
bf.getLeftBorder().getColor().setValue(0x0);
bf.getRightBorder().setType(BorderType.valueOf((byte)1));
bf.getRightBorder().setThickness(BorderThickness.valueOf((byte)0));
bf.getRightBorder().getColor().setValue(0x0);
bf.getTopBorder().setType(BorderType.valueOf((byte)1));
bf.getTopBorder().setThickness(BorderThickness.valueOf((byte)0));
bf.getTopBorder().getColor().setValue(0x0);
bf.getBottomBorder().setType(BorderType.valueOf((byte)1));
bf.getBottomBorder().setThickness(BorderThickness.valueOf((byte)0));
bf.getBottomBorder().getColor().setValue(0x0);
bf.setDiagonalSort(BorderType.Solid);
bf.setDiagonalThickness(BorderThickness.MM0_5);
bf.getDiagonalColor().setValue(0x0);
bf.getFillInfo().getType().setPatternFill(true);
bf.getFillInfo().createPatternFill();
PatternFill pf = bf.getFillInfo().getPatternFill();
pf.setPatternType(PatternType.None);
pf.getBackColor().setValue(-1);
pf.getPatternColor().setValue(-1);
return hwpFile.getDocInfo().getBorderFillList().size();
}
제가 위의 코드로 동작시켜서 나온 테이블의 셀/테두리/배경 메뉴에서
대각선 탭을 살펴보면
위의 이미지처럼 대각선 값은 활성화되어있는데 빨간색으로 표시해둔 부분에 선택이 안되어있어서 대각선이 안생겨있는 것을 확인했습니다.
선택해보면 셀안에 대각선이 나타나는 것을 확인할 수 있었습니다.
감사합니다. ^^
from hwplib.
일단 대각선에 대한 질문에 대한 답입니다.
한글은 대각선의 모양(종류, 굵기, 색)이 있고, 대각선의 종류라는 게 있습니다.
밑에 있는 하향 대각선 종류와 상향 대각선의 종류를 설정해야 합니다.
이 속성은 다음 함수로 설정할 수 있습나다.
bf.getProperty().setSlashDiagonalShape();
bf.getProperty().setBackSlashDiagonalShape();
이 함수에 적절한 값을 세팅하면 위의 그림에서 표시한 속성이 설정됩니다.
from hwplib.
그리고, 글자 정렬이 바뀌는 문제는...
보니까.. 보내주신 한글 파일을 보니까.. 제가 생각했던 것과 다르게 저장되있던데... 최종 저장한 프로그램이 한글이 맞나요? 한글 버젼이 어떻게 되시는지요 ??
테스트 해보니까.. 문단 모양 객체가 파일 내부에 있는 개수보다 하나 덜 만들어져서
문단에서 링크해서 사용하는 문단 모양 객체의 순번이 하나씩 밀린 것 같습니다.
추측하건데, 한글 프로그램은 이런 경우 보정을 하는 거 같습니다.
그래서 문제없이 나오는 데, 제가 만든 프로그램은 이런 예외상황을 예측하지 못했던 거 같습니다.
보정 해주는 알고리즘을 넣어서 새로 올렸습니다.
받아서 다시 테스트 해보세요.
from hwplib.
- 제가 그쪽 속성을을 미처 확인하지 못했네요;; 감사합니다.
- hwp 파일을 연 프로그램은 한글 2018이였습니다.
수정해주신 소스를 적용해보니
문단이 정상적으로 나오는 것을 확인했습니다.
감사합니다. ^^
문서포멧도 읽어보고 컨트리뷰팅도 해보려고했는데
수이 눈에 안들어오고 간단치 않아서 난감해하고 있었는데...
정말 감사합니다. ^^
from hwplib.
Related Issues (20)
- 한글 2024 버전의 파일을 읽지 못하는 경우가 발생합니다. HOT 2
- hwp 파일을 읽고 html 변환 HOT 5
- 안녕하세요. 라이브러리 사용중 궁금한점이 있어서 문의드립니다. HOT 4
- 안녕하세요. 테이블 셀 색상 관련해서 문의드립니다. HOT 1
- 폰트 색상 관련하여 질문드립니다. HOT 1
- 안녕하세요, 최신 JAR을 어디서 구할 수 있나요? (Hi, do you know where I can get the latest JAR?) HOT 1
- 1.1.5 버전 CtrlHeaderGso 클래스의 unkown 참조 이슈 HOT 1
- setCtrlHeaderRecord 함수에서 테이블이 여러개일 경우 테이블 높이를 계산해서 y좌표 지정을 하고 싶은데 테이블 높이를 계산하는 방법이 있을까요? HOT 1
- 안녕하세요. 질문이 있어 방문하게 되었습니다. HOT 1
- 안녕하세요. 질문드립니다. HOT 6
- Abnormal behavior when table have too many rows HOT 3
- 현재 문단에 위치 HOT 1
- HWP 내용의 각 문단에서 줄바꿈 문자(개행문자)가 있는지 어떻게 확인이 가능한가요. HOT 1
- 문단번호 모양이 글머리표로 설정되어 있는 문서인 경우 문서정보 이상함 HOT 10
- 안녕하세요. 라이브러리 관련되어 질문이 있습니다. HOT 2
- [질문]Picture의 binItemId로 binary data구하기 HOT 1
- 표 데이터 추출 관련해서 문의 드립니다. HOT 1
- 안녕하세요. 텍스트 추출관련 문의드립니다. HOT 3
- 안녕하세요 hwp파일 변환 시 오류 확인부탁드립니다. HOT 3
- 글머리표가 2개 이상일때 문단모양정보(getParaShapeList)가 사라지는 현상 관련 확인요청사항 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hwplib.