Skip to content

fix: HWP·HWPX PDF 변환 실제 양식 호환성 보완 - #54

Merged
hywznn merged 2 commits into
mainfrom
fix/53-document-preview-conversion
Aug 18, 2026
Merged

fix: HWP·HWPX PDF 변환 실제 양식 호환성 보완#54
hywznn merged 2 commits into
mainfrom
fix/53-document-preview-conversion

Conversation

@hywznn

@hywznnhywznn commented Aug 16, 2026

Copy link
Copy Markdown
Member

한 줄 요약

LibreOffice HWP import filter 대신 rhwp v0.7.19 native PDF exporter를 사용하여 Server의 실제 HWP·HWPX 데모 양식을 읽을 수 있는 PDF로 변환합니다.

문제

기존 변환은 PDF 서명만 확인해 다음 오류를 성공으로 오인할 수 있었습니다.

  • HWP: 깨진 문자로 구성된 60~71페이지 PDF 생성
  • HWPX: source file could not be loaded
  • Apple Silicon Docker build: x86_64 rhwp를 ARM 이미지에 넣어 실행 불가

변경 내용

  • HWP·HWPX → PDF를 rhwp export-pdf 직접 변환으로 통일
  • high-quality·text-as-paths 옵션으로 폰트 차이에 의한 깨짐 방지
  • pypdf로 PDF 구조, 페이지 존재 여부, media box 검증
  • 실패 시 목적지·임시 파일을 남기지 않도록 원자적 저장 유지
  • LibreOffice 변환 코드와 런타임 패키지 제거
  • rhwp Linux 지원 플랫폼에 맞춰 Docker runtime을 linux/amd64로 고정
  • Server 실제 데모 Fixture 4종 Smoke Test 스크립트와 canonical 양식 회귀 테스트 추가
  • 변환 API 경로와 요청·응답 계약은 변경하지 않음

실제 검증

Server demo-data/document-templates를 그대로 변환했습니다.

입력로컬 rhwpDocker amd64 이미지
employment-contract-template.hwp2페이지, 687,949 bytes2페이지, 714,222 bytes
employment-contract-template.hwpx2페이지, 692,806 bytes2페이지, 718,141 bytes
employment-extension-template.hwpx2페이지, 217,980 bytes2페이지, 213,793 bytes
integrated-application-template.hwpx1페이지, 338,054 bytes1페이지, 346,290 bytes

표준근로계약서의 한글·영문·합성 입력값이 읽을 수 있게 표시되는 것을 첫 페이지 렌더링으로 확인했습니다.

테스트

  • 변경 파일 Ruff lint 통과
  • 문서 변환 단위 테스트 14건 통과
  • rhwp 실제 canonical HWP/HWPX 변환 4건 통과
  • Server 실제 Fixture 4종 Smoke Test 통과
  • Language optional integration을 제외한 전체 테스트 통과
  • Docker amd64 이미지 기동 및 컨테이너 내부 Smoke Test
  • Server #187에서 병합된 AI 이미지로 최종 재검증

전체 로컬 테스트의 기존 Language/Qdrant 선택 의존성 4건은 base 설치에 해당 extra가 없어 실패하며, 이번 문서 변환 변경과 무관합니다.

Closes#53
Refs fowoco/server#186
Refs fowoco/server#187

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Document][P0] HWP·HWPX PDF 변환 실제 Fixture 호환성 보완

1 participant

@hywznn