• 검색 결과가 없습니다.

뷰어 고급 옵션

문서에서 2. 오즈 환경 (페이지 158-161)

3. 보고서 출력

3.4 뷰어 고급 옵션

viewer.useprogressbar=false

<!-- 뷰어 실행시 프로그레스 바 감춤 -->

viewer.mode=print

<!-- 미리보기 없이 바로 인쇄 -->

print.mode=true

<!-- 인쇄창 표시 여부 : true(기본값)/showprogress/silent -->

print.copies=2

<!-- 인쇄 매수 설정 -->

print.once=false

<!-- 보고서 인쇄를 한번만 할지 여부 -->

print.printername=DEFAULT_PRINTER

<!-- 인쇄할 프린터명 -->

print.size=A4

<!-- 인쇄 용지 크기 -->

가. 미리보기 없이 보고서 인쇄

보고서를 미리보기 하면서 동시에 인쇄를 하거나 다른 파일로 저장하려면 ‘viewer.mode’ 패러미터에 ‘preview’,

‘export’, ‘print’를 ‘,’ 나 ‘/’로 구분하여 여러 개를 설정해야 합니다. ‘print’ → ‘export’ → ‘preview’ 순서로 실행됩니다.

다. 동시에 보고서 인쇄, 저장, 미리보기

viewer.mode=print,export,preview

보고서 미리보기 없이 인쇄, 저장의 동작은 ActiveX, Applet, WPF 뷰어에서 가능합니다.

TIP

3.4 뷰어 고급 옵션

viewer.childcount=2

<!-- 메인 보고서 외의 보고서 개수 -->

viewer.ismultidocassub=true

<!-- 차일드가 메인 보고서에 종속 여부 -->

viewer.focus_doc_index=0

<!-- 맨 위에 표시할 보고서번호(0:메인,-1:마지막)-->

viewer.showtree=true

<!-- 트리 보기 -->

global.concatpage=true

<!-- 한 보고서처럼 페이지 번호가 연결됨 -->

connection.displayname=메인보고서

<!-- 트리에 보여질 보고서 이름 -->

connection.servlet=http://127.0.0.1:8080/oz/server

connection.reportname=/OZwork/design/band/밴드개요.ozr child1.connection.displayname=서브보고서1

child1.connection.servlet=http://127.0.0.1:8080/oz/server

child1.connection.reportname=/OZwork/design/band/더미밴드.ozr child2.connection.displayname=서브보고서2

child2.connection.servlet=http://127.0.0.1:8080/oz/server

child2.connection.reportname=/OZwork/design/band/사이드밴드.ozr

여러 보고서를 한 뷰어에 보여주는 것을 멀티 보고서라고 합니다.

사. 멀티 보고서

3.4 뷰어 고급 옵션 3. 보고서 출력

바. 페이지 축소판 보기

‘페이지 축소판 보기’ 를 선택하면 왼쪽 트리 창에 썸네일이 표시됩니다.

뷰어의 보기 메뉴, 다른 메뉴, 툴바에서 선택이 가능합니다.

viewer.showtree=true

<!-- 보고서바인딩후 트리창바로표시-->

viewer.showthumbnail=true <!--보고서 바인딩 후 트리 창에 썸네일 표시-->

toolbar.showthumbnail=true <!-- 툴바에 페이지 축소판 보기 아이콘 표시 -->

아. 뷰어 이벤트

오즈 뷰어에서 발생하는 이벤트를 외부 프로그램에서 함수로 받아 처리할 수 있습니다.

<!-- 프린트 이후 호출되는 이벤트 -->

<script language="JavaScript" for="ozviewer" event="OZPrintCommand(msg, code, reportname, printername,

printcopy, printpages, printrange, username)">

if (code == "0") { // "1" : 출력실패, "0" : 출력성공

alert("<OZPrintCommand> "+reportname+" 보고서를 " + printcopy + "매 인쇄하였습니다.");

}

</script>

<object id="ozviewer" width="100%" height="100%" CLASSID="CLSID:0DEF32F8-170F-46f8-B1FF-4BF7443F5F25">

