KR20140003788A - 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 - Google Patents

하이퍼텍스트 생성 언어 변환 장치 및 그 방법 Download PDF

Info

Publication number
KR20140003788A
KR20140003788A KR1020120070124A KR20120070124A KR20140003788A KR 20140003788 A KR20140003788 A KR 20140003788A KR 1020120070124 A KR1020120070124 A KR 1020120070124A KR 20120070124 A KR20120070124 A KR 20120070124A KR 20140003788 A KR20140003788 A KR 20140003788A
Authority
KR
South Korea
Prior art keywords
html
document
electronic document
user terminal
information
Prior art date
Application number
KR1020120070124A
Other languages
English (en)
Inventor
전경헌
강중빈
김지완
Original Assignee
(주) 사이냅소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 사이냅소프트 filed Critical (주) 사이냅소프트
Priority to KR1020120070124A priority Critical patent/KR20140003788A/ko
Publication of KR20140003788A publication Critical patent/KR20140003788A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Abstract

본 명세서는 임의의 전자 문서를 페이지 단위로 임의의 사용자 단말기에 설치된 웹 브라우저에 대응하는 HTML 파일로 변환하고, 상기 페이지별로 변환된 HTML 파일을 상기 사용자 단말기에 전달할 수 있는 HTML 변환 장치 및 그 방법에 관한 것이다. 이를 위하여 본 명세서의 실시예에 따른 HTML 변환 장치는, 임의의 사용자 단말기에 전달한 하나 이상의 전자 문서에 대한 정보에 응답하여, 상기 사용자 단말기로부터 전달되는 기본 정보 및 상기 사용자 단말기에 설치된 웹 브라우저에 대한 정보를 수신하고, 상기 사용자 단말기에 전자 문서의 페이지별로 생성된 HTML 파일을 전달하는 HTML 변환 장치에 있어서, 상기 HTML 변환 장치는, 상기 수신된 기본 정보에 문서 선택 정보가 포함될 때, 상기 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 대응하는 전자 문서를 확인하고, 백그라운드 상태에서 상기 확인된 전자 문서에 대한 HTML 변환을 수행하는 제어부; 상기 제어부를 통해 상기 문서 선택 정보를 포함하는 기본 정보를 수신할 때 백그라운드 상태로 상기 확인된 전자 문서의 포맷을 확인하는 문서 포맷 탐지부; 상기 백그라운드 상태로 상기 전자 문서의 속성 정보를 확인하는 문서 분석부; 상기 백그라운드 상태로 상기 전자 문서를 페이지별로 분리하고, 상기 분리된 각각의 페이지에 포함된 하나 이상의 객체를 확인하며, 상기 확인된 하나 이상의 객체에 대한 페이지 객체별 속성 정보를 확인한 후, 상기 확인된 하나 이상의 객체 중에서 기설정된 벡터 변환 가능 객체를 상기 수신된 상기 사용자 단말기에 설치된 웹 브라우저에서 지원하는 벡터 포맷에 맞추어 재구성하거나 벡터 구현 스크립트를 통해 재구성하는 객체 관리부; 및 상기 재구성된 객체 및 상기 확인된 하나 이상의 객체 중에서 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체를 비율에 따른 크기 조절이 가능하도록 각각 HTML화하여 상기 전자 문서의 각각의 페이지에 대응하는 HTML 파일을 생성하는 HTML 태거;를 포함하며, 상기 제어부는, 상기 백그라운드 상태에서 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달한다.

Description

