YNICTE/ClipReport4/ClipReport4/export/exportForDOC.aspx

105 lines
3.2 KiB
Plaintext

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="CLIPreport.OOF"%>
<%@ Import Namespace="CLIPreport.SDK"%>
<%
ReportUtil reportUtil = ReportUtil.getInstance();
CLIPreport.OOF.OOFDocument oof = OOFDocument.newOOF();
OOFFile file = oof.addFile("crf", "CLIP.crf");
//DOC 저장에 대한 옵션을 설정합니다.
RTFExportOption option = ExportOptions.doc();
// 페이지 범위. 2-9, 1-, -5 와 같이 범위를 설정할 수 있습니다.
//option.setPageRange("1-");
// setDefaultCharSpace(float) 기본 자간
option.setDefaultCharSpace(-0.5f);
// setProcessEqualAlign(int) 균등 분할 처리 방법
/* tableSplitMethod(Integer)
>기존 버전(WAS) :
0=왼쪽 정렬
1=오른쪽 정렬
2=가운데 정렬
3=양쪽 정렬
>현재 버전(데몬) :
RTFExportOption.AlignLeft = 왼쪽 정렬
RTFExportOption.AlignCenter = 가운데 정렬
RTFExportOption.AlignRight = 오른쪽 정렬
RTFExportOption.AlignJustify = 양쪽 정렬
*/
option.setProcessEqualAlign(RTFExportOption.AlignJustify);
// setSplitTextLine(boolean)
// 리포트에 출력된 것 처럼 문자열을 여러줄로 잘라서 표현할지 여부
// 기존 메소드 : option.setSplitTextByLine(true);
option.setSplitTextLine(true);
// setProcessAsUnicode(boolean)
// text를 유니코드로 처리할지 여부
option.setProcessAsUnicode(true);
// setMergeTable(boolean)
// 이웃한 테이블과 병합할 것인지 여부
option.setMergeTable(false);
//setTableWrapperBottomGap(int)
//테이블을 감싸는 객체를 삽입할 것인지 여부
//테이블을 감싸는 레이아웃와 테이블의 아래쪽 간격
option.setTableWrapperBottomGap(0);
// 확장자를 제외한 파일이름, 파일이름으로 사용될 수 없는 문자열은 '_' 으로 치환됩니다.
String fileName = "----한글-파일-이름-테스트-문서(특수문자:#$%^&)";
option.setName(fileName);
//아래 주석을 해제하면 파일을 브라우저를 통하여 확인할 수 있다.
// 단, 브라우저에 문서 뷰어 플러그인이 존재하는 경우 가능.
//response.setContentType("application/pdf");
//response.setHeader("Content-Disposition", "inline; filename=" + fileName + ";");
/*
try { */
// 웹 브라우저를 통하여 파일을 다운로드 받을 때 아래의 코드를 사용.
reportUtil.sendExport(Request,Response, oof, option);
// 파일 저장시 아래 코드 사용.
//File directory = new File("저장될 파일이 위치할 디렉토리");
//reportUtil.saveExport(directory, oof, option);
/*
} catch(OutOfLicenseException e) {
e.printStackTrace();
// 라이센스 없음.
} catch(CRFFileNotFoundException e) {
e.printStackTrace();
// CRF (혹은 reb) 파일 찾을 수 없음.
} catch(ServerConnectionFailExecption e) {
e.printStackTrace();
// 서버와 연결할 수 없음.
} catch(APIRemoteCallErrorException e) {
e.printStackTrace();
// 어떠한 이유로 API 를 호출할 수 없음. (주로 네트워크 오류)
} catch(APIFailException e) {
e.printStackTrace();
// API 호출 실패.
}
*/
return;
%>