이 화면은 전용브라우저 환경에서 로컬 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(''));
}