서버모듈(loadExcel)과 클라이언트모듈(importData)의 동작 방식이 다르므로 DRM 해제 방법도 다르다.


1. (Method) loadExcel 호출시 DRM 해제

loadExcel 함수 호출 시 DRM이 걸린 파일이 서버로 전송되므로 서버에서 DRM을 해제 할 수 있는 로직을 삽입해야 한다.

당사에서 제공하는 LoadExcel.jsp 페이지에 아래와 같은 내용이 있다.

writeToBrowser 함수를 주석 처리 하고, /** ~ **/ 부분을 주석 해제 후 DRM 로직을 삽입하면 된다.


/** 서버로 전송된 파일을 가공해서 사용해야 할 경우. (예, DRM 복호화 등)

// 서버에 저장된 파일 객체

File uploadFile = load.getUploadFile();

String uploadFileName = uploadFile.getName();

String uploadFilePath = uploadFile.getAbsolutePath();

// TODO

// 업로드된 엑셀 파일을 가공함 (예, 엑셀문서를 DRM 처리함)



// 가공된 파일을 ibSheet에서 읽을 수 있도록 처리.

load.loadFile(uploadFile);

**/

//브라우저에 데이터를 전달하여 시트에 로드
load.writeToBrowser();

DRM 해제 로직은 DRM 업체에 문의 하여 소스 코드를 받으면 된다.


2. (Method) importData 호출시 DRM 해제

importData 함수의 file 인자에 DRM이 해제된 Blob 데이터를 설정하면 된다.