로컬 PDF 파일 직접 보기 가이드
이 화면은 전용브라우저 환경에서 로컬 PC에 있는 PDF 파일을 보기위한 샘플 화면이다.
예시
템플릿 위치: /HTML5/UTIL/XPLUS/xplus_localpdfviewer
템플릿 파일
화면 스크립트
function screen_on_load() { } // "PDF 로드" 버튼 이벤트 function btn_loadlocalpdf_on_mouseup(objInst) { var file_object; // PDF 파일에 대한 파일 오브젝트 생성 file_object = factory.xpluscreatefileobject("C:\\xFrame5\\doc\\92_xFrame5_Browser_Guide.pdf"); if (file_object) { // 파일 오브젝트를 내용에 대한 데이터 URL 생성 factory.createdataurlbyobject(file_object, screen, "on_dataurl_complete", "92_xFrame5_Browser_Guide.pdf"); } } // 파일 오브젝트에서 Data URL 생성 완료 콜백 function on_dataurl_complete(data_url, data_url_name) { var data_start_pos, html_arr; // 데이터 URL에서 데이터만 추출 data_start_pos = data_url.indexOf(','); if (data_start_pos > -1) { data_url = data_url.substr(data_start_pos + 1); } LoadPdfInDiv(data_url); LoadPdfInWebBrowser(data_url); } // DIV 컴포넌트 내부에 PDF 표시, PDF 툴바 표시 불가 function LoadPdfInDiv(pdf_data) { var html_arr; html_arr = []; html_arr.push('<object'); html_arr.push(' type="application/pdf"'); html_arr.push(' style="position:absolute;display:block;padding:0px;margin:0px;width:100%;height:100%;"'); html_arr.push(' data="data:application/pdf;base64,'); html_arr.push(pdf_data); html_arr.push('">"'); // html_arr.push('<embed' // html_arr.push(' type="application/pdf"'); // html_arr.push(' style="position:absolute;display:block;padding:0px;margin:0px;width:100%;height:100%;"'); // html_arr.push(' src="data:application/pdf;base64,'); // html_arr.push(pdf_data); // html_arr.push('"/>"'); html_arr.push('</object>'); div.setinnerhtml(html_arr.join("")); } // 웹브라우저 컴포넌트 내부에 PDF 표시, PDF 툴바 자동 표시되며, 툴바 표시/숨김 제어 불가 function LoadPdfInWebBrowser(pdf_data) { var html_tbody, html_arr; html_arr = []; html_arr.push('<!doctype html>'); html_arr.push('<html lang="ko">'); html_arr.push('<head>'); html_arr.push('<meta charset="utf-8">'); html_arr.push('<meta name="viewport" content="width=device-width, initial-scale=1">'); html_arr.push('<meta http-equiv="cache-control" content="no-cache">'); html_arr.push('<meta http-equiv="pragma" content="no-cache">'); html_arr.push('</head>'); html_arr.push('<body style="margin:0px;padding:0px;">'); html_arr.push('<object'); html_arr.push(' type="application/pdf"'); html_arr.push(' style="position:absolute;display:block;padding:0px;margin:0px;width:100%;height:100%;"'); html_arr.push(' data="data:application/pdf;base64,'); html_arr.push(pdf_data); html_arr.push('">"'); // html_arr.push('<embed' // html_arr.push(' type="application/pdf"'); // html_arr.push(' style="position:absolute;display:block;padding:0px;margin:0px;width:100%;height:100%;"'); // html_arr.push(' src="data:application/pdf;base64,'); // html_arr.push(pdf_data); // html_arr.push('"/>"'); html_arr.push('</object>'); html_arr.push('</body>'); html_arr.push('</html>'); // 웹브라우저 컴포넌트 내부 HTML 내용 설정, 페이지 로드 완료시, on_pageload 이벤트 발생함 this.web.sethtml(html_arr.join('')); }