설치

CoreDocsPDF는 CSS, JS, JAR 세 파일로 구성됩니다. 세 파일은 버전을 반드시 일치시켜야 합니다.

1.구성 파일

다음 세 파일을 내려받습니다.

• 주의

CSS/JS와 JAR는 한 세트로 배포됩니다. 한쪽만 교체하면 문서 모델 불일치로 저장, 서명이 실패할 수 있습니다. 업그레이드 시 세 파일을 함께 교체하십시오.

2.프론트엔드 설정

2.1스크립트와 스타일 참조

HTMLindex.html
<!-- 뷰어 스타일 -->
<link rel="stylesheet" href="/lib/coredocs-pdf-core-1.0.0.css" />

<!-- 뷰어가 그려질 영역 -->
<div id="viewer" style="width:100%; height:800px"></div>

<script type="module">
  import { createPDFViewer } from '/lib/coredocs-pdf-core-1.0.0.js';

  const viewer = createPDFViewer('#viewer', {
    licenseKey: '발급받은-라이선스-키',
  });
</script>

2.2동작 확인

정상적으로 로드되면 지정한 영역에 빈 뷰어가 표시됩니다. 실제로 문서를 열어 구동하는 예제는 뷰어 표시에서 다룹니다.

3.백엔드 설정

백엔드 JAR은 CoreDocs 코드만 담고 있고, PDF 처리, 직렬화에 쓰는 외부 라이브러리는 포함하지 않습니다. 아래 의존성을 함께 선언해야 하며, 빠뜨리면 렌더링, 저장, 서명 단계에서 NoClassDefFoundError가 발생합니다.

3.1의존성 선언

GROOVYbuild.gradle
dependencies {
  // CoreDocs 라이브러리 (코드 + 라이선스 모듈)
  implementation files('libs/coredocs-pdf-core-java-1.0.0-all.jar')

  // JAR가 사용하는 외부 라이브러리 (JAR에 미포함, 함께 선언)
  implementation 'org.apache.pdfbox:pdfbox:3.0.2'
  implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.3'
  implementation 'org.slf4j:slf4j-api:2.0.16'
}
• jackson 충돌 주의

JAR를 임베드한 앱이 jackson을 함께 쓰는 경우, 버전을 2.18.3에 맞춰 클래스패스 충돌을 피하십시오.

• Maven

Maven은 -all.jar를 로컬 저장소에 설치(mvn install:install-file)한 뒤, 위 외부 라이브러리 4종을 pom.xml에 동일한 버전으로 선언하면 됩니다.

3.2서버 초기 설정

애플리케이션 기동 시 1회 설정합니다. 글꼴을 등록하지 않으면 해당 글꼴을 쓰는 필드의 한글이 렌더링되지 않습니다.

JAVA기동 시 1회
// 라이선스
Document.setLicenseKey("발급받은-라이선스-키");

// 렌더링 글꼴 등록 (이름 → TTF 경로)
Document.getFontMap().put("NanumGothic", fontPath.resolve("NanumGothic.ttf"));

// 저장 시 임시 파일 위치 (미설정 시 대상 파일 옆에 .tmp 생성)
Document.setTempDirectory(tempPath);

이후 Document.loadFromPDF(path)로 문서를 로드할 수 있습니다. 렌더링, 저장, 서명 엔드포인트 구성은 백엔드 연동 (fetcher)에서 설명합니다.