feat: PDF·HWP 문서 미리보기 API 구현 - #187
Draft
hywznn wants to merge 2 commits into
Draft
Conversation
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 필요한가요?
Refs #186
데모 합성 문서의 품질을 HR 화면에서 빠르게 확인하려면 원본을 매번 내려받지 않고 브라우저에서 미리볼 수 있어야 합니다. 기존
/contentAPI는 모든 파일을 첨부 다운로드로 반환하고, 브라우저가 직접 열 수 없는 HWP·HWPX의 변환 경로도 없었습니다.무엇이 바뀌나요?
GET /api/v1/files/{fileId}/preview를 추가했습니다.Content-Disposition: inline으로 반환합니다.POST /api/v1/documents/convert를 호출하여 PDF로 반환합니다.설정·문서
AI_DOCUMENT_CONVERSION_ENDPOINTAI_DOCUMENT_CONVERSION_TIMEOUT(기본 60초)docs/file-preview.md에 Swagger 확인 방법과 합성 문서 품질 체크리스트를 작성했습니다.검증
./gradlew clean test성공 (585 tests)#183 합성 문서 시각 검수
PDF·이미지 대표 문서와 장문 영문 이름을 실제 PNG로 렌더링해 글자 잘림·겹침·OCR 영역을 확인했습니다. 이 범위는 정상입니다.
다만 합성 HWP fixture를 AI와 동일한 LibreOffice 변환 경로로 확인하면 읽을 수 없는 60페이지 PDF가 생성됩니다. 따라서 Server 미리보기 계약과 회귀 테스트는 완료했지만, HWP 실제 변환 품질과 HWPX Runtime Smoke Test가 끝날 때까지 Draft를 유지합니다. 상세 체크리스트는 #186에서 관리합니다.
후속 범위