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)