<param name="connection.servlet" value="http://127.0.0.1:8080/oz51/server">

<param name="connection.reportname" value="/OZwork/exercise/ex5/지역별자동차판매현황.ozr">

<param name="viewer.namespace" value="OZEduSystem\ozviewer">

<param name="viewer.isframe" value="false">

<param name="viewer.printcommand" value="true"> <!-- 뷰어 인쇄 이벤트 사용 -->

<param name="print.lockopt" value="true"> <!-- 인쇄 속성 사용자 변경 못하게 함 -->

<param name="print.once" value="true"> <!-- 한번만 인쇄 가능 -->

</object>

오즈 뷰어의 메뉴나 툴바의 기능을 외부 프로그램에서 제어할 수 있습니다.

자. 외부 프로그램에서 뷰어 기능 제어하기

3.4 뷰어 고급 옵션 3. 보고서 출력

<input type="button" value="보고서 저장" onclick="document.ozviewer.Script('save')">

<input type="button" value="보고서 인쇄”

onclick="document.ozviewer.ScriptEx('print','print.mode=false;print.copies=2',';')"> <!-- 2매 바로 인쇄 -->

<input type="button" value="원형차트로 변경" onclick="document.ozviewer.Document.SetChartStyle('Pie')">

<input type="button" value="전체페이지 확인"

onclick="alert(document.ozviewer.GetInformation('TOTAL_PAGE') + ' 페이지')">

<input type="button" value="오즈 서버 상태 확인“

onclick="if(document.ozviewer.Document.PingOZServer('http://127.0.0.1:8080/oz/server')) {alert('정상') }

else { alert('비정상') }">

<input type="button" value="다른 보고서 출력"

onclick="document.ozviewer.CreateReportEx('connection.servlet=http://127.0.0.1:8080/oz/server\nconnection.reportnam e=/OZwork/overview/고객연락처.ozr\nviewer.namespace=OZEduSystem\\ozviewer', '\n')"> <!-- 설정한 뷰어 패러미터로 뷰어에서 보고서 다시 바인딩 -->

<object id="ozviewer" width="100%" height="100%" … <!-- 보고서 호출 -->

<param name="connection.servlet" value="http://127.0.0.1:8080/oz/server">

<param name="connection.reportname" value="/OZwork/exercise/ex7/지역별판매금액.ozr">

<param name="viewer.usemenubar" value="false"><!-- 뷰어 메뉴바 숨기기 -->

<param name="viewer.usetoolbar" value="false"> <!-- 뷰어 툴바 숨기기 -->

이벤트 시점 뷰어 패러미터 함수

미리보기 완료 후 viewer.postcommand=cmd;msg OZPostCommand(cmd, msg)

보고서 생성 중 viewer.progresscommand=true OZProgressCommand(step, state, reportname)

보고서 인쇄 후 viewer.printcommand=true OZPrintCommand(msg, code, reportname, printername, printcopy, printedpage, printrange, username, driverna me)

보고서 저장 후 viewer.exportcommand=true OZExportCommand(code, path, filename)

메일 전송 후 viewer.mailcommand=true OZMailCommand(code)

링크 발생 시

(setLinkEvent 실행시) viewer.linkcommand=true OZLinkCommand(docindex, componentname, usertag, uservalue, mousebutton)

에러 발생 시 viewer.errorcommand=true OZErrorCommand(code, msg, detailmsg) 특정 기능 실행 시 viewer.useractioncommand=true OZUserActionCommand(type, attr)

별도 창으로 띄운

뷰어 종료 시 viewer.exitcommand=true OZExitCommand()

화면에 표시되는 페이지

가 변경된 후 발생 viewer.pagechangecommand=true OZPageChangeCommand(docindex) 화면에 표시되는 보고서

가 변경된 후 발생 viewer.reportchangecommand=true OZReportChangeCommand(docindex)

3.5 UI 연동

문서에서 2. 오즈 환경 (페이지 158-161)

관련 문서