하이퍼텍스트 생성 언어 변환 장치 및 그 방법{HTML conversion apparatus and method thereof}
본 명세서는 HTML 변환 장치 및 그 방법에 관한 것으로, 더욱 상세히는 임의의 전자 문서를 페이지 단위로 임의의 사용자 단말기에 설치된 웹 브라우저에 대응하는 HTML 파일로 변환하고, 상기 페이지별로 변환된 HTML 파일을 상기 사용자 단말기에 전달할 수 있는 HTML 변환 장치 및 그 방법에 관한 것이다.
일반적으로, 오피스 문서와 같은 임의의 전자 문서는, 일반적으로 개인용 컴퓨터에서 생성되며, 각자 독자적인 데이터 포맷을 가진다. 따라서, 해당 전자 문서를 개인용 컴퓨터가 아닌 다른 장치에 출력하고자 하는 경우, 예를 들어, 웹 브라우저나 모바일 장치의 브라우저에 출력하고자 하는 경우, 전자 문서를 HTML 형식으로 변환하는 HTML 변환 장치가 필요하게 된다. 이와 같이, 전자 문서를 HTML 변환하여 웹 브라우저에서 활용하고자 할 경우, 전자 문서를 생성할 때 사용된 애플리케이션 프로그램에서 HTML 형식으로 저장하고, 상기 HTML 형식으로 저장된 파일을 웹 브라우저를 통해 출력하게 되며, 상기 과정들에서 상기 전자 문서를 생성할 때 사용된 애플리케이션 프로그램을 필요로 하는 문제점이 있다.
또한, 상기 HTML 변환 장치는, 애플리케이션 프로그램이 HTML로 저장하는 기능을 지원하지 않을 경우, 상기 전자 문서를 HTML 형식으로 변환할 수 없는 문제점이 있다.
또한, 이러한 상기 HTML 변환 장치는, 생성된 HTML 파일이 페이지 단위로 구분되지 못하고, 모든 변환 작업이 완료된 후에야, 전체 HTML 파일을 웹 브라우저에 출력할 수 있는 등 사용자 응답 시간이 오래 걸리는 문제점이 있다.
또한, 상기 HTML 변환 장치는, 전자 문서의 생성된 사용된 애플리케이션 프로그램에 종속되어 여러 애플리케이션 프로그램으로부터 공통된 HTML 출력을 생성하기 위한 별도의 부가적인 과정을 필요로 하는 문제점이 있다.
한국 특허 출원 번호 제10-2004-0070051호
본 명세서의 목적은, 임의의 애플리케이션 프로그램에서 생성된 다양한 형식의 전자 문서를 페이지별로 HTML 형식의 파일로 변환하는 HTML 변환 장치 및 그 방법을 제공하는 데 있다.
본 명세서의 다른 목적은, 임의의 전자 문서를 각 페이지별로 리사이징할 수 있는(resizable) HTML(또는, HTML 파일)을 생성하고, 임의의 사용자 단말기의 웹 브라우저의 스크롤(또는, 스크롤 이벤트/스크롤 신호)에 따라 동적으로 상기 생성된 페이지별 HTML 파일을 전송하는 HTML 변환 장치 및 그 방법을 제공하는 데 있다.
본 명세서의 또 다른 목적은, 전자 문서에 포함된 차트, 그래픽, 수식 등의 다양한 객체들을 벡터 그래픽(vector graphics)으로 변환하고, 상기 벡터 그래픽으로 변환된 객체들을 임의의 사용자 단말기에 제공하는 HTML 변환 장치 및 그 방법을 제공하는 데 있다.
본 명세서의 실시예에 따른 HTML 변환 장치는, 임의의 사용자 단말기에 전달한 하나 이상의 전자 문서에 대한 정보에 응답하여, 상기 사용자 단말기로부터 전달되는 기본 정보 및 상기 사용자 단말기에 설치된 웹 브라우저에 대한 정보를 수신하고, 상기 사용자 단말기에 전자 문서의 페이지별로 생성된 HTML 파일을 전달하는 HTML 변환 장치에 있어서, 상기 HTML 변환 장치는, 상기 수신된 기본 정보에 문서 선택 정보가 포함될 때, 상기 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 대응하는 전자 문서를 확인하고, 백그라운드 상태에서 상기 확인된 전자 문서에 대한 HTML 변환을 수행하는 제어부; 상기 제어부를 통해 상기 문서 선택 정보를 포함하는 기본 정보를 수신할 때 백그라운드 상태로 상기 확인된 전자 문서의 포맷을 확인하는 문서 포맷 탐지부; 상기 백그라운드 상태로 상기 전자 문서의 속성 정보를 확인하는 문서 분석부; 상기 백그라운드 상태로 상기 전자 문서를 페이지별로 분리하고, 상기 분리된 각각의 페이지에 포함된 하나 이상의 객체를 확인하며, 상기 확인된 하나 이상의 객체에 대한 페이지 객체별 속성 정보를 확인한 후, 상기 확인된 하나 이상의 객체 중에서 기설정된 벡터 변환 가능 객체를 상기 수신된 상기 사용자 단말기에 설치된 웹 브라우저에서 지원하는 벡터 포맷에 맞추어 재구성하거나 벡터 구현 스크립트를 통해 재구성하는 객체 관리부; 및 상기 재구성된 객체 및 상기 확인된 하나 이상의 객체 중에서 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체를 비율에 따른 크기 조절이 가능하도록 각각 HTML화하여 상기 전자 문서의 각각의 페이지에 대응하는 HTML 파일을 생성하는 HTML 태거;를 포함하며, 상기 제어부는, 상기 백그라운드 상태에서 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달할 수 있다.
본 명세서와 관련된 일 예로서, 상기 기본 정보는, 상기 하나 이상의 전자 문서 중에서 선택된 어느 하나의 전자 문서에 대한 정보와 상기 선택된 전자 문서에 대한 기능 정보를 포함하며, 상기 기능 정보는, 문서 삭제, 문서 선택, 문서 보기 및, 문서 인쇄 중 적어도 하나를 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 제어부는, 상기 백그라운드 상태에서 상기 확인된 전자 문서에 대한 HTML 변환 수행 중, 작업 확인 메시지를 생성하여 상기 생성된 작업 확인 메시지를 미리 설정된 시점에 상기 사용자 단말기에 전달하고, 상기 전달된 작업 확인 메시지에 응답하여 상기 사용자 단말기로부터 전달되는 응답 메시지를 근거로 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달할 수 있다.
본 명세서와 관련된 일 예로서, 상기 작업 확인 메시지는, 임의의 텍스트와 하나 이상의 버튼 정보를 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 제어부는, 상기 확인된 전자 문서에 대응하여 HTML 변환된 파일이 저장부에 미리 저장되어 있는지 여부를 확인하고, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부에 미리 저장되어 있을 때, 상기 사용자 단말기로부터 전달되는 응답 메시지를 근거로 상기 미리 저장된 상기 전자 문서에 대응하여 HTML 변환된 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달할 수 있다.
본 명세서와 관련된 일 예로서, 상기 페이지의 속성 정보는, 페이지 번호, 용지 크기, 용지 방향 및, 마스터 여부 중 적어도 하나를 포함하며, 상기 페이지 객체별 속성 정보는, 스타일 속성 정보, 이미지 속성 정보, 표 속성 정보, 형상 속성 정보, 수식 속성 정보, 차트 속성 정보 및, OLE 객체 속성 정보 중 적어도 하나를 포함하며, 상기 스타일 속성 정보는, 각 개체의 위치 또는 배치, 폰트, 글자 크기, 길이, 자간, 줄간 및, 색상 중 적어도 하나를 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 객체 관리부는, 상기 사용자 단말기에 설치된 웹 브라우저가 인터넷 익스플로러 계열일 때, 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 VML 형태로 변환하고, 상기 사용자 단말기에 설치된 웹 브라우저가 파이어폭스, 오페라, 사파리 및, 구글 크롬일 때, 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 SVG 형태로 변환하고, 상기 사용자 단말기에 설치된 웹 브라우저가 상기 VML 형태 및 상기 SVG 형태를 지원하지 않을 때, 자바스크립트를 통해 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 상기 웹 브라우저의 캔버스 엘리먼트에 직접 그림을 그리는 형태로 변환할 수 있다.
본 명세서와 관련된 일 예로서, 상기 제어부는, 상기 사용자 단말기로부터 전달되는 스크롤 신호를 근거로 상기 백그라운드 상태에서 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 상기 수신된 스크롤 신호에 대응하는 HTML 파일을 상기 사용자 단말기에 전달할 수 있다.
본 명세서와 관련된 일 예로서, 상기 스크롤 신호는, 상기 사용자 단말기에 설치된 웹 브라우저의 일 측에 표시되는 상하 스크롤이 동작하는 경우, 상기 웹 브라우저 또는 상기 사용자 단말기의 일 측에 구비된 페이지 넘김 버튼이 선택되는 경우, 상기 사용자 단말기와 연동되는 마우스에 구비된 마우스 스크롤 휠이 동작하는 경우 및, 상기 사용자 단말기의 디스플레이부에 대한 미리 설정된 패턴의 슬라이딩 터치 동작이 감지되는 경우 중 적어도 하나에 해당하는 미리 설정된 사용자 스크롤이 발생할 때, 상기 사용자 단말기에서 생성되는 신호일 수 있다.
본 명세서와 관련된 일 예로서, 상기 HTML 태거는, 페이지를 기반으로 한 비례형 HTML을 생성할 수 있다.
본 명세서의 실시예에 따른 HTML 변환 방법은, 임의의 사용자 단말기에 전달한 하나 이상의 전자 문서에 대한 정보에 응답하여, 상기 사용자 단말기로부터 전달되는 기본 정보 및 상기 사용자 단말기에 설치된 웹 브라우저에 대한 정보를 수신하고, 상기 사용자 단말기에 전자 문서의 페이지별로 생성된 HTML 파일을 전달하는 HTML 변환 장치의 HTML 변환 방법에 있어서, 상기 HTML 변환 장치에 포함된 제어부를 통해, 상기 수신된 기본 정보에 문서 선택 정보가 포함될 때, 상기 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 대응하는 전자 문서를 확인하는 단계; 백그라운드 상태로 상기 HTML 변환 장치에 포함된 문서 포맷 탐지부를 통해, 상기 확인된 전자 문서의 포맷을 확인하는 단계; 상기 백그라운드 상태로 상기 HTML 변환 장치에 포함된 문서 분석부를 통해, 상기 전자 문서의 속성 정보를 확인하는 단계; 상기 백그라운드 상태로 상기 HTML 변환 장치에 포함된 객체 관리부를 통해, 상기 전자 문서를 페이지별로 분리하는 단계; 상기 백그라운드 상태로 상기 객체 관리부를 통해, 상기 분리된 각각의 페이지에 포함된 하나 이상의 객체를 확인하는 단계; 상기 백그라운드 상태로 상기 객체 관리부를 통해, 상기 확인된 하나 이상의 객체에 대한 페이지 객체별 속성 정보를 확인하는 단계; 상기 백그라운드 상태로 상기 객체 관리부를 통해, 상기 확인된 하나 이상의 객체 중에서 기설정된 벡터 변환 가능 객체를 상기 수신된 사용자 단말기에 설치된 웹 브라우저에서 지원하는 벡터 포맷에 맞추어 재구성하거나 벡터 구현 스크립트를 통해 재구성하는 단계; 상기 HTML 변환 장치에 포함된 HTML 태거를 통해, 상기 재구성된 객체 및 상기 확인된 하나 이상의 객체 중에서 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체를 비율에 따른 크기 조절이 가능하도록 각각 HTML화하여 상기 전자 문서의 각각의 페이지에 대응하는 HTML 파일을 생성하는 단계; 및 상기 제어부를 통해, 상기 백그라운드 상태에서 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달하는 단계;를 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 수신된 기본 정보에 대응하는 전자 문서를 확인하는 단계는, 상기 제어부를 통해, 상기 백그라운드 상태에서 상기 확인된 전자 문서에 대한 HTML 변환 수행 중, 작업 확인 메시지를 생성하여 상기 생성된 작업 확인 메시지를 미리 설정된 시점에 상기 사용자 단말기에 전달하는 과정;을 더 포함하고, 상기 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달하는 단계는, 상기 제어부를 통해, 상기 전달된 작업 확인 메시지에 응답하여 상기 사용자 단말기로부터 전달되는 응답 메시지를 근거로 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달할 수 있다.
본 명세서와 관련된 일 예로서, 상기 전자 문서의 페이지별 HTML 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달하는 단계는, 상기 제어부를 통해, 상기 확인된 전자 문서에 대응하여 HTML 변환된 파일이 저장부에 미리 저장되어 있는지 여부를 확인하는 과정; 및 상기 확인 결과, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부에 미리 저장되어 있을 때, 상기 사용자 단말기로부터 전달되는 응답 메시지를 근거로 상기 미리 저장된 상기 전자 문서에 대응하여 HTML 변환된 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기에 우선 전달하는 과정;을 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 확인된 하나 이상의 객체를 상기 수신된 사용자 단말기에 설치된 웹 브라우저에서 지원하는 형태로 변환하는 단계는, 상기 객체 관리부를 통해, 상기 사용자 단말기에 설치된 웹 브라우저가 인터넷 익스플로러 계열일 때, 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 VML 형태로 변환하는 과정; 상기 객체 관리부를 통해, 상기 사용자 단말기에 설치된 웹 브라우저가 파이어폭스, 오페라, 사파리 및, 구글 크롬일 때, 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 SVG 형태로 변환하는 과정; 및 상기 객체 관리부를 통해, 상기 사용자 단말기에 설치된 웹 브라우저가 상기 VML 형태 및 상기 SVG 형태를 지원하지 않을 때, 자바스크립트를 통해 상기 확인된 하나 이상의 객체 중에서 상기 변환이 필요한 객체를 상기 웹 브라우저의 캔버스 엘리먼트에 직접 그림을 그리는 형태로 변환하는 과정;을 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 제어부를 통해, 상기 사용자 단말기로부터 전달되는 스크롤 신호를 근거로 상기 백그라운드 상태에서 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 상기 수신된 스크롤 신호에 대응하는 HTML 파일을 상기 사용자 단말기에 전달하는 단계;를 더 포함할 수 있다.
본 명세서와 관련된 일 예로서, 상기 전자 문서의 각각의 페이지에 대응하는 HTML 파일을 생성하는 단계는, 페이지를 기반으로 한 비례형 HTML을 생성할 수 있다.
본 명세서의 실시예에 따른 HTML 변환 장치 및 그 방법은, 임의의 애플리케이션 프로그램에서 생성된 다양한 형식의 전자 문서를 페이지별로 HTML 형식의 파일로 변환함으로써, 상기 애플리케이션 프로그램이 설치되지 않은 임의의 장치에서도 해당 전자 문서를 확인할 수 있어, 사용자의 편의성 및 메모리 사용 효율을 향상시킬 수 있다.
또한, 본 명세서의 실시예에 따른 HTML 변환 장치 및 그 방법은, 임의의 전자 문서를 각 페이지별로 리사이징할 수 있는 HTML(또는, HTML 파일)을 생성하고, 임의의 사용자 단말기의 웹 브라우저의 스크롤(또는, 스크롤 이벤트/스크롤 신호)에 따라 동적으로 상기 생성된 페이지별 HTML 파일을 전송함으로써, 웹 브라우저의 종류나 사용자 단말기 해상도에 독립적이고 빠른 응답 시간을 가질 수 있다.
또한, 본 명세서의 실시예에 따른 HTML 변환 장치 및 그 방법은, 전자 문서에 포함된 차트, 그래픽, 수식 등의 다양한 객체들을 벡터 그래픽으로 변환하고, 상기 벡터 그래픽으로 변환된 객체들을 임의의 사용자 단말기에 제공함으로써, 상기 전자 문서에 포함된 다양한 객체들을 다양한 브라우저에서 출력할 수 있다.
도 1은 본 명세서의 실시예에 따른 HTML 변환 장치가 포함된 데이터 처리 시스템의 구성을 나타낸 블록도이다.
도 2는 본 명세서의 일 실시예에 따른 HTML 변환 장치의 구성을 나타낸 블록도이다.
도 3은 본 명세서의 일 실시예에 따른 HTML 변환 장치가 포함된 데이터 처리 시스템의 통신 과정을 보인 신호 흐름도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 명세서의 실시예에 따른 HTML 변환 장치가 포함된 데이터 처리 시스템의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 데이터 처리 시스템(10)은, HTML 변환 장치(100) 및, 사용자 단말기(200)로 구성된다. 도 1에 도시된 데이터 처리 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 데이터 처리 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 데이터 처리 시스템(10)이 구현될 수도 있다.
상기 HTML 변환 장치(100)는, 임의의 입력 장치(미도시)로부터 전달되는 하나 이상의 전자 문서를 수신하고, 상기 수신된 하나 이상의 전자 문서를 저장한다. 여기서, 상기 입력 장치는, 임의의 파일 시스템(file system), 메모리, 데이터베이스, 임의의 애플리케이션 프로세스/프로그램(예를 들어, 웹 메일, 게시판, 인트라넷, 전자결재, 웹 오피스, 모바일 오피스 등 포함), 터미널, 네트워크 서버 등 중 어느 하나일 수 있다.
또한, 상기 입력 장치는, 임의의 애플리케이션 프로그램을 구비하며, 상기 애플리케이션 프로그램을 통해 임의의 전자 문서(또는, 애플리케이션 데이터 또는, 문서)를 생성한다. 이때, 상기 전자 문서는, 임의의 웹 브라우저에서 HTML로 직접 표현 가능한 객체와 그렇지 못한 객체(예를 들어, VML(Vector Markup Language)이나 SVG(Scalable Vector Graphics) 등 또 다른 변환이 필요한 객체)를 포함하는 텍스트, 오피스 문서, 웹 페이지, XML 문서, 압축 파일, 네트워크 스트림 등일 수 있다. 여기서, 상기 전자 문서를 생성하기 위한 임의의 애플리케이션 프로그램은, 문서 작성 프로그램(예를 들어, 아래아한글, 워드 등 포함), 프레젠테이션 프로그램(예를 들어, 파워포인트, 키노트(Keynote) 등 포함), 스프레드시트 프로그램(예를 들어, 엑셀 등 포함), 오픈소스 오피스 프로그램(예를 들어, 스타오피스, 오픈오피스, 리브레오피스 등 포함), 웹 페이지 생성 프로그램(예를 들어, HTML 형식의 웹 페이지를 생성하는 드림위버, 나모웹 에디터 등 포함), PDF 파일 생성 프로그램(예를 들어, 아크로뱃 프로그램 등 포함), 메일 프로그램(예를 들어, MIME 포맷을 지원하는 아웃룩 등 포함), 수치 자료 및 문자열이 포함된 레코드를 생성하는 데이터베이스 프로그램, 표준화된 서식으로 저장된 자료를 주고받는 EDI(Electronic Data Interchange) 프로그램, 임의의 전자 문서 생성 애플리케이션 프로그램 등 중 어느 하나일 수 있다. 또한, 상기 애플리케이션 프로그램은, 상기 기재된 프로그램 이외에도, MHT 문서, CHM(Compiled Html Help) 문서, EML(E-mail) 문서, MIME 문서, 리치 텍스트 포맷(Rich Text Format : RTF), 핸디소프트 아리랑(HWD), 일태랑(JTD), 마이크로소프트 문서 이미징(Microsoft Document Imaging : MDI), 워드퍼펙트(WPD), 유니코드(UCS-2, UCS-4, UTF-8, BIG-ENDIAN, LITTLE-ENDIAN) 텍스트 파일 등을 지원하는 프로그램 등을 포함할 수 있다.
또한, 상기 입력 장치는, 상기 생성된 전자 문서를 상기 HTML 변환 장치(100)에 전달(또는, 전송)한다.
또한, 상기 HTML 변환 장치(100)는, 미리 설정된(또는, 정의된) 설정 데이터 또는 커맨드 라인 인터페이스(Command Line Interface : CLI) 또는 그래픽 사용자 인터페이스(Graphic User Interface : GUI) 등을 통해 상기 사용자 단말기(200)에 전달할 문서의 형태와 처리 방법을 제어한다.
즉, 상기 HTML 변환 장치(100)는, 일관된 프로그램 인터페이스 및 사용자 인터페이스를 제공하여, 서로 다른 형태의 전자 문서에서 문자열을 추출하기 위해서 단일한 인터페이스만을 필요로 한다.
또한, 상기 HTML 변환 장치(100)는, 상기 서로 다른 형태의 전자 문서에서 임의의 문자열, 그림, 표, 수식, 차트 등을 추출하기 위해서 상기 입력 장치에 각각 구비되는 상기 서로 다른 형태의 전자 문서를 각각 생성한 상기 임의의 애플리케이션 프로그램을 필요로 하지 않으며, 이로 인해 상기 전자 문서 생성을 위한 애플리케이션 프로그램과 상기 HTML 변환 장치(100)가 동일한 장치에 있지 않아도 되고, 상기 전자 문서 생성을 위한 애플리케이션 프로그램과 상기 HTML 변환 장치(100)가 서로 협력하여 동작할 필요도 없으며, 상기 입력 장치로부터 전달된 상기 애플리케이션 프로그램의 데이터 포맷으로 생성된 상기 전자 문서만을 이용하여 상기 전자 문서를 페이지별로 HTML 파일로 재구성(또는, 변환)한다.
또한, 상기 HTML 변환 장치(100)는, 상기 전자 문서 생성을 위한 애플리케이션 프로그램 및 관련된 프로그램의 일부분으로서 애플리케이션 프로그램을 보완하는 기능을 수행할 수 있다.
또한, 상기 HTML 변환 장치(100)는, 웹 메일, 게시판, 인트라넷, 전자결재, 웹 오피스, 모바일 오피스 프로그램 등과 같은 응용 프로그램에 HTML 파일(또는, 페이지별로 재구성된/변환된 HTML 파일)을 제공하기 위해서, 상기 애플리케이션 프로그램에 의해 생성된 전자 문서(또는, 출력 파일)를 처리하도록 동작하는 임의의 컴퓨터 프로그램을 포함한다. 또한, 상기 HTML 변환 장치(100)는, 임의의 컴퓨터 프로세스 및, 구조 등을 통해 구현될 수도 있다.
즉, 상기 HTML 변환 장치(100)는, 유닉스/리눅스/윈도 서버 컴퓨터, 개인용 컴퓨터(Personal Computer), 휴대용 컴퓨터, 태블릿, 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 텔레매틱스 단말기(Telematics Terminal), 노트북 컴퓨터(Notebook Computer), 디지털방송용 단말기, 개인 정보 단말기(Personal Digital Assistant : PDA), 와이브로 단말기(Wibro Terminal), IPTV(Internet Protocol Television) 단말기, 스마트 TV, AVN(Audio Video Navigation) 단말기, PMP(Portable Multimedia Player), 내비게이션 단말기(차량 내비게이션 장치)(Navigation Terminal) 등과 같은 다양한 단말기 중 어느 하나의 스마트 단말기에서 독립적인 프로그램으로 구현될 수 있을 뿐만 아니라, 부분적으로 지원할 수 있는 임의의 다른 형태의 컴퓨터 플랫폼과 같은 임의의 데이터 처리 시스템에서 동작하는 소프트웨어 요소로서 구현될 수 있다. 또한, 상기와 같은 구성에서, 상기 HTML 변환 장치(100)는, C, C++, C#, 오브젝티브 C(objective C), 자바(Java), 파이썬(Python), 루비(Ruby) 등을 포함하는 임의의 프로그래밍 언어로 작성된 컴퓨터 프로그램으로 구현할 수 있다.
또한, 상기 HTML 변환 장치(100)는, 복수의 서로 상이한 문서 형식을 지원할 수 있으며, 임의의 사용자 단말기(200)에 포함된 특정 애플리케이션을 위해 출력 결과를 변환시킬 수 있으며, 온라인 또는 배치 형태로 작동할 수 있는 등 세부적인 선택에 의해서 상기 HTML 변환 장치(100)에 포함된 하나 이상의 구성 요소를 변경할 수 있다.
또한, 상기 HTML 변환 장치(100)는, 하드-와이어드(hard-wired) 형태로 구현할 수 있다. 즉, 상기 HTML 변환 장치(100)는, ROM으로 구현하거나, ASIC 또는 다른 단일-칩 시스템 내에 통합하거나, 근거리 또는 원거리로 저장되며 특정 장치의 필요에 의해 패치되어 실행되는 소프트웨어 또는 펌웨어(예를 들어, 플래시 가능한 ePROM과 같은 프로그램 가능한 ROM)로 구현할 수도 있다.
또한, 상기 HTML 변환 장치(100)는, 미리 저장된 상기 하나 이상의 전자 문서에 대한 정보(예를 들어, 전자 문서 목록)를 상기 사용자 단말기(200)에 전달(또는, 전송)하고, 상기 전달된 하나 이상의 전자 문서에 대한 정보에 응답하여 상기 사용자 단말기(200)로부터 전달되는 기본 정보 및 상기 사용자 단말기(200)에 설치된 웹 브라우저(web browser)에 대한 정보를 수신한다.
또한, 상기 HTML 변환 장치(100)는, 상기 수신된 기본 정보를 근거로 상기 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 대응하는 해당 전자 문서를 확인하고, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 근거로 상기 확인된 전자 문서를 페이지 단위 HTML 파일로 재구성한(또는, 변환한) 후, 상기 사용자 단말기(200)의 전송 요청(예를 들어, 스크롤 신호)에 따라 상기 재구성된 HTML 파일을 상기 사용자 단말기(200)에 순차적으로 전달한다.
또한, 상기 HTML 변환 장치(100)는, 도 2에 도시한 바와 같이, 통신부(110), 제어부(120), 문서 포맷 탐지부(130), 복수의 문서 분석부(140), 객체 관리부(150), HTML 태거(160), 사용자 인터페이스부(170) 및, 저장부(180)로 구성된다. 도 2에 도시된 HTML 변환 장치(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 HTML 변환 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 HTML 변환 장치(100)가 구현될 수도 있다.
상기 통신부(110)는, 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 단말기(예를 들어, 상기 입력 장치, 상기 사용자 단말기(200) 등 포함)와 통신 연결한다. 여기서, 상기 무선 인터넷 기술로는, 무선랜(Wireless LAN : WLAN), 와이 파이(Wi-Fi), 와이브로(Wireless Broadband : Wibro), 와이맥스(World Interoperability for Microwave Access : Wimax), HSDPA(High Speed Downlink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution : LTE), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service : WMBS) 등이 포함될 수 있다. 또한, 근거리 통신 기술로는, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association : IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication; NFC) 등이 포함될 수 있다. 또한, 유선 통신 기술로는, 전력선 통신(Power Line Communication : PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다. 이때, 상기 통신부(110)는, 상기 임의의 유/무선 통신망뿐만 아니라, 임의의 파일 스트림 인터페이스(File Stream Interface), 메모리 스트림 인터페이스(Memory Stream Interface) 등을 포함할 수도 있다.
또한, 상기 통신부(110)는, 상기 제어부(120)의 제어에 의해, 상기 입력 장치로부터 전달되는 상기 하나 이상의 전자 문서를 수신한다.
또한, 상기 통신부(110)는, 상기 제어부(120)의 제어에 의해, 상기 저장부(180)에 저장된 상기 하나 이상의 전자 문서에 대한 정보(또는, 상기 전자 문서 목록)를 상기 사용자 단말기(200)에 전달한다.
또한, 상기 통신부(110)는, 상기 제어부(120)의 제어에 의해, 상기 사용자 단말기(200)와의 인터랙션 이벤트에 의해 작동한다.
상기 제어부(120)는, 상기 HTML 변환 장치(100)의 전반적인 제어 기능을 수행한다.
또한, 상기 제어부(120)는, 상기 통신부(110)를 통해 상기 입력 장치 또는 상기 사용자 단말기(200) 등과 통신 연결한다.
또한, 상기 제어부(120)는, 상기 저장부(180)에 저장된 하나 이상의 전자 문서에 대한 정보(또는, 전자 문서 목록)를 상기 통신부(110)를 통해 임의의 통신 연결된 상기 사용자 단말기(200)에 전달(또는, 전송)한다.
또한, 상기 제어부(120)는, 상기 전달된 전자 문서 목록에 응답하여 상기 사용자 단말기(200)로부터 전달되는 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 상기 통신부(110)를 통해 수신한다. 여기서, 상기 기본 정보는, 상기 사용자 단말기(200)의 사용자 선택(또는, 사용자 터치)에 따라 상기 전자 문서 목록에 포함된 상기 하나 이상의 전자 문서 중에서 선택된 어느 하나의 전자 문서에 대한 정보와 상기 선택된 전자 문서에 대한 기능 정보(예를 들어, 문서 삭제, 문서 선택, 문서 보기, 문서 인쇄 등 포함) 등을 포함한다. 또한, 상기 웹 브라우저(또는, 상기 웹 브라우저에 대한 정보)는, 인터넷 익스플로러, 파이어폭스, 오페라, 사파리 및, 구글 크롬 등을 포함한다.
또한, 상기 제어부(120)는, 상기 수신된 기본 정보에 대응하는 기능을 수행한다.
즉, 상기 제어부(120)는, 상기 수신된 기본 정보에 문서 삭제에 대한 기능 정보(또는, 문서 삭제 정보)가 포함된 경우, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 문서 삭제에 대한 기능 정보에 대응하는 전자 문서를 삭제한다.
또한, 상기 제어부(120)는, 상기 수신된 기본 정보에 문서 선택에 대한 기능 정보(또는, 문서 선택 정보)가 포함된 경우, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 문서 선택에 대한 기능 정보에 대응하는 전자 문서를 확인한다.
또한, 상기 제어부(120)는, 상기 수신된 기본 정보에 문서 선택에 대한 기능 정보가 포함되어 있음을 확인한 직후(또는, 상기 문서 선택에 대한 기능 정보가 포함된 상기 기본 정보를 수신한 직후), 상기 통신부(110), 상기 문서 포맷 탐지부(130), 상기 복수의 문서 분석부(140), 상기 객체 관리부(150), 상기 HTML 태거(160), 상기 사용자 인터페이스부(170) 및, 상기 저장부(180) 등을 제어하여, 백그라운드 상태(background state)로 상기 확인된 해당 전자 문서를 페이지별로 HTML 파일로 생성(또는, 재구성/변환)한다.
또한, 상기 제어부(120)는, 상기 백그라운드 상태에서 상기 전자 문서에 대한 HTML 변환 과정 수행 중에, 작업 확인 메시지를 생성하고, 미리 설정된 임의의 시점(예를 들어, 상기 기본 정보를 수신한 후 2초 이후)에 상기 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전달한다. 여기서, 상기 작업 확인 메시지는, 임의의 텍스트(또는, 문자열)(예를 들어, "선택된 문서/파일을 HTML 파일로 변환하시겠습니까?)와 하나 이상의 버튼 정보(예를 들어, 확인 버튼, 취소 버튼 등 포함) 등을 포함한다.
또한, 상기 제어부(120)는, 상기 확인된 전자 문서에 대응하여 HTML 변환된 파일이 임의의 하나 이상의 전자 문서에 각각 대응하여 HTML 변환된 파일을 미리 저장하는 상기 저장부(180)에 저장되어 있는지 여부를 확인한다.
또한, 상기 제어부(120)는, 상기 확인 결과, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 미리 저장되어 있지 않은 경우에는, 상기 설명한 바와 같이, 상기 전자 문서에 대한 HTML 변환 과정을 수행한다.
또한, 상기 제어부(120)는, 상기 확인 결과, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 미리 저장되어 있는 경우에는, 상기 설명한 상기 전자 문서에 대한 HTML 변환 과정을 생략하고, 상기 저장부(180)에 미리 저장된 상기 전자 문서에 대응하여 HTML 변환된 파일을 이용한다.
또한, 상기 제어부(120)는, 상기 전달된 작업 확인 메시지에 응답하여 상기 사용자 단말기(200)로부터 전달되는 응답 메시지를 상기 통신부(110)를 통해 수신한다. 여기서, 상기 응답 메시지는, 상기 확인 버튼 또는 상기 취소 버튼에 대한 응답 정보를 포함한다.
또한, 상기 제어부(120)는, 상기 수신된 응답 메시지를 근거로 상기 응답 메시지에 대응하는 기능을 수행한다.
즉, 상기 제어부(120)는, 상기 수신된 응답 메시지에 취소 버튼에 대한 응답 정보가 포함된 경우, 상기 전자 문서와 관련된 전체 과정을 종료한다.
또한, 상기 제어부(120)는, 상기 수신된 응답 메시지에 확인 버튼에 대한 응답 정보가 포함된 경우, 상기 백그라운드 상태로 상기 구성 요소들(예를 들어, 상기 통신부(110), 상기 문서 포맷 탐지부(130), 상기 복수의 문서 분석부(140), 상기 객체 관리부(150), 상기 HTML 태거(160), 상기 사용자 인터페이스부(170) 및, 상기 저장부(180) 등 포함)을 통해 생성되는 상기 전자 문서의 페이지별 HTML 파일(또는, 벡터 그래픽 기반의 HTML 파일) 중에서 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일(또는, 첫 번째 HTML 파일)을 상기 통신부(110)를 통해 상기 사용자 단말기(200)에 우선적으로 전달한다.
또한, 상기 제어부(120)는, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 미리 저장되어 있는 상태에서, 상기 수신된 응답 메시지에 확인 버튼에 대한 응답 정보가 포함된 경우, 상기 저장부(180)에 미리 저장된 상기 전자 문서에 대응하여 HTML 변환된 파일 중에서 첫 번째 페이지에 대응하는 HTML 파일(또는, 첫 번째 HTML 파일)을 상기 통신부(110)를 통해 상기 사용자 단말기(200)에 우선적으로 전달한다.
또한, 상기 제어부(120)는, 상기 사용자 단말기(200)로부터 전달되는 스크롤 신호를 상기 통신부(110)를 통해 수신한다. 여기서, 상기 스크롤 신호는, 상기 사용자 단말기(200)에서 미리 설정된 사용자 스크롤에 대응하여 생성되는 신호이다. 이때, 상기 미리 설정된 사용자 스크롤은, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 일 측에 표시되는 상/하 스크롤이 선택(또는, 동작)되는 경우, 상기 웹 브라우저 또는 상기 사용자 단말기(200)의 일 측에 구비되는 페이지 넘김 버튼(미도시)이 선택되는 경우, 상기 사용자 단말기(200)와 연동되는 마우스(미도시)에 구비된 마우스 스크롤 휠이 선택(또는, 동작)되는 경우, 상기 사용자 단말기(200)의 디스플레이부(또는, 표시부)(미도시)에 대한 미리 설정된 패턴의 터치 및 슬라이딩(또는, 슬라이딩 터치) 동작(예를 들어, 상기 사용자 단말기(200)의 디스플레이부에 대해 왼쪽에서 오른쪽 방향으로의 슬라이딩 터치 동작, 아래쪽에서 위쪽 방향으로의 슬라이딩 터치 동작, 원 또는 다각형을 그리는 동작 등 포함)이 감지(또는, 수행)되는 경우 등일 수 있다.
또한, 상기 제어부(120)는, 상기 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 상기 수신된 스크롤 신호에 대응하는 HTML 파일(또는, 이전에 상기 사용자 단말기(200)에 전달한 HTML 파일 이후의 다음 순서에 해당하는 HTML 파일)을 상기 통신부(110)를 통해 상기 사용자 단말기(200)에 전달한다.
이와 같이, 상기 HTML 변환 장치(100)는, 상기 전자 문서를 페이지 단위로 분리(또는, 분할)하고, 상기 페이지별로 분리된 전자 문서를 각 페이지별로 HTML 파일로 변환(또는, 생성)하고, 상기 페이지별로 변환된 HTML 파일을 웹 브라우저 기반 언어(예를 들어, 자바 스크립트 등 포함)를 이용하여 상기 사용자 단말기(200)로부터 전달되는 스크롤 신호에 따라 동적으로 상기 HTML 파일을 상기 사용자 단말기(200)에 전달한다.
또한, 상기 제어부(120)는, 상기 페이지별로 변환된 HTML 파일을 썸네일 형태(또는, 썸네일 영역)로 상기 사용자 단말기(200)에 제공할 때, 페이지가 많아질 경우에도, 상기 사용자 단말기(200)의 스크롤 이벤트(또는, 스크롤 신호)에 따라서 동적으로 상기 썸네일 형태의 HTML 파일의 로딩을 상기 사용자 단말기(200)에 제공하여, 안정적인 로딩 속도를 제공할 수 있다.
이와 같이, 상기 HTML 변환 장치(100)는, 상기 사용자 단말기(200)로부터 전송된 기본 정보 등을 수신한 즉시 상기 기본 정보에 대응하는 전자 문서에 대한 페이지별 HTML 변환 과정을 수행하고, 상기 미리 설정된 시점에 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전송하여 임의의 시간(예를 들어, 약 3초 이내)을 확보하고 또한, 상기 전송된 작업 확인 메시지에 대한 상기 사용자 단말기(200)의 응답 과정 및 상기 응답에 대응하여 상기 사용자 단말기(200)에 첫 번째 HTML 파일을 전송하여 임의의 다른 시간(예를 들어, 약 3초 이내)을 확보함으로써, 실질적으로 상기 사용자 단말기(200)의 사용자가 임의의 응답(예를 들어, 상기 작업 확인 메시지에 대한 응답)을 상기 HTML 변환 장치(100)에 전송한 후 첫 번째 HTML 파일을 수신하기까지의 체감 응답 시간을 감소시킬 수 있다.
상기 문서 포맷 탐지부(또는, 문서 포맷 탐지 모듈)(130)는, 임의의 전자 문서 포맷에 대해서 미리 설정된 하나 이상의 핑거프린트 테이블 구성, 메모리 공간 및, 데이터 구조 등에 대한 초기화 기능을 수행한다. 여기서, 상기 핑거프린트(fingerprint)는, 아스키 문자열, 바이트 스트림, 수치형 자료 등과 같이 다양한 형태일 수 있다. 또한, 상기 핑거프린트는, [표 1]에 나타낸 바와 같이, 상기 형태(또는, 형태 항목) 이외에도, 내용 항목, 오프셋 항목, 길이 항목, 연산자 항목 및, 포맷 코드 항목 등 중 적어도 하나를 포함할 수 있다.
항목
형태 ASCII Text
내용 HWP Document File V
오프셋 0
길이 19
연산자 Equal
포맷 코드 60310
이때, 상기 핑거프린트의 형태 항목은, 상기 [표 1]에 나타낸 바와 같은 아스키 문자열일 수도 있고, 바이트 스트림 또는, 수치형 자료 등과 같은 형태일 수도 있다. 또한, 상기 핑거프린트의 내용 항목은, 전자 문서상에 실제로 나타나는 값을 나타내며, 상기 [표 1]에 나타낸 바와 같은 하나의 문자열일 수도 있고 두 개 이상의 값으로 이루어지거나 숫자의 범위 값으로 표현될 수도 있다. 또한, 상기 핑거프린트의 오프셋 항목은, 전자 문서에서 핑거프린트 내용이 나타나는 위치를 나타내며, 해당 전자 문서의 처음 또는 끝으로부터의 오프셋으로 표현될 수 있다. 또한, 상기 핑거프린트의 길이 항목은, 상기 핑거프린트 내용의 길이를 나타내며, 상기 [표 1]에 나타낸 바와 같은 특정한 숫자일 수도 있고 숫자의 범위 값으로 표현될 수도 있다. 또한, 상기 핑거프린트의 연산자 항목은, 상기 [표 1]에 나타낸 바와 같은 문자열이 정확하게 일치하는지 여부를 검사하는 값(Equal)일 수도 있고 어떤 값보다 크거나 작은지 여부를 검사하는 비교 연산자 또는 특정한 범위 안에 있어야 한다는 범위 연산자일 수도 있다. 또한, 상기 핑거프린트의 포맷 코드 항목은, 해당 전자 문서와 핑거프린트(또는, 상기 핑거프린트의 내용)가 일치할 경우, 상기 일치된 핑거프린트에 대응하는 문서 분석부(204)를 매핑(또는, 확인/대응)하기 위해 필요한 코드이며, 숫자일 수도 있고 문자열 등의 다른 포맷과 구별 가능한 임의의 값으로 표현될 수도 있다.
또한, 상기 실시예에서는, 상기 핑거프린트를 하나의 표(또는, 테이블)로 설명하여 하나의 데이터베이스 테이블로 기재하고 있으나, 이에 한정되지 않으며, 상기 핑거프린트는, 상기 핑거프린트(또는, 상기 핑거프린트 테이블)를 임의의 배열이나 리스트 또는 해시 테이블 등의 임의의 다양한 자료 구조로 구성하거나 또는, 임의의 프로그램에서 하드 코딩할 수 있도록 구성하거나 또는, 임의의 하드웨어 요소로 구성할 수도 있다.
이와 같이, 상기 문서 포맷 탐지부(document format detector)(130)는, 문서 포맷 탐지에 필요한 메모리 공간 및 데이터 구조를 초기화시키기 위해서, 상기 저장부(180)의 임의의 저장 공간에 미리 저장된 상기 [표 1]에 나타낸 바와 같은 하나 이상의 미리 설정된 핑거프린트를 읽어들여 상기 저장부(180) 내의 특정 메모리 공간에 위치시킨다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 제어부(120)에서 수행되는 기능인, 상기 수신된 기본 정보에 문서 선택에 대한 기능 정보(또는, 문서 선택 정보)가 포함된 경우, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 문서 선택에 대한 기능 정보에 대응하는 전자 문서를 확인하는 기능을 수행하도록 구성할 수도 있다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 하나 이상의 핑거프린트 중에서 상기 확인된 전자 문서에 매핑하는(또는, 일치/대응하는) 핑거프린트를 확인한다.
즉, 상기 문서 포맷 탐지부(130)는, 상기 하나 이상의 핑거프린트 각각을 상기 확인된 전자 문서와 비교(또는, 대조)하여, 상기 전자 문서에 일치하는 핑거프린트를 확인한다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 전자 문서가 명백하게 공개되고 인지된 파일 확장자(예를 들어, 확장자 "hwp", "doc", "xls" 등 포함)를 가진 경우, 해당 파일 확장자가 가질 수 있는 핑거프린트만을 확인(예를 들어, 확장자가 "hwp"인 경우 "아래아한글" 문서 작성 프로그램과 관련된 핑거프린트만을 확인하거나, 확장자가 "doc"인 경우 "MS 워드" 문서 작성 프로그램과 관련된 핑거프린트만을 확인하거나, 확장자가 "xls"인 경우 "MS 엑셀" 스프레드시트 프로그램과 관련된 핑거프린트만을 확인)하여 상기 전자 문서에 일치하는 핑거프린트를 확인하도록 구성할 수도 있다.
또한, 상기 문서 포맷 탐지부(130)는, 전체 전자 문서가 준비될 때까지 기다릴 필요없이, 상기 전자 문서와 상기 하나 이상의 핑거프린트를 비교(또는, 대조)할 수 있을 정도의 소정 크기의 특정 메모리를 이용할 수 있으면, 바로 상기 전자 문서에 대한 문서 포맷 탐지를 수행할 수 있다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 확인 결과, 상기 하나 이상의 핑거프린트 중에서 상기 확인된 전자 문서에 매핑하는 핑거프린트가 존재하지 않는 경우, 상기 사용자 인터페이스부(170)를 통해서 전자 문서 포맷 확인이 불가함을 출력한다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 확인 결과, 상기 하나 이상의 핑거프린트 중에서 상기 확인된 전자 문서에 일치하는 핑거프린트가 존재하는 경우, 상기 전자 문서를 생성한 프로그램 종류(또는, 애플리케이션/응용 프로그램 종류) 및 상기 프로그램의 버전(또는, 버전 정보)을 확인한다. 여기서, 상기 문서 포맷 탐지부(130)는, 오피스 오픈 XML(Office Open XML : OOXML), 객체 연계 매입 2(Object Linking and Embedding 2 : OLE2) 인터페이스 등을 포함하며, MS 오피스 계열의 전자 문서의 경우에는, 상기 오피스 오픈 XML 또는 상기 객체 연계 매입 인터페이스(OLE2) 등을 통해, 상기 전자 문서의 포맷을 확인한다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 복수의 문서 분석부(140) 중에서 상기 매핑된(또는, 일치된/대응된) 핑거프린트에 대응하는 특정 문서 분석부(140)에 상기 전자 문서를 전달한다. 이때, 상기 문서 포맷 탐지부(130)는, 상기 복수의 문서 분석부(140) 중에서 상기 매핑된 핑거프린트에 대응하는 문서 분석부(140)를 로드하고, 분석 가능한 상기 전자 문서를 상기 로드된 문서 분석부(140)에 전달할 수 있다.
즉, 상기 문서 포맷 탐지부(130)는, 상기 복수의 문서 분석부(140) 중에서 상기 확인된 프로그램 종류(또는, 상기 전자 문서와 관련된 프로그램 종류) 및 버전(또는, 상기 프로그램의 버전)에 대응하는 특정 문서 분석부(140)에 상기 전자 문서를 전달한다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 문서 분석부(140)를 임의의 쓰레드(thread)로 생성하고, 상기 생성된 쓰레드에 상기 전자 문서를 전달할 수도 있다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 문서 분석부(140)를 별도의 프로세스로 생성하고, 상기 생성된 별도의 프로세스에 상기 전자 문서를 전달할 수도 있다.
또한, 상기 문서 포맷 탐지부(130)는, 상기 HTML 변환 장치(100) 이외의 다른 임의의 시스템에 존재하는 특정 문서 분석부에 상기 전자 문서를 전달할 수도 있다.
상기 문서 분석부(또는, 문서 분석 모듈)(140)는, 문서 분석에 필요한 메모리 공간과 데이터 구조를 초기화하고, 상기 문서 포맷 탐지부(130)로부터 전달되는 전자 문서를 수신한다. 여기서, 상기 문서 분석부(140)는, 임의의 미리 설정된 응용 프로그램에 대응하는 문서 분석부의 경우(예를 들어, MS 오피스 계열에 대응하는 문서 분석부 등 포함)에는 렌더링 기능을 구비하지 않으며, 또한 다른 일부 응용 프로그램에 대응하는 문서 분석부의 경우(예를 들어, 어도비 아크로뱃에 대응하는 문서 분석부 등 포함)에는 렌더링 기능을 구비하도록 구성할 수 있다.
또한, 상기 문서 분석부(document parser)(140)는, 상기 미리 설정된 핑거프린트의 내용 항목에 각각 대응하는 복수의 문서 분석부(140)로 구성할 수 있다. 즉, 상기 문서 분석부(140)는, 상기 미리 설정된 하나 이상의 핑거프린트의 수만큼 구성할 수 있다.
또한, 상기 문서 분석부(140)는, 상기 전자 문서의 속성 정보 등을 확인하기 위한 기능을 수행한다.
즉, 상기 문서 분석부(140)는, 상기 수신된 전자 문서의 속성 정보를 확인(또는, 판독)한다. 여기서, 상기 전자 문서의 속성 정보는, 일반 정보(예를 들어, 파일명, 파일 크기, 파일 위치, 작성자, 작성 일자 등 포함), 통계 정보(예를 들어, 슬라이드 수(또는, 페이지 수), 단어 수, 단락 수 등 포함), 임의의 미리 설정된 사용자 지정 속성 정보 등을 포함한다.
또한, 상기 문서 분석부(140)는, 상기 확인된 전자 문서의 속성 정보 및/또는 상기 전자 문서를 상기 제어부(120) 및/또는 상기 객체 관리부(150)에 전달한다.
또한, 상기 문서 분석부(140)는, 페이지 정보(또는, 페이지 번호)를 포함하지 않는 전자 문서에 대해서도 상기 해당 전자 문서를 생성하는 애플리케이션 프로그램의 특성을 근거로 미리 설정된 기준에 따라 페이지에 해당하는 정보(또는, 상기 페이지 정보)를 생성할 수 있다. 즉, 상기 문서 분석부(140)는, 마이크로소프트의 엑셀 문서의 경우 상기 엑셀 문서에 포함된 각각의 시트(또는, 워크시트)를 페이지로 구분할 수도 있고, 웹 페이지 문서의 경우 상기 웹 페이지 문서의 줄 수(또는, 라인 수)를 근거로 페이지 정보를 생성(또는, 식별)할 수 있다.
상기 객체 관리부(또는, 객체 관리 모듈)(150)는, 상기 문서 분석부(140)로부터 전달되는 상기 전자 문서의 속성 정보 및/또는 상기 전자 문서를 수신한다.
또한, 상기 객체 관리부(object manager)(150)는, 상기 전자 문서에 포함된 페이지 객체 리스트를 확인한다.
즉, 상기 객체 관리부(150)는, 상기 전자 문서에 포함된 페이지 객체를 분석하고, 상기 분석 결과를 근거로 상기 전자 문서에 포함된 하나 이상의 페이지 객체 리스트를 확인하거나 상기 전자 문서를 복수의 페이지로 분할한다.
또한, 상기 객체 관리부(150)는, 상기 확인된 페이지 객체 리스트에 포함된 각각의 페이지 속성 정보 및/또는 페이지 객체별 속성 정보를 확인(또는, 판독)한다. 여기서, 상기 페이지 속성 정보는, 페이지 번호, 용지 크기, 용지 방향 및, 마스터 여부 등을 포함한다. 또한, 상기 페이지 객체별 속성 정보는, 스타일 속성 정보(예를 들어, 각 개체의 위치/배치, 폰트, 글자 크기, 길이, 자간, 줄간, 색상 등에 대한 정보 포함), 이미지 속성 정보, 표 속성 정보, 형상 속성 정보, 수식 속성 정보, 차트 속성 정보, OLE 객체 속성 정보(예를 들어, 임의의 연동된 앱을 통해 제공된 이미지, 표, 수식, 차트 등 포함) 등을 포함한다.
즉, 상기 객체 관리부(150)는, 상기 전자 문서에 포함된 하나 이상의 페이지 객체 리스트 또는 상기 분할된 복수의 페이지 각각에 대해서, 각 페이지 내에 포함된 하나 이상의 객체 중 임의의 웹 브라우저에서 HTML로 직접 표현 가능한 객체(예를 들어, 텍스트 객체, 표 객체 등 포함)와 그렇지 못한 객체(또는, VML이나 SVG 등 다른 변환이 필요한 객체)(예를 들어, WMF 등의 특정 포맷의 그림/이미지 객체, 형상 객체, 수식 객체, 차트 객체 및, OLE 객체 등 포함)를 확인한다.
이와 같이, 상기 객체 관리부(150)는, 상기 전자 문서에 포함된 하나 이상의 페이지 객체 리스트 또는 상기 분할된 복수의 페이지 각각에 대해서, 각 페이지 내의 내부 객체를 분석하여, 상기 하나 이상의 페이지에 각각 포함된 적어도 하나의 객체의 속성 정보(예를 들어, 임의의 웹 브라우저에서 HTML로 직접 표현이 가능한 객체의 속성 정보, VML이나 SVG 등 다른 변환이 필요한 객체의 속성 정보 등 포함)를 각각 확인한다. 이때, 상기 객체 관리부(150)는, 상기 내부 객체가 상위 객체의 속성을 상속받은 경우, 상기 상위 객체의 속성 정보를 함께 확인할 수 있다.
또한, 상기 객체 관리부(150)는, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보를 근거로 상기 확인된 페이지 객체별 속성 정보에 포함된 하나 이상의 객체 중에서 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 상기 사용자 단말기(200)에 설치된 웹 브라우저에서 지원하는 벡터 그래픽(또는, 벡터 그래픽 객체)으로 변환한다. 이때, 상기 객체 관리부(150)는, 상기 전자 문서에서의 해당 객체들(예를 들어, 상기 그림 객체, 상기 형상 객체, 상기 수식 객체, 상기 차트 객체 및, 상기 OLE 객체 등 포함)의 크기 비율에 따라 상기 객체들의 크기를 설정한다. 여기서, 상기 객체 관리부(150)는, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보를 근거로 상기 사용자 단말기(200)에 설치된 웹 브라우저가 인터넷 익스플로러 계열인 경우, 상기 확인된 페이지 객체별 속성 정보에 포함된 하나 이상의 객체 중에서 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 상기 인터넷 익스플로러에서 지원하는 VML(Vector Markup Language) 형태로 변환한다.
또한, 상기 객체 관리부(150)는, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보를 근거로 상기 사용자 단말기(200)에 설치된 웹 브라우저가 파이어폭스, 오페라, 사파리 및, 구글 크롬 등과 같은 다른 웹 브라우저인 경우, 상기 확인된 페이지 객체별 속성 정보에 포함된 하나 이상의 객체 중에서 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 상기 다른 웹 브라우저에서 지원하는 SVG(Scalable Vector Graphics) 형태로 변환한다.
또한, 상기 객체 관리부(150)는, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보를 근거로 상기 사용자 단말기(200)에 설치된 웹 브라우저가 상기 인터넷 익스플로러 또는 파이어폭스, 오페라, 사파리 및, 구글 크롬 등과 같이 VML 및 SVG를 지원하지 않는 경우(예를 들어, 모바일 브라우저), 상기 확인된 페이지 객체별 속성 정보에 포함된 하나 이상의 객체 중에서 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 웹 브라우저 기반 언어(예를 들어, 자바 스크립트 등 포함)를 이용하여(또는, 근거로) 해당 웹 브라우저의 캔버스(canvas) 엘리먼트에 직접 그림을 그리는 방식으로 해당 객체를 표현한다.
이와 같이, 상기 객체 관리부(150)는, 상기 페이지별로 분리된 전자 문서에 각각 포함된 하나 이상의 객체 중에서, 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 상기 사용자 단말기(200)의 웹 브라우저에서 지원 가능한 형태(또는, 상기 사용자 단말기(200)의 웹 브라우저에서 지원 가능한 벡터 그래픽)로 각각 변환한다.
또한, 상기 객체 관리부(150)를 통해 상기 전자 문서 내의 각각의 페이지에 내에 각각 포함된 하나 이상의 객체 중에서, 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 해당 객체의 비율에 따라 상기 사용자 단말기(200)의 웹 브라우저에서 지원 가능한 벡터 그래픽으로 변환하여 상기 사용자 단말기(200)에 제공함으로써, 상기 사용자 단말기(200)의 웹 브라우저의 창 크기가 변화할 때마다 모든 객체가 자동으로 상기 창 크기에 따라 리사이징 처리될 수 있다.
상기 HTML 태거(또는, HTML 태거 모듈)(160)는, 상기 페이지별 하나 이상의 객체(예를 들어, 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체, 상기 VML이나 SVG 등 다른 변환이 필요한 객체 등 포함)에 비례적 표현 방식의 미리 설정된 정보(또는, 태그)를 부가(또는, 태깅)하여, 상기 전자 문서의 각각의 페이지에 포함된 하나 이상의 객체를 HTML화한다. 이때, 상기 비례적 표현 방식의 사용자 설정 정보는, 파일 종류(또는, 콘텐츠 종류)에 따른 부가 정보 등과 같이, 상기 전자 문서를 생성한 애플리케이션 프로그램에 따라 다양한 부가 정보를 포함할 수 있으며, 상기 애플리케이션 프로그램에서 필요로 하는 미리 설정된 정보는, 상기 저장부(180)에 미리 저장되며, 상기 HTML 태거(160)를 통해 상기 하나 이상의 객체의 고유 특성(예를 들어, 크기, 위치 등 포함)에 따라 사용하도록 구성할 수 있다.
이와 같이, 상기 HTML 태거(160)는, 상기 페이지별 하나 이상의 객체를 HTML화하여, 각각의 페이지에 대응하는 HTML(또는, HTML 파일)을 생성한다.
즉, 상기 HTML 태거(160)는, 페이지를 기반으로 한 비례형 HTML을 생성한다.
또한, 상기 통신부(110)는, 상기 제어부(120)의 제어에 의해, 상기 태깅된 정보(또는, 상기 생성된 상기 전자 문서의 페이지별 HTML 파일)를 상기 사용자 단말기(200)에 전달한다. 이때, 상기 전달되는 정보는, 임의의 데이터 스트림 형태일 수도 있고 또는, 임의의 파일 형태일 수도 있다.
이와 같이, 상기 문서 포맷 탐지부(130), 상기 문서 분석부(140), 상기 객체 관리부(150) 및, 상기 HTML 태거(160)는, 상기 전자 문서에 대해서, 페이지별로 HTML 파일을 생성하는 과정들을 백그라운드 상태로 지속하여 수행한다.
또한, 상기 기재된 상기 문서 포맷 탐지부(130), 상기 문서 분석부(140), 상기 객체 관리부(150) 및, 상기 HTML 태거(160)의 기능들은, 상기 제어부(120)에 의해 수행될 수도 있다.
상기 사용자 인터페이스부(또는, 사용자 인터페이스 모듈)(170)는, 상기 문서 포맷 탐지부(130)를 통해 임의의 전자 문서의 분석이 실패한 경우, 상기 전자 문서 분석 실패에 대한 정보를 출력한다.
또한, 상기 사용자 인터페이스부(User Interface : UI)(170)는, 상기 실패한 전자 문서에 대한 정보를 모니터링이나 로깅(logging) 등의 목적을 위해 선택적으로 활용할 수 있다.
또한, 상기 사용자 인터페이스부(170)는, 임의의 커맨드 라인 인터페이스(CLI), 그래픽 사용자 인터페이스(GUI) 및, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface : API) 등의 형태로 구현할 수 있다.
상기 저장부(또는, 저장 모듈)(180)는, 다양한 사용자 인터페이스(UI) 및/또는 그래픽 사용자 인터페이스(GUI)를 저장한다.
또한, 상기 저장부(또는, 메모리)(180)는, 상기 HTML 변환 장치(100)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.
또한, 상기 저장부(180)는, 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory : RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory : ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 상기 HTML 변환 장치(100)는, 인터넷(internet)상에서 상기 저장부(180)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.
또한, 상기 저장부(810)는, 상기 통신부(110)를 통해 수신되는 각종 정보(예를 들어, 콘텐츠, 전자 문서, 제어 신호, 기본 정보, 웹 브라우저 정보, 응답 메시지, 스크롤 신호 등 포함)를 저장한다.
또한, 상기 저장부(180)는, 상기 복수의 문서 분석부(140)로부터 복수의 전자 문서에 대해 각각 확인되는 해당 전자 문서의 속성 정보, 객체 속성 정보, 페이지별 HTML 파일 등을 저장한다.
또한, 상기 HTML 변환 장치(100)는, 상기 저장부(180)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시하는 표시부(미도시)를 더 포함할 수 있다. 여기서, 상기 표시부에 표시되는 콘텐츠는, 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부는, 터치 스크린 일 수 있다.
또한, 상기 표시부는, 액정 디스플레이(Liquid Crystal Display : LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display : TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode : OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
또한, 상기 HTML 변환 장치(100)는, 사용자에 의한 버튼 조작 또는 임의의 기능 선택에 따른 신호를 수신하거나, 디스플레이되는 화면을 터치/스크롤하는 등의 조작에 의해 생성된 명령 또는 제어 신호를 수신하는 입력부(미도시)를 더 포함할 수 있다.
또한, 상기 입력부는, 사용자에 의해 입력된 정보에 대응하는 신호를 수신하며, 키 패드(Key Pad), 돔 스위치 (Dome Switch), 터치 패드(정압/정전), 터치 스크린(Touch Screen), 조그 휠, 조그 스위치, 조그 셔틀(Jog Shuttle), 마우스(mouse), 스타일러스 펜(Stylus Pen), 터치 펜(Touch Pen) 등의 다양한 장치가 사용될 수 있다.
또한, 상기 HTML 변환 장치(100)에 포함된 각각의 구성 요소들은, 하나의 프로세스 또는 구조로 구현될 수 있다. 즉, 상기 HTML 변환 장치(100)에 포함된 상기 통신부(110), 상기 제어부(120), 상기 문서 포맷 탐지부(130), 상기 복수의 문서 분석부(140), 상기 객체 관리부(150), 상기 HTML 태거(160), 상기 사용자 인터페이스부(170) 및, 상기 저장부(180) 중 적어도 하나의 구성 요소는, 반도체 장치와 같은 하드웨어 요소로 선택적으로 구현될 수도 있다. 또한, 상기 HTML 변환 장치(100)는, 상기와 같이 하나의 시스템으로 구현될 수도 있을 뿐만 아니라, 단일 컴퓨터 프로세스로 구현될 수도 있고, 여러 개의 플랫폼에 분포되어 작동할 수도 있고, 각 구성 요소가 실시간으로 입출력을 연계하지 않고 상이한 시간에 연계(또는, 연동)하여 작동할 수도 있다.
상기 사용자 단말기(200)는, 상기 HTML 변환 장치(100)로부터 전달되는 임의의 하나 이상의 전자 문서에 대한 정보(예를 들어, 전자 문서 목록)를 수신한다. 여기서, 상기 사용자 단말기(200)는, 유닉스/리눅스/윈도 서버 컴퓨터, 개인용 컴퓨터, 휴대용 컴퓨터, 태블릿, 스마트 폰, 휴대 단말기, 텔레매틱스 단말기, 노트북 컴퓨터, 디지털방송용 단말기, 개인 정보 단말기(PDA), 와이브로 단말기, IPTV 단말기, 스마트 TV, AVN 단말기, PMP, 내비게이션 단말기(차량 내비게이션 장치) 등과 같은 다양한 단말기 중 어느 하나일 수 있다. 또한, 상기 사용자 단말기(200)는, 임의의 파일 시스템, 메모리, 데이터베이스, 임의의 애플리케이션 프로세스/프로그램(예를 들어, 웹 메일, 게시판, 인트라넷, 전자결재, 웹 오피스, 모바일 오피스 등 포함), 터미널, 네트워크 서버 등 중 어느 하나일 수도 있다.
또한, 상기 사용자 단말기(200)는, 상기 수신된 하나 이상의 전자 문서에 대한 정보를 상기 사용자 단말기(200)에 구비된 디스플레이부(또는, 표시부)(미도시)에 표시한다.
또한, 상기 사용자 단말기(200)는, 상기 표시 중인 하나 이상의 전자 문서 중에서 사용자 선택(또는, 사용자 터치)에 따라 어느 하나의 전자 문서가 선택되면, 상기 선택된 전자 문서에 대한 정보와 상기 선택된 전자 문서에 대한 기능 정보(예를 들어, 문서 삭제, 문서 선택, 문서 보기, 문서 인쇄 등 포함) 등을 포함하는 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 상기 HTML 변환 장치(200)에 전달한다. 여기서, 상기 웹 브라우저(또는, 상기 웹 브라우저에 대한 정보)는, 인터넷 익스플로러, 파이어폭스(모질라), 오페라, 사파리 및, 구글 크롬 등을 포함한다.
또한, 상기 사용자 단말기(200)는, 상기 HTML 변환 장치(100)로부터 전달되는 작업 확인 메시지를 수신하고, 상기 수신된 작업 확인 메시지를 상기 디스플레이부에 표시한다. 여기서, 상기 작업 확인 메시지는, 임의의 텍스트(예를 들어, "선택된 문서/파일을 HTML 파일로 변환하시겠습니까?)와 하나 이상의 버튼 정보(예를 들어, 확인 버튼, 취소 버튼 등 포함) 등을 포함한다.
또한, 상기 사용자 단말기(200)는, 사용자 선택(또는, 사용자 터치)에 따라 상기 표시되는 작업 확인 메시지에 포함된 임의의 버튼(예를 들어, 확인 버튼 또는 취소 버튼)이 선택되면, 상기 선택된 버튼에 대한 기능 정보를 포함하는 응답 메시지를 생성하고, 상기 생성된 응답 메시지를 상기 HTML 변환 장치(100)에 전달한다.
또한, 상기 사용자 단말기(200)는, 상기 전달된 응답 메시지(예를 들어, 확인 버튼에 대한 응답 정보 포함)에 응답하여 상기 HTML 변환 장치(100)로부터 전달되는 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일을 수신하고, 상기 수신된 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기(200)에 미리 설치된 웹 브라우저를 통해 상기 디스플레이부에 표시한다. 이때, 상기 사용자 단말기(200)의 디스플레이부에 표시되는 HTML 파일에 포함된 다양한 정보는, 상기 전자 문서에 포함된 다양한 객체(예를 들어, 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체, 상기 VML이나 SVG 등 다른 변환이 필요한 객체 등 포함)를 각 객체 간의 상대 비율에 따라 변환한 것으로서, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 창 크기에 따라 자동 리사이징 처리된다.
또한, 상기 사용자 단말기(200)는, 미리 설정된 사용자 스크롤이 발생할 경우, 상기 발생된 사용자 스크롤에 대응하는 스크롤 신호를 생성하고, 상기 생성된 스크롤 신호를 상기 HTML 변환 장치(100)에 전달한다. 여기서, 상기 미리 설정된 사용자 스크롤은, 상기 웹 브라우저의 일 측에 표시되는 상/하 스크롤이 선택(또는, 동작)되는 경우, 상기 웹 브라우저 또는 상기 사용자 단말기(200)의 일 측에 구비된 페이지 넘김 버튼(미도시)이 선택되는 경우, 상기 사용자 단말기(200)와 연동되는 마우스(미도시)에 구비된 마우스 스크롤 휠이 선택(또는, 동작)되는 경우, 상기 사용자 단말기(200)의 디스플레이부에 대한 미리 설정된 패턴의 터치 및 슬라이딩(또는, 슬라이딩 터치) 동작(예를 들어, 상기 사용자 단말기(200)의 디스플레이부에 대해 왼쪽에서 오른쪽 방향으로의 슬라이딩 터치 동작, 아래쪽에서 위쪽 방향으로의 슬라이딩 터치 동작, 원 또는 다각형을 그리는 동작 등 포함)이 감지(또는, 수행)되는 경우 등일 수 있다.
또한, 상기 사용자 단말기(200)는, 상기 전달된 스크롤 신호에 응답하여 상기 HTML 변환 장치(100)로부터 전달되는 상기 전자 문서의 임의의 페이지에 대응하는 HTML 파일을 수신하고, 상기 수신된 HTML 파일을 상기 디스플레이부에 표시한다.
또한, 상기 사용자 단말기(200)는, 상기 HTML 변환 장치(100)로부터 전달되는 썸네일 형태(또는, 썸네일 영역)의 상기 페이지별로 생성된(또는, 변환된) HTML 파일을 수신하고, 상기 수신된 썸네일 형태의 HTML 파일을 상기 디스플레이부에 표시한다.
이와 같이, 임의의 애플리케이션 프로그램에서 생성된 다양한 형식의 전자 문서를 페이지별로 HTML 형식의 파일로 변환함으로써, 상기 애플리케이션 프로그램이 설치되지 않은 임의의 장치에서도 해당 전자 문서를 확인할 수 있다.
또한, 이와 같이, 임의의 전자 문서를 각 페이지별로 리사이징할 수 있는 HTML(또는, HTML 파일)을 생성하고, 임의의 사용자 단말기의 웹 브라우저의 스크롤(또는, 스크롤 이벤트/스크롤 신호)에 따라 동적으로 상기 생성된 페이지별 HTML 파일을 전송할 수 있다.
또한, 이와 같이, 전자 문서에 포함된 차트, 그래픽, 수식 등의 다양한 객체들을 벡터 그래픽으로 변환하고, 상기 벡터 그래픽으로 변환된 객체들을 임의의 사용자 단말기에 제공할 수 있다.
이하에서는, 본 명세서에 따른 HTML 변환 방법을 도 1 내지 도 3을 참조하여 상세히 설명한다.
도 3은 본 명세서의 일 실시예에 따른 HTML 변환 장치가 포함된 데이터 처리 시스템의 통신 과정을 보인 신호 흐름도이다.
먼저, HTML 변환 장치(100)는, 저장부(180)에 저장된 하나 이상의 전자 문서에 대한 정보(예를 들어, 전자 문서 목록)를 통신부(110)를 통해 연결된 임의의 사용자 단말기(200)에 전달한다. 여기서, 상기 사용자 단말기(200)는, 임의의 파일 시스템, 메모리, 데이터베이스, 임의의 애플리케이션 프로세스/프로그램(예를 들어, 웹 메일, 게시판, 인트라넷, 전자결재, 웹 오피스, 모바일 오피스 등 포함), 터미널, 네트워크 서버 등뿐만 아니라, 유닉스/리눅스/윈도 서버 컴퓨터, 개인용 컴퓨터, 휴대용 컴퓨터, 태블릿, 스마트 폰, 휴대 단말기, 텔레매틱스 단말기, 노트북 컴퓨터, 디지털방송용 단말기, 개인 정보 단말기(PDA), 와이브로 단말기, IPTV 단말기, 스마트 TV, AVN 단말기, PMP, 내비게이션 단말기(차량 내비게이션 장치) 등과 같은 다양한 단말기 중 어느 하나일 수 있다. 또한, 상기 전자 문서는, 임의의 입력 장치에 설치된 임의의 애플리케이션 프로그램을 통해 생성되어 상기 통신부(110)를 통해 상기 HTML 변환 장치(100)에 전달되며, 임의의 웹 브라우저에서 HTML로 직접 표현 가능한 객체와 그렇지 못한 객체(예를 들어, VML이나 SVG 등 또 다른 변환이 필요한 객체)를 포함하는 텍스트, 오피스 문서, 웹 페이지, XML 문서, 압축 파일, 네트워크 스트림 등일 수 있다. 또한, 상기 전자 문서는, 문자열뿐만 아니라 임의의 그림(또는, 이미지), 표, 수식, 차트 등의 데이터를 더 포함할 수도 있다. 이때, 상기 전자 문서를 생성하는 애플리케이션 프로그램은, 문서 작성 프로그램(예를 들어, 아래아한글, 워드 등 포함), 프레젠테이션 프로그램(예를 들어, 파워포인트, 키노트 등 포함), 스프레드시트 프로그램(예를 들어, 엑셀 등 포함), 오픈소스 오피스 프로그램(예를 들어, 스타오피스, 오픈오피스, 리브레오피스 등 포함), 웹 페이지 생성 프로그램(예를 들어, HTML 형식의 웹 페이지를 생성하는 드림위버, 나모웹 에디터 등 포함), PDF 파일 생성 프로그램(예를 들어, 아크로뱃 프로그램 등 포함), 메일 프로그램(예를 들어, MIME 포맷을 지원하는 아웃룩 등 포함), 수치 자료 및 문자열이 포함된 레코드를 생성하는 데이터베이스 프로그램, 표준화된 서식으로 저장된 자료를 주고받는 EDI 프로그램, 임의의 전자 문서 생성 애플리케이션 프로그램 등 중 어느 하나일 수 있다. 또한, 상기 애플리케이션 프로그램은, 상기 기재된 프로그램 이외에도, MHT 문서, CHM 문서, EML 문서, MIME 문서, 리치 텍스트 포맷(RTF), 핸디소프트 아리랑(HWD), 일태랑(JTD), 마이크로소프트 문서 이미징(MDI), 워드퍼펙트(WPD), 유니코드(UCS-2, UCS-4, UTF-8, BIG-ENDIAN, LITTLE-ENDIAN) 텍스트 파일 등을 지원하는 프로그램 등을 포함할 수 있다. 이때, 상기 통신부(110)는, 임의의 유/무선 통신망뿐만 아니라, 임의의 파일 스트림 인터페이스, 메모리 스트림 인터페이스 등을 포함할 수도 있다.
일 예로, 상기 HTML 변환 장치(100)에 포함된 제어부(120)는, 상기 저장부(180)에 저장된 "문서1.doc", "문서2.ppt" 및, "문서3.pdf" 등의 전자 문서에 대한 정보(또는, 전자 문서 목록)를 상기 사용자 단말기(200)에 전달한다(SP310).
이후, 상기 사용자 단말기(200)는, 상기 HTML 변환 장치(100)로부터 전달되는 상기 하나 이상의 전자 문서에 대한 정보(예를 들어, 전자 문서 목록)를 수신하고, 상기 수신된 하나 이상의 전자 문서에 대한 정보를 표시한다(SP320).
이후, 상기 사용자 단말기(200)는, 상기 표시 중인 하나 이상의 전자 문서 중에서 사용자 선택(또는, 사용자 터치)에 따라 어느 하나의 전자 문서가 선택되면, 상기 선택된 전자 문서에 대한 정보와 상기 선택된 전자 문서에 대한 기능 정보(예를 들어, 문서 삭제, 문서 선택, 문서 보기, 문서 인쇄 등 포함) 등을 포함하는 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 상기 HTML 변환 장치(100)에 전달한다. 여기서, 상기 웹 브라우저(또는, 상기 웹 브라우저에 대한 정보)는, 인터넷 익스플로러, 파이어폭스(모질라), 오페라, 사파리 및, 구글 크롬 등 중 어느 하나일 수 있다.
일 예로, 상기 사용자 단말기(200)는, 상기 표시 중인 하나 이상의 전자 문서 중에서 사용자 선택에 따라 상기 "문서2.ppt"가 선택되면, 상기 선택된 "문서2.ppt" 파일에 대한 정보와 상기 선택된 "문서2.ppt" 파일에 대한 기능 정보(예를 들어, 문서 선택) 등을 포함하는 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보(예를 들어, 인터넷 익스플로러)를 상기 HTML 변환 장치(100)에 전달한다.
다른 일 예로, 상기 사용자 단말기(200)는, 상기 표시 중인 하나 이상의 전자 문서 중에서 사용자 선택에 따라 상기 "문서3.pdf"가 선택되면, 상기 선택된 "문서3.pdf" 파일에 대한 정보와 상기 선택된 "문서3.pdf" 파일에 대한 기능 정보(예를 들어, 문서 선택) 등을 포함하는 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보(예를 들어, 파이어폭스)를 상기 HTML 변환 장치(100)에 전달한다(SP330).
이후, 상기 HTML 변환 장치(100)는, 상기 전달된 하나 이상의 전자 문서에 대한 정보에 응답하여 상기 사용자 단말기(200)로부터 전달되는 상기 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 수신한다. 여기서, 상기 기본 정보는, 상기 하나 이상의 전자 문서 중에서 선택된 어느 하나의 전자 문서에 대한 정보와 상기 선택된 전자 문서에 대한 기능 정보(예를 들어, 문서 삭제, 문서 선택, 문서 보기, 문서 인쇄 등 포함) 등을 포함한다.
또한, 상기 HTML 변환 장치(100)에 포함된 상기 제어부(120)는, 상기 수신된 기본 정보에 대응하는 기능을 수행한다.
즉, 상기 제어부(120)는, 상기 수신된 기본 정보에 문서 선택 정보가 포함된 경우, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 포함된 상기 선택된 어느 하나의 전자 문서에 대한 정보에 대응하는 해당 전자 문서를 확인함과 동시에, 백그라운드 상태에서 상기 해당 전자 문서에 대한 HTML 변환 과정을 수행한다. 또한, 상기 제어부(120)는, 상기 백그라운드 상태에서 상기 전자 문서에 대한 HTML 변환 과정 수행 중에, 작업 확인 메시지를 생성하고, 미리 설정된 임의의 시점(예를 들어, 상기 기본 정보를 수신한 후 2초 이후)에 상기 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전달한다. 여기서, 상기 작업 확인 메시지는, 임의의 텍스트와 하나 이상의 버튼 정보 등을 포함한다.
일 예로, 상기 HTML 변환 장치(100)는, 상기 수신된 기본 정보에 문서 선택 정보가 포함될 때, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 포함된 상기 선택된 "문서2.ppt" 파일에 대한 정보에 대응하는 해당 전자 문서(예를 들어, "문서2.ppt")를 확인함과 동시에, 백그라운드 상태로 20 페이지로 구성된 상기 "문서2.ppt"을 페이지별로 상기 사용자 단말기(200)에 설치된 웹 브라우저(예를 들어, 인터넷 익스플로러)에서 지원하는 VML 형식으로 HTML 변환 과정을 수행한다. 이후, 상기 HTML 변환 장치(100)는, 상기 전자 문서에 대한 HTML 변환 과정 수행 중에, "선택된 문서/파일을 HTML 파일로 변환하시겠습니까?"와 같은 텍스트와 확인 버튼 및 취소 버튼과 같은 하나 이상의 버튼 정보를 포함하는 상기 작업 확인 메시지를 생성하고, 상기 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전달한다.
다른 일 예로, 상기 HTML 변환 장치(100)는, 상기 수신된 기본 정보에 문서 선택 정보가 포함될 때, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 포함된 상기 선택된 "문서3.pdf" 파일에 대한 정보에 대응하는 해당 전자 문서(예를 들어, "문서3.pdf")를 확인함과 동시에, 백그라운드 상태로 5 페이지로 구성된 상기 "문서3.pdf"을 페이지별로 상기 사용자 단말기(200)에 설치된 웹 브라우저(예를 들어, 파이어폭스)에서 지원하는 SVG 형식으로 HTML 변환 과정을 수행한다. 이후, 상기 HTML 변환 장치(100)는, 상기 전자 문서에 대한 HTML 변환 과정 수행 중에, "선택된 문서/파일을 HTML 파일로 변환하시겠습니까?"와 같은 텍스트와 확인 버튼 및 취소 버튼과 같은 하나 이상의 버튼 정보를 포함하는 상기 작업 확인 메시지를 생성하고, 상기 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전달한다.
이와 같이, 상기 HTML 변환 장치(100)는, 상기 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 수신하면, 백그라운드 상태로 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 근거로 상기 확인된 해당 전자 문서를 페이지별로 상기 사용자 단말기(200)에 설치된 웹 브라우저에서 지원하는 형태(또는, 형식)의 HTML 파일로 재구성(또는, 변환/생성)하고, 상기 미리 설정된 임의의 시점에 상기 작업 확인 메시지를 생성하여 상기 생성된 작업 확인 메시지를 상기 사용자 단말기(200)에 전달한다.
즉, 상기 HTML 변환 장치(100)는, 상기 기본 정보 및, 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보가 수신되면, 백그라운드 상태로, 상기 HTML 변환 장치(100)에 포함된 문서 포맷 탐지부(130)를 통해 상기 확인된 전자 문서의 포맷(예를 들어, 프로그램 종류, 버전(또는, 버전 정보) 등 포함)을 확인하고, 상기 확인된 전자 문서의 포맷에 대응하는 상기 HTML 변환 장치(100)에 포함된 문서 분석부(140)를 통해 상기 전자 문서의 속성 정보를 확인(또는, 판독)하고, 상기 HTML 변환 장치(100)에 포함된 객체 관리부(150)를 통해 상기 전자 문서를 페이지별로 분리하며, 상기 분리된 각각의 페이지에 포함된 하나 이상의 객체를 확인하며, 상기 확인된 하나 이상의 객체별 속성 정보(또는, 페이지 객체별 속성 정보)를 확인하며, 상기 수신된 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보를 근거로 상기 확인된 하나 이상의 객체 중에서 VML이나 SVG 등 다른 변환이 필요한 객체(예를 들어, 그림 객체, 형상 객체, 수식 객체, 차트 객체 및, OLE 객체 등 포함)를 상기 사용자 단말기(200)에 설치된 웹 브라우저에서 지원하는 형태(예를 들어, 벡터 그래픽 또는, 벡터 그래픽 객체)로 재구성(또는, 변환)하고, 상기 HTML 변환 장치(100)에 포함된 HTML 태거(160)를 통해 상기 하나 이상의 객체(예를 들어, 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체, 상기 다른 변환이 필요한 객체(또는, 상기 재구성된 객체) 등 포함)를 HTML화하여 HTML 파일을 획득(또는, 생성)한다.
이때, 상기 객체 관리부(150)는, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보가 인터넷 익스플로러 계열인 경우, 상기 확인된 하나 이상의 객체 중에서, VML이나 SVG 등 다른 변환이 필요한 객체를 상기 인터넷 익스플로러에서 지원하는 VML 형태로 변환하고, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보가 타 브라우저(예를 들어, 파이어폭스, 오페라, 사파리 및, 구글 크롬 등 포함)인 경우, 상기 확인된 하나 이상의 객체 중에서, 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 상기 타 브라우저에서 지원하는 SVG 형태로 변환하고, 상기 사용자 단말기(200)에 설치된 웹 브라우저의 종류에 대한 정보가 상기 VML 형태 및 상기 SVG 형태를 지원하지 않는 경우(예를 들어, 상기 사용자 단말기(200)에 설치된 웹 브라우저가 모바일 브라우저인 경우), 상기 확인된 하나 이상의 객체 중에서, 상기 VML이나 SVG 등 다른 변환이 필요한 객체를 웹 브라우저 기반 언어(예를 들어, 자바 스크립트)를 이용하여(또는, 근거로) 웹 브라우저 상에 표현(또는, 출력)한다.
여기서, 상기 전자 문서의 속성 정보는, 일반 정보(예를 들어, 파일명, 파일 크기, 파일 위치, 작성자 및, 작성 일자 중 적어도 하나 포함), 통계 정보(예를 들어, 슬라이드 수(또는, 페이지 수), 단어 수 및, 단락 수 중 적어도 하나 포함), 임의의 사용자 지정 속성 정보 등을 포함한다. 또한, 상기 페이지의 속성 정보는, 페이지 번호, 용지 크기, 용지 방향, 마스터 여부 등을 포함한다. 또한, 상기 페이지 객체별 속성 정보는, 스타일 속성 정보(예를 들어, 각 개체의 위치/배치, 폰트, 글자 크기, 길이, 자간, 줄간, 색상 등에 대한 정보 포함), 이미지 속성 정보, 표 속성 정보, 형상 속성 정보, 수식 속성 정보, 차트 속성 정보, OLE 객체 속성 정보(예를 들어, 임의의 연동된 앱을 통해 제공된 이미지, 표, 수식, 차트 등 포함) 등을 포함한다. 또한, 상기 사용자 지정 속성 정보는, 파일 종류(또는, 콘텐츠 종류)에 따른 부가 정보 등과 같이, 상기 전자 문서를 생성한 애플리케이션 프로그램에 따라 다양한 부가 정보를 포함할 수 있다.
또한, 상기 HTML 변환 장치(100)에 포함된 상기 제어부(120)는, 상기 수신된 기본 정보에 문서 선택 정보가 포함된 경우, 상기 저장부(180)에 저장된 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 포함된 상기 선택된 어느 하나의 전자 문서에 대한 정보에 대응하는 해당 전자 문서를 확인하고, 상기 확인된 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 저장되어 있는지 여부를 확인하여, 상기 확인 결과, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 저장되어 있지 않은 경우에는 상기 설명된 바와 같이 상기 전자 문서에 대한 HTML 변환 과정을 수행하고, 상기 전자 문서에 대응하여 HTML 변환된 파일이 상기 저장부(180)에 저장되어 있는 경우에는 HTML 변환 과정을 생략하고 상기 저장부(180)에 저장된 상기 전자 문서에 대응하여 HTML 변환된 파일을 이용하도록 구성할 수도 있다(SP340).
이후, 상기 사용자 단말기(200)는, 상기 기본 정보 및 상기 사용자 단말기(200)에 설치된 웹 브라우저에 대한 정보를 전달한 이후, 상기 미리 설정된 임의의 시점에 생성되어 상기 HTML 변환 장치(100)로부터 전달되는 작업 확인 메시지를 수신한다.
또한, 상기 사용자 단말기(200)는, 상기 수신된 작업 확인 메시지를 표시한다(SP350).
이후, 상기 사용자 단말기(200)는, 사용자 선택(또는, 사용자 터치)에 따라 상기 표시되는 작업 확인 메시지에 포함된 임의의 버튼(예를 들어, 확인 버튼 또는 취소 버튼)이 선택되면, 상기 선택된 버튼에 대한 기능 정보를 포함하는 응답 메시지를 생성하고, 상기 생성된 응답 메시지를 상기 HTML 변환 장치(100)에 전달한다(SP360).
이후, 상기 HTML 변환 장치(100)는, 상기 전달된 작업 확인 메시지에 응답하여 상기 사용자 단말기(200)로부터 전달되는 응답 메시지를 수신한다. 여기서, 상기 응답 메시지는, 상기 확인 버튼 또는 상기 취소 버튼에 대한 응답 정보를 포함한다.
또한, 상기 HTML 변환 장치(100)는, 상기 수신된 응답 메시지에 대응하는 기능을 수행한다.
즉, 상기 HTML 변환 장치(100)는, 상기 수신된 응답 메시지에 취소 버튼에 대한 응답 정보가 포함된 경우, 상기 전자 문서와 관련된 전체 과정을 종료한다.
또한, 상기 HTML 변환 장치(100)는, 상기 수신된 응답 메시지에 확인 버튼에 대한 응답 정보가 포함된 경우, 상기 백그라운드 상태로 상기 전자 문서의 페이지별로 생성되는(또는, 변환되는) HTML 파일(또는, 벡터 그래픽 기반의 HTML 파일) 중에서 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일을 우선적으로 상기 사용자 단말기(200)에 전달한다.
일 예로, 상기 HTML 변환 장치(100)는, 상기 수신된 응답 메시지에 확인 버튼에 대한 응답 정보가 포함될 때, 상기 백그라운드 상태로 상기 총 20 페이지로 구성된 상기 "문서2.ppt"에 대해서 페이지별로 생성된 4 페이지 분량의 HTML 파일 중에서, 상기 "문서2.ppt"의 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기(200)에 전달한다.
다른 일 예로, 상기 HTML 변환 장치(100)는, 상기 수신된 응답 메시지에 확인 버튼에 대한 응답 정보가 포함될 때, 상기 백그라운드 상태로 상기 5 페이지로 구성된 상기 "문서3.pdf"에 대해서 페이지별로 생성된 3 페이지 분량의 HTML 파일 중에서, 상기 "문서3.pdf"의 첫 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기(200)에 전달한다(SP370).
이후, 상기 사용자 단말기(200)는, 상기 전달된 응답 메시지(예를 들어, 확인 버튼에 대한 응답 정보 포함)에 응답하여 상기 HTML 변환 장치(100)로부터 전달되는 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일을 수신한다.
또한, 상기 사용자 단말기(200)는, 상기 사용자 단말기(200)에 설치된 웹 브라우저를 통해 상기 수신된 상기 전자 문서의 첫 번째 페이지에 대응하는 HTML 파일을 표시한다. 이때, 상기 사용자 단말기(200)에 표시되는 HTML 파일에 포함된 다양한 정보(예를 들어, 상기 전자 문서 내의 다양한 객체를 벡터 그래픽 형태로 변환한 정보/객체)는, 상기 전자 문서에 포함된 다양한 객체를 각 객체 간의 상대 비율에 따라 벡터 그래픽 형태로 변환한 것으로서, 상기 웹 브라우저의 창 크기에 따라 자동 리사이징 처리될 수 있다(SP380).
이후, 상기 사용자 단말기(200)는, 미리 설정된 사용자 스크롤이 발생하는 경우, 상기 발생된 사용자 스크롤에 대응하는 스크롤 신호를 생성하고, 상기 생성된 스크롤 신호를 상기 HTML 변환 장치(100)에 전달한다. 여기서, 상기 미리 설정된 사용자 스크롤은, 상기 웹 브라우저의 일 측에 표시되는 상/하 스크롤이 선택(또는, 동작)되는 경우, 상기 웹 브라우저 또는 상기 사용자 단말기(200)의 일 측에 구비된 페이지 넘김 버튼(미도시)이 선택되는 경우, 상기 사용자 단말기(200)와 연동되는 마우스(미도시)에 구비된 마우스 스크롤 휠이 선택(또는, 동작)되는 경우, 상기 사용자 단말기(200)의 디스플레이부(또는, 표시부)(미도시)에 대한 미리 설정된 패턴의 터치 및 슬라이딩(또는, 슬라이딩 터치) 동작(예를 들어, 상기 사용자 단말기(200)의 디스플레이부에 대해 왼쪽에서 오른쪽 방향으로의 슬라이딩 터치 동작, 아래쪽에서 위쪽 방향으로의 슬라이딩 터치 동작, 원 또는 다각형을 그리는 동작 등 포함)이 감지되는 경우 등일 수 있다(SP390).
이후, 상기 HTML 변환 장치(100)는, 상기 사용자 단말기(200)로부터 전달되는 스크롤 신호를 수신한다.
또한, 상기 HTML 변환 장치(100)는, 상기 수신된 스크롤 신호를 근거로 앞선 과정에서 상기 사용자 단말기(200)에 전달한 상기 전자 문서의 임의의 페이지에 대응하는 HTML 파일 이후의 다음 HTML 파일을 상기 사용자 단말기(200)에 전달한다.
즉, 상기 HTML 변환 장치(100)는, 상기 사용자 단말기(200)로부터 스크롤 신호가 전달되면, 상기 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 상기 수신된 스크롤 신호에 대응하는 HTML 파일(또는, 이전에 상기 사용자 단말기(200)에 전달한 HTML 파일 이후의 다음 순서에 해당하는 HTML 파일)을 상기 사용자 단말기(200)에 전달한다.
일 예로, 상기 HTML 변환 장치(100)는, 상기 수신된 스크롤 신호를 근거로 앞선 과정에서 상기 사용자 단말기(200)에 전달한 상기 "문서2.ppt"의 첫 번째 페이지에 대응하는 HTML 파일 이후의 두 번째 페이지에 대응하는 HTML 파일을 상기 사용자 단말기(200)에 전달한다.
이와 같이, 상기 HTML 변환 장치(100)는, 상기 생성되는 상기 전자 문서의 페이지별 HTML 파일 중에서 상기 수신된 스크롤 신호에 대응하는 HTML 파일(또는, 이전에 상기 사용자 단말기(200)에 전달한 HTML 파일 이후의 다음 순서에 해당하는 HTML 파일)을 상기 사용자 단말기(200)에 전달한다(SP400)
이후, 상기 사용자 단말기(200)는, 상기 전달된 스크롤 신호에 응답하여 상기 HTML 변환 장치(100)로부터 전달되는 상기 전자 문서의 임의의 페이지에 대응하는 HTML 파일을 수신한다.
또한, 상기 사용자 단말기(200)는, 상기 사용자 단말기(200)에 설치된 웹 브라우저를 통해 상기 수신된 HTML 파일을 표시한다.
또한, 상기 사용자 단말기(200)는, 상기 HTML 변환 장치(100)로부터 전달되는 썸네일 형태(또는, 썸네일 영역)의 상기 페이지별로 생성된 HTML 파일을 수신하고, 상기 수신된 썸네일 형태의 HTML 파일을 상기 웹 브라우저를 통해 표시할 수도 있다(SP410).
본 명세서의 실시예는 앞서 설명한 바와 같이, 임의의 애플리케이션 프로그램에서 생성된 다양한 형식의 전자 문서를 페이지별로 HTML 형식의 파일로 변환하여, 상기 애플리케이션 프로그램이 설치되지 않은 임의의 장치에서도 해당 전자 문서를 확인할 수 있어, 사용자의 편의성 및 메모리 사용 효율을 향상시킬 수 있다.
또한, 본 명세서의 실시예는 앞서 설명한 바와 같이, 임의의 전자 문서를 각 페이지별로 리사이징할 수 있는 HTML(또는, HTML 파일)을 생성하고, 임의의 사용자 단말기의 웹 브라우저의 스크롤(또는, 스크롤 이벤트/스크롤 신호)에 따라 동적으로 상기 생성된 페이지별 HTML 파일을 전송하여, 웹 브라우저의 종류나 사용자 단말기 해상도에 독립적이고 빠른 응답 시간을 가질 수 있다.
또한, 본 명세서의 실시예는 앞서 설명한 바와 같이, 전자 문서에 포함된 차트, 그래픽, 수식 등의 다양한 객체들을 벡터 그래픽으로 변환하고, 상기 벡터 그래픽으로 변환된 객체들을 임의의 사용자 단말기에 제공하여, 상기 전자 문서에 포함된 다양한 객체들을 다양한 브라우저에서 출력할 수 있다.
전술한 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 데이터 처리 시스템 100: HTML 변환 장치
200: 사용자 단말기 110: 통신부
120: 제어부 130: 문서 포맷 탐지부
140: 문서 분석부 150: 객체 관리부
160: HTML 태거 170: 사용자 인터페이스부
180: 저장부

Claims (1)

  1. 수신된 기본 정보에 문서 선택 정보가 포함될 때, 하나 이상의 전자 문서 중에서 상기 수신된 기본 정보에 대응하는 전자 문서를 확인하고, 백그라운드 상태에서 상기 확인된 전자 문서에 대한 HTML 변환을 수행하는 제어부;
    상기 제어부를 통해 상기 문서 선택 정보를 포함하는 기본 정보를 수신할 때 백그라운드 상태로 상기 확인된 전자 문서의 포맷을 확인하는 문서 포맷 탐지부;
    상기 백그라운드 상태로 상기 전자 문서의 속성 정보를 확인하는 문서 분석부;
    상기 백그라운드 상태로 상기 전자 문서를 페이지별로 분리하고, 상기 분리된 각각의 페이지에 포함된 하나 이상의 객체를 확인하며, 상기 확인된 하나 이상의 객체에 대한 페이지 객체별 속성 정보를 확인한 후, 상기 확인된 하나 이상의 객체 중에서 기설정된 벡터 변환 가능 객체를 상기 수신된 상기 사용자 단말기에 설치된 웹 브라우저에서 지원하는 벡터 포맷에 맞추어 재구성하거나 벡터 구현 스크립트를 통해 재구성하는 객체 관리부; 및
    상기 재구성된 객체 및 상기 확인된 하나 이상의 객체 중에서 상기 웹 브라우저에서 HTML로 직접 표현 가능한 객체를 비율에 따른 크기 조절이 가능하도록 각각 HTML화하여 상기 전자 문서의 각각의 페이지에 대응하는 HTML 파일을 생성하는 HTML 태거;를 포함하는 것을 특징으로 하는 하이퍼텍스트 생성 언어 변환 장치.
KR1020120070124A 2012-06-28 2012-06-28 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 KR20140003788A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120070124A KR20140003788A (ko) 2012-06-28 2012-06-28 하이퍼텍스트 생성 언어 변환 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120070124A KR20140003788A (ko) 2012-06-28 2012-06-28 하이퍼텍스트 생성 언어 변환 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20140003788A true KR20140003788A (ko) 2014-01-10

Family

ID=50140084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120070124A KR20140003788A (ko) 2012-06-28 2012-06-28 하이퍼텍스트 생성 언어 변환 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20140003788A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101660489B1 (ko) * 2015-09-04 2016-09-30 (주)쿠쿠닥스 웹 오피스 구현 시스템 및 구현 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
CN112861481A (zh) * 2021-01-29 2021-05-28 北京尚医智信健康管理有限公司 分页处理的方法、装置、电子设备及计算机可读存储介质
KR102596260B1 (ko) * 2022-11-23 2023-10-31 망고클라우드 주식회사 기업 콘텐츠 관리 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101660489B1 (ko) * 2015-09-04 2016-09-30 (주)쿠쿠닥스 웹 오피스 구현 시스템 및 구현 방법
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
CN112861481A (zh) * 2021-01-29 2021-05-28 北京尚医智信健康管理有限公司 分页处理的方法、装置、电子设备及计算机可读存储介质
CN112861481B (zh) * 2021-01-29 2024-01-30 北京尚医智信健康管理有限公司 分页处理的方法、装置、电子设备及计算机可读存储介质
KR102596260B1 (ko) * 2022-11-23 2023-10-31 망고클라우드 주식회사 기업 콘텐츠 관리 시스템

Similar Documents

Publication Publication Date Title
US9047261B2 (en) Document editing method
CN102262623B (zh) 字符输入编辑方法及设备
KR101206404B1 (ko) 하이퍼텍스트 생성 언어 변환 장치 및 그 방법
Smutný Mobile development tools and cross-platform solutions
CN101183355B (zh) 复制和粘贴处理方法及装置
US11017052B1 (en) Electronic forms interaction framework for a consistent user experience
US20210149842A1 (en) System and method for display of document comparisons on a remote device
KR20140003788A (ko) 하이퍼텍스트 생성 언어 변환 장치 및 그 방법
US10367962B2 (en) Information processing system, information processing apparatus, and information processing method
CN114330233A (zh) 通过文件底版实现电子表单内容与文件相互关联的方法
US9495334B2 (en) Visualizing content referenced in an electronic document
US8745521B2 (en) System and method for annotating graphical user interface
CN101308489A (zh) 电子表单中的声明式尺寸可变列表
US10616434B2 (en) Information processing system, information processing apparatus, and information processing method
EP2913751A1 (en) Terminal device, device driver program and external peripheral device control method
KR101204039B1 (ko) 문자열 추출 시스템 및 그 방법
US20080037051A1 (en) Document display processor, computer readable medium storing document display processing program, computer data signal and document display processing method
US20170031889A1 (en) Creating a communication editable in a browser independent of platform and operating system
US20150324157A1 (en) Printer driver and prohibition process control method for printer driver
JP6897303B2 (ja) 文書変換プログラム、文書変換方法および文書変換装置
US20150331728A1 (en) User terminal device for supporting data share function and methods thereof
US9639317B2 (en) Image output apparatus, image output method and program-stored computer readable storage medium with output control based on region/language settings
CN113342450B (zh) 页面处理的方法、装置、电子设备及计算机可读介质
JP5427931B2 (ja) 帳票サーバ装置、帳票サーバ装置の制御方法および帳票サーバ装置の制御プログラム
US20190012400A1 (en) Information processing apparatus and non-transitory computer readable medium

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination