KR102302607B1 - 전자문서를 생성하는 서버 및 그 방법 - Google Patents

전자문서를 생성하는 서버 및 그 방법 Download PDF

Info

Publication number
KR102302607B1
KR102302607B1 KR1020190135555A KR20190135555A KR102302607B1 KR 102302607 B1 KR102302607 B1 KR 102302607B1 KR 1020190135555 A KR1020190135555 A KR 1020190135555A KR 20190135555 A KR20190135555 A KR 20190135555A KR 102302607 B1 KR102302607 B1 KR 102302607B1
Authority
KR
South Korea
Prior art keywords
layout
electronic document
server
shared
document
Prior art date
Application number
KR1020190135555A
Other languages
English (en)
Other versions
KR20210050935A (ko
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 KR1020190135555A priority Critical patent/KR102302607B1/ko
Publication of KR20210050935A publication Critical patent/KR20210050935A/ko
Application granted granted Critical
Publication of KR102302607B1 publication Critical patent/KR102302607B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

서버의 전자문서생성방법이 개시된다. 본 방법은, 기 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 제공하는 단계, 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 순차적으로 제공하는 단계, 질문에 대한 답변이 입력되면, 선택된 레이아웃 및 답변을 결합하여 전자 문서를 생성하는 단계를 포함한다. 이에 따라, 문서를 전자 문서 형태로 변환하여 효과적으로 관리할 수 있다.

Description

전자문서를 생성하는 서버 및 그 방법 { SERVER FOR PROVIDING ELECTRONIC DOCUMENT AND METHODS THEREOF }
본 발명은 전자 문서를 생성하여 저장 및 관리하는 서버 및 그 방법에 대한 것이다.
전자 기술 및 네트워크 기술의 발달에 힘입어, 종이문서 대신 전자문서를 사용하는 경우가 많아지고 있다. 종이문서는 보관에 필요한 공간이 많이 필요하고, 자료 검색도 어려우며, 타인과 공유하기에도 어려움이 있는 반면, 전자문서의 경우 보관이 용이할 뿐더러, 인터넷을 통한 공유도 용이하다는 장점이 있다.
이에 따라, 종이문서 대신 전자문서를 생성하여 사용하는 방법이 많이 개발되었다. 하지만, 종래의 시스템에서는 전자문서의 레이아웃과 컨텐츠의 구분이 이루어지지 않아. 전자문서 내에 포함된 컨텐츠의 검색이나, 활용에 있어서 어려움이 있었다. 또한, 전자문서를 저장하는 저장 용량도 많이 필요하다는 문제점이 있었다.
이에 따라, 전자 문서를 보다 효율적인 방법으로 생성하고 저장 및 관리하는 기술에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은 전자문서를 효과적으로 생성하고 저장 및 관리하는 방법 및 그 방법을 수행하는 장치를 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버의 전자문서생성방법은, 전자 문서 플랫폼 사용을 위한 UI를 제공하는 단계, 상기 UI 상에서 문서 유형이 선택되면, 기 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 제공하는 단계, 상기 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 순차적으로 제공하는 단계, 상기 질문에 대한 답변이 입력되면, 상기 선택된 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성하는 단계를 포함한다.
또한, 상기 선택된 레이아웃에 대한 편집 요청이 입력되면, 상기 선택된 레이아웃을 편집하기 위한 편집 UI를 제공하는 단계 및 상기 편집 UI에서 편집이 수행되면, 편집된 레이아웃을 사용자 개별 레이아웃 DB에 저장하는 단계, 상기 편집된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 제공하는 단계; 및 상기 질문에 대한 답변이 입력되면 상기 편집된 레이아웃을 결합하여 상기 전자문서를 생성하는 단계를 더 포함할 수도 있다.
또는, 상기 전자문서가 생성된 이후에 상기 선택된 레이아웃 또는 상기 전자 문서에 대한 편집 요청이 입력되면, 편집 UI를 제공하는 단계, 상기 편집 UI에서 편집된 내용에 따라 상기 전자문서를 재구성하는 단계를 더 포함할 수도 있다.
그리고, 상기 선택된 문서 유형에 해당하는 공유 레이아웃 중 복수의 레이아웃이 선택되면, 선택된 복수의 레이아웃을 하나의 화면으로 제공하는 단계, 상기 복수의 레이아웃 각각을 구성하는 파트들 중에서 복수의 파트가 선택되면, 선택된 파트들을 조합하여 하나의 레이아웃을 생성하는 단계, 상기 생성된 레이아웃에 포함된 각 입력 항목에 해당하는 질문을 제공하는 단계 및 상기 질문에 대한 답변이 입력되면 상기 생성된 레이아웃을 결합하여 상기 전자문서를 생성하는 단계를 더 포함할 수도 있다.
또는, 사용자 정보에 기초하여, 상기 서버에 저장된 공유 레이아웃 중 추천 레이아웃을 제공하는 단계를 더 포함할 수 도 있다.
한편, 전자 문서 플랫폼을 제공하는 서버는, 외부 장치와 통신을 수행하기 위한 통신부, 공유 레이아웃이 저장된 저장부 및 프로세서를 포함한다. 여기서, 상기 프로세서는, 상기 전자 문서 플랫폼 사용을 위한 UI를 상기 통신부를 통해 상기 외부 장치로 제공하고, 상기 UI 상에서 문서 유형이 선택되면, 상기 저장부에 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 상기 UI에 표시하며, 상기 UI 상에서 하나의 공유 레이아웃이 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 순차적으로 제공하고, 상기 질문에 대한 답변이 입력되면, 상기 선택된 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성한다.
또한, 상기 프로세서는, 상기 선택된 레이아웃에 대한 편집 요청이 입력되면, 상기 선택된 레이아웃을 편집하기 위한 편집 UI를 상기 외부 장치로 제공하고, 상기 편집 UI에서 편집이 수행되면, 편집된 레이아웃을 상기 저장부에 마련된 사용자 개별 레이아웃 DB에 저장하며, 상기 편집된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 제공하고, 상기 질문에 대한 답변이 입력되면 상기 편집된 레이아웃과 결합하여 상기 전자문서를 생성할 수도 있다.
또는, 상기 프로세서는, 상기 전자문서가 생성된 이후에 상기 선택된 레이아웃 또는 상기 전자 문서에 대한 편집 요청이 입력되면, 편집 UI를 상기 외부 장치로 제공하고, 상기 편집 UI에서 편집된 내용에 따라 상기 전자문서를 재구성할 수도 있다.
그리고, 상기 프로세서는, 상기 선택된 문서 유형에 해당하는 공유 레이아웃 중 복수의 레이아웃이 선택되면, 선택된 복수의 레이아웃을 상기 UI에 표시하고, 상기 복수의 레이아웃 각각을 구성하는 파트들 중에서 복수의 파트가 선택되면, 선택된 파트들을 조합하여 하나의 레이아웃을 생성하며, 상기 생성된 레이아웃에 포함된 각 입력 항목에 해당하는 질문을 상기 UI를 통해 제공하고, 상기 질문에 대한 답변이 입력되면 상기 생성된 레이아웃과 결합하여 상기 전자문서를 생성할 수도 있다.
또한, 상기 프로세서는, 사용자 정보에 기초하여, 상기 서버에 저장된 공유 레이아웃 중 추천 레이아웃을 결정하여 상기 UI에 표시할 수도 있다.
한편, 본 발명의 일 실시 예에 따르면, 전자 문서를 생성 및 관리하는 프로그램이 저장된 기록 매체에 있어서, 상기 프로그램은, 전자 문서 플랫폼 사용을 위한 UI를 생성하는 단계, 상기 UI 상에서 문서 유형이 선택되면, 기 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 상기 UI에 표시하는 단계, 상기 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 순차적으로 제공하는 단계 및 상기 질문에 대한 답변이 입력되면, 상기 선택된 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성하는 단계를 수행할 수 있다.
이상과 같은 다양한 실시 예에 따르면, 전자 문서를 편리하게 생성하고 저장 용량도 줄일 수 있으며, 다양한 방식으로 활용할 수도 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 전자문서관리플랫폼의 동작을 설명하기 위한 도면,
도 2 및 도 3은 전자문서의 레이아웃과 컨텐츠를 구분하는 방법의 일 예를 설명하기 위한 도면,
도 4는 전자문서의 레이아웃과 컨텐츠를 구분하는 방법의 다른 예를 설명하기 위한 도면,
도 5는 전자문서의 레이아웃과 컨텐츠를 구분하는 방법의 또 다른 예를 설명하기 위한 도면,
도 6은 본 발명의 일 실시 예에 따른 서버의 구성을 나타내는 블럭도,
도 7은 복수의 가상 DB를 생성하여 문서를 관리하는 서버의 동작을 설명하기 위한 블럭도,
도 8 내지 도 11은 가상 DB를 생성하기 위한 사용자 UI의 일 예를 나타내는 도면,
도 12 및 도 13은 전자문서관리플랫폼이 제공하는 사용자 UI의 다양한 예를 나타내는 도면,
도 14는 공유 레이아웃을 이용하여 전자문서를 생성하는 방법을 설명하기 위한 도면,
도 15는 전자 문서에 대한 서명을 요청하는 방법을 설명하기 위한 도면,
도 16은 본 발명의 다양한 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도,
도 17은 본 발명의 또 다른 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도,
도 18 및 도 19는 UI를 통해서 컨텐츠를 입력받는 다양한 방법을 설명하기 위한 도면,
도 20은 본 발명의 또 다른 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도,
도 21은 도 20의 방법을 실행하는 UI의 일 예를 나타내는 도면,
도 22는 본 발명의 일 실시 예에 따른 단말 장치의 구성을 나타내는 블럭도,
도 23 및 도 24는 단말 장치를 이용하여 전자문서의 레이아웃을 설정하는 다양한 방법들을 설명하기 위한 도면이다.
본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 이용하여 본 개시에 대해 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 전자문서관리플랫폼의 동작을 설명하기 위한 도면이다. 도 1에 따르면, 전자문서관리플랫폼은 서버(100)와 같은 전자 장치에 의해 구현될 수 있다.
서버(100)는 각종 외부 장치들과 통신을 수행할 수 있다. 도 1에서는 사용자 단말(200) 및 제3자 단말(300)과 통신을 수행하는 것으로 도시하였으나, 단말의 개수는 이에 한정되지 않으며, 통신할 대상 단말의 종류나 통신 방식 등도 다양하게 구현될 수 있다.
사용자 단말(200)은 전자문서를 변환하고자 하는 사용자가 사용하는 단말 장치를 의미한다. 사용자는 변환하고자 하는 문서 파일(10)을 사용자 단말(200)을 통해 서버(100)로 제공할 수 있다. 사용자 단말(200)은 PC, 랩탑 PC, 휴대폰, 태블릿 PC 등과 같은 다양한 형태의 장치가 사용될 수 있으나, 이에 한정되지는 않는다. 가령, 사용자는 USB 메모리에 문서 파일(10)을 저장하여, 서버(100)에 연결하여 직접 입력할 수도 있다.
서버(100)는 입력된 문서 파일(10)을 HTML 문서(20)로 변환한다. 서버(100)는 HTML 문서에 기초하여, 레이아웃과 컨텐츠를 구분하고, 각각 별개의 데이터베이스(DB)에 저장한다. 설명의 편의상 이를 레이아웃 DB 및 컨텐츠 DB라고 한다.
서버(100)는 사용자 요청이 있으면 레이아웃 DB 및 컨텐츠 DB로부터 각각 레이아웃과 컨텐츠를 독출하여 HTML 문서를 제공할 수 있다. 사용자 요청이란 문서 변환 이후에 그 문서를 열람할 제3자를 지정하기 위한 사용자 입력, 최초 문서 제공 시 필요 정보를 입력하는 과정에서 제3자를 지정하는 사용자 입력, 기 설정된 주기 등과 같은 다양한 이벤트를 포함할 수 있다.
HTML 문서의 제공은 다양한 형태로 이루어질 수 있다. 일 예로, 서버(100)는 변환된 HTML 문서(20)를 열람할 수 있는 링크 정보를 제3자 단말(300)로 전송한다. 링크 정보란 서버(100)가 제공하는 웹 페이지로 바로 액세스할 수 있는 URL 주소 등이 포함된 정보를 의미한다. 또한, 제3자 단말(300)이란 문서 파일을 제공한 사용자가 아닌 다른 사용자가 사용하는 단말 장치를 의미한다. 설명의 편의를 위해서, 본 명세서에서는 문서 파일을 제공한 사용자를 제1 사용자, 문서 파일을 열람하는 제3자를 제2 사용자라고 한다.
상술한 바와 같이, 제2 사용자는 제1 사용자에 의해 지정될 수 있다. 제1 사용자는 자신이 입력한 문서 파일에 대응되는 전자문서, 즉, HTML 문서를 열람해도 되는 권한을 가진 사람을 제2 사용자로 지정할 수 있다. 다만, 이는 일 예에 불과하며, 다른 실시 예에 따르면, 제2 사용자는 서버(100)의 관리자에 의해 지정되거나, 별다른 지정 행위 없이 서버(100)에 등록된 사용자라면 누구나 제2 사용자로 지정되도록 구현될 수도 있다.
제3자 단말(300)은 링크 정보를 출력하여 제2 사용자가 전자문서 생성 사실을 알 수 있도록 한다. 제2 사용자가 링크 정보를 선택하면, 제3 단말(300)은 서버(100)에 액세스한다. 서버(100)는 제3자 단말(300)로 HTML 문서를 열람하기 위한 화면 데이터를 제공한다.
도 1에서는 링크 정보를 제공하는 것으로 설명하였으나, 다른 실시 예에 따르면, 서버(100)는 링크 정보 대신에 바로 HTML 문서 자체를 사용자 단말(100) 및 제3자 단말(300) 중 적어도 하나로 제공할 수도 있다.
도 2는 도 1의 서버(100)에서 입력되는 문서의 일 예를 나타낸다. 도 2에서는 AAA 유치원에서 제공하는 일일계획/일지 문서를 나타낸다. 통상적으로 문서는 레이아웃과 컨텐츠로 구성된다. 레이아웃이란 문서의 형태를 구성하는 각종 정보를 포함한다. 컨텐츠란 레이아웃 내에 채워진 의미있는 정보를 의미한다. 문서가 실험 결과가 정리된 테이블이라면, 레이아웃은 그 테이블의 선에 해당하고, 컨텐츠란 그 테이블 내에 채워진 각종 실험 결과가 될 수 있다. 컨텐츠에는 텍스트 뿐만 아니라 이미지, 테이블 등 다양한 정보가 포함될 수 있다. 레이아웃에는 각종 선 뿐만 아니라 반복적으로 나타내는 텍스트도 포함될 수 있다.
도 2의 문서에서 레이아웃과 텍스트를 구분해보면, 매번 반복되는 타이틀(11-1)과, 업체 명(11-2), 각종 기록 항목의 명칭(11-3 ~ 11-14) 및 이를 포함하는 테이블 등이 레이아웃으로 분류될 수 있다. 반대로 그 안에 채워진 정보는 컨텐츠로 분류될 수 있다. 도 2에서는 날짜(12-1), 기록자 이름(12-2), 주제 내용(12-3), 목표 내용(12-4) 등의 다양한 텍스트 및 이미지(12-5 ~ 12-11) 등이 컨텐츠로 분류될 수 있다.
서버(100)는 레이아웃 데이터와 컨텐츠 데이터를 분리한 후, 레이아웃 DB와 컨텐츠 DB에 각각 저장한다.
레이아웃 데이터와 컨텐츠 데이터의 분리는 다양한 방식으로 이루어질 수 있다. 일 예로, HTML 태그를 기준으로 레이아웃과 컨텐츠를 분리할 수 있다.
서버(100)는 입력 문서를 HTML 문서로 변환한 후, 그 문서 내의 태그들을 분석하여 제1 그룹 태그 및 제2 그룹 태그로 구분할 수 있다. 제1 그룹 태그란 레이아웃을 구성하기 위하여 사용되는 속성의 태그들을 의미하고, 제2 그룹 태그란 그 레이아웃 내에 채워지는 컨텐츠를 구성하기 위하여 사용되는 속성의 태그들을 의미한다. 서버(100)는 제1 그룹 태그에 포함되는 데이터를 레이아웃 DB에 저장하고, 제2 그룹 태그에 포함되는 데이터를 컨텐츠 DB에 저장한다.
도 3은 도 2에 대응되는 HTML 문서의 일부를 나타낸다. 서버(100)는 도 2의 문서 파일을 HTML 변환하여, 도 3과 같은 문서 데이터를 획득할 수 있다. 도 3에 따르면, HTML 문서는 타이틀 태그, 메타 태그, 스타일 태그 등을 포함하는 <head> 영역과, 문서 내에 표시되는 각 파트에 해당하는 <body> 영역으로 구분될 수 있다.
<body> 영역에는 레이아웃을 구분하는 적어도 하나의 <div> 태그, 이미지를 넣기 위한 <img> 태그, 표를 나타내는 <table> 태그, 입력 형태를 정의하기 위한 <input> 태그 등과 같이 다양한 태그가 포함될 수 있다.
서버(100)는 이러한 태그들 중 텍스트, 이미지, 표 등과 같이 컨텐츠에 해당하는 태그들은 컨텐츠 태그, 즉, 제2 그룹으로 분류하고, 나머지 태그들은 레이아웃 태그, 즉, 제1 그룹으로 미리 분류해둘 수 있다. 이에 따라, 서버(100)는 태그를 기준으로 레이아웃과 컨텐츠를 구분할 수 있다.
다른 예로, 서버(100)는 복수의 문서를 서로 비교하여 중복되는지 여부에 따라 레이아웃과 컨텐츠를 구분할 수 있다.
도 4는 본 발명의 다른 에에 따른 레이아웃 및 컨텐츠 분리 방법을 설명하기 위한 도면이다. 도 4에 따르면, 복수의 문서(40-1 ~ 40-n)가 입력된 상태를 나타낸다. 입력되는 문서(40-1 ~ 40-n)는 Doc, Hwp, Xls 등의 다양한 프로그램으로 작성된 문서 파일일 수도 있고, PDF와 같은 이미지 파일일 수도 있으며, 오프라인 상에서 제공된 종이 문서일 수도 있다. 종이 문서인 경우, 서버(100)는 카메라나 스캐너를 이용하여 이미지를 획득할 수도 있다.
서버(100)는 각 문서(40-1 ~ 40-n)를 픽셀이나 라인, 영역 별로 비교하여 중복 여부를 판단할 수 있다. 일 예로, 서버(100)는 각 문서 이미지를 n*m개의 픽셀 그룹으로 구분한 후, 각 픽셀 그룹의 픽셀값의 대표값을 산출한다. 대표값은 그 픽셀 그룹내의 각 픽셀의 평균 픽셀값이나, RMS(Root Means Square) 값 등이 사용될 수 있으나 이에 한정되지 않는다. 흑백 이미지인 경우, 그레이레벨이 픽셀값처럼 사용될 수도 있다.
서버(100)는 유사한 대표값들이 연속적으로 검출되면, 그 픽셀그룹이 연결된 것으로 판단한다. 이에 따라, 연결된 픽셀 그룹들 사이의 방향 벡터를 구하고, 그 픽셀 그룹의 크기 및 형태를 검출할 수 있다. 서버(100)는 검출된 픽셀 그룹들에 대한 정보가 텍스트를 구성하는지 여부를 판단한다. 서버(100)는 한글이나, 영문, 중문, 일문 등과 같은 각종 언어 DB에 기재된 문자 형태와 픽셀 그룹들의 형태를 비교하여, 텍스트에 해당하는지 여부를 판단할 수 있다.
서버(100)는 텍스트가 아니라고 판단되면, 픽셀 그룹들이 일정 길이 이상의 직선 형태를 포함하는지 여부를 판단한다. 직선 형태가 포함된다고 판단되면, 서버(100)는 테이블로 판단한다. 직선 형태가 포함되지 않으면서 다양한 픽셀 값들을 가지는 픽셀 그룹들이 사각이나 원형 등의 특정 영역 내에 밀집해 있으면, 서버(100)는 해당 픽셀 그룹들이 이미지를 구성하는 것으로 판단한다.
서버(100)는 각 문서(40-1 ~ 40-n) 별로 이러한 객체들을 검출한 후, 서로 비교하여 동일 객체가 동일 위치에 나타나는지 여부를 판단한다. 스캔 이미지나 촬영 이미지의 경우, 스캔이나 촬영 과정에서 위치가 틀어질 수가 있기 때문에, 서버(100)는 일정 오차 크기 범위 이내의 객체가 일정 오차 범위 이내의 영역에서 반복적으로 나타난다면, 동일 객체가 동일 위치에 나타나는 것으로 판단할 수 있다.
서버(100)는 기 설정된 임계 개수 이상의 문서에서 동일 객체가 발견되면, 그 객체는 레이아웃을 구성하는 것으로 판단한다. 즉, 이미지나, 텍스트, 테이블 등도 레이아웃으로 판단될 수 있다. 서버(100)는 반복적으로 나타나지 않는 이미지나 텍스트, 테이블 등은 컨텐츠로 판단한다.
도 4에서는 각 문서(40-1 ~ 40-n)에서 일지, 시간, 활동, 오전, 점심, 오후 등의 텍스트와 그 주변 테이블은 반복적으로 나타나므로 레이아웃(41)으로 판단된다. 반면, 그 레이아웃(41) 내에 채워지는 컨텐츠들(42-1 ~ 42-n)은 반복적으로 나타나지 않게 된다. 이에 따라, 서버(100)는 전체 문서(40-1 ~ 40-n)들로부터 레이아웃(41)과 컨텐츠(42-1 ~ 42-n)를 분리할 수 있게 된다.
한편, 또 다른 실시 예에 따르면, 문서를 제공한 제공자가 레이아웃과 컨텐츠를 직접 선택하도록 구현할 수도 있다. 도 5는 이러한 레이아웃과 컨텐츠를 구분하는 또 다른 방법을 설명하기 위한 도면이다.
도 5에 따르면, 서버(100)는 온라인 상에서 액세스한 사용자가 제공한 문서를 사용자 단말(100)의 화면 상에 디스플레이한다. 서버(100)는 문서(10) 내의 각 영역을 지정할 수 있는 툴(tool)도 함께 제공할 수 있다. 도 5에서는 커서(50)로 특정 영역(51)을 선택한 후, 레이아웃으로 선정하는 과정을 도시하였다. 사용자는 자신의 문서(10)내에서 레이아웃처럼 활용할 부분을 직접 선택하여, 계속 활용할 수 있다.
이상 설명한 바와 같이 서버(100)는 다양한 방식으로 문서의 레이아웃과 컨텐츠를 분리할 수 있다. 상술한 동작을 수행하기 위한 서버(100)는 다양한 형태로 구성될 수 있다.
도 6은 본 발명의 일 실시 예에 따른 서버(100)의 구성을 나타내는 블럭도이다. 도 6에 따르면, 서버(100)는 저장부(110), 통신부(120) 및 프로세서(130)를 포함한다.
저장부(110)는 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등과 같이 프로세서(130)의 내부 메모리로 구현되거나, 프로세서(130)와 별도의 메모리로 구현될 수도 있다. 이 경우, 저장부(110)는 데이터 저장 용도에 따라 서버(100)에 임베디드된 메모리 형태로 구현되거나, 탈부착이 가능한 메모리 형태로 구현될 수도 있다.
구체적으로는, 저장부(110)는 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)), 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 메모리, 외장 하드 등과 같은 다양한 형태로 구현될 수 있다.
저장부(110)는 각종 데이터 및 프로그램을 저장한다. 일 예로, 서버 장치(100)를 구동시키기 위한 O/S(Operating System), 각종 API, 그래픽 프로세싱 모듈, Docker 엔진, DB 등이 저장부(110)에 저장될 수 있다.
통신부(120)는 각종 외부 장치와 통신을 수행하기 위한 구성요소이다. 통신부(120)는 다양한 유형의 외부 장치들과 통신을 수행하기 위한 구성이다. 통신부(120)는 LAN, 무선 LAN, 와이파이, 블루투스, NFC(Near Field Communication), 지그비 등과 같은 다양한 유무선 통신 인터페이스를 통해서 외부 장치와 통신을 수행할 수 있다. 설명의 편의를 위해서 통신부(120)로 명명하였으나, 통신부(120)는 외부 장치와의 유선 연결을 위한 포트까지 포함하는 개념으로 이해될 수 있다.
프로세서(130)는 서버(100)의 각 구성의 동작을 전반적으로 제어하기 위한 구성이다. 프로세서(130)는 저장부(110)에 저장된 각종 명령어를 실행시켜, 상술한 여러 실시 예에 따른 문서 변환 작업, 컨텐츠 및 레이아웃 분리 작업, 저장 작업, 전자 문서 조합 작업, 검색 작업 등을 수행할 수 있다.
구체적으로는, 프로세서(130)는 통신부(120)를 통해 문서가 수신되면, 저장부(110)에 저장된 적어도 하나의 명령어의 실행에 의해 HTML 변환 작업을 수행한다. 프로세서(130)는 변환된 문서의 레이아웃과 컨텐츠를 분리하여 레이아웃 DB 및 컨텐츠 DB에 각각 저장한다. 레이아웃 DB 및 컨텐츠 DB는 저장부(110)에 마련될 수 있다. 상술한 바와 같이 저장부(110)는 외부 저장소까지 포함하므로, 레이아웃 DB 및 컨텐츠 DB가 반드시 서버(100) 내에 마련되어야 하는 것은 아니다. 또한, 서버(100)는 하나의 독립적인 장치로만 구현되는 것은 아니라, 클라우드 서버 형태로 구현될 수도 있다.
본 발명의 다양한 실시 예에 따르면, 프로세서(130)는 컨텐츠 및 레이아웃 둘 다 암호화하여 DB에 저장할 수도 있고, 이들 중 하나만 암호화하여 저장할 수도 있다. 암호화 대상 및 암호화 방법은 보안성, 데이터 저장 용량, 프로세서 성능 등 다양한 측면을 고려하여 설정할 수 있다. 일 예로, 본 발명의 일 실시 예에 따르면, 프로세서(130)는 레이아웃은 그대로 레이아웃 DB에 저장하고, 컨텐츠 부분만 바이너리 데이터로 암호화하여 컨텐츠 DB에 저장할 수도 있다. 바이너리 암호화 방식에 대해서는 이미 공지된 바 있으므로 중복 설명은 생략한다.
프로세서(130)는 사용자 요청이 접수되면 레이아웃 DB로부터 레이아웃을 검출하고, 컨텐츠 DB로부터 컨텐츠를 검출한 후 조합하여 HTML 문서를 생성한다. HTML 문서에서 레이아웃과 컨텐츠를 분리하는 방법에 대해서는 상술한 바와 같이 다양하게 설명하였으므로 중복 설명은 생략한다.
프로세서(130)는 통신부(120)를 통해 액세스하는 사용자들의 요청에 따라 문서 변환 작업, 링크 정보 전송 작업, UI 제공 작업, 회원 등록 작업 등 다양한 동작을 수행할 수 있다.
도 7은 본 발명의 다양한 실시 예에 따른 서버 장치의 동작을 설명하기 위한 도면이다. 도 7에 따르면, 하나의 서버(100)가 n개의 사용자 단말 장치(200-1 ~ 200-n)와 통신하는 것으로 도시하였으나, 서버 및 단말의 개수는 이에 한정되지 않는다. 도 7에서는 설명의 편의를 위해서 제1 내지 제n 사용자로 도시하였으나, 이는 사용자 그 자신뿐만이 아니라, 각 사용자들이 이용 또는 보유한 단말 장치를 의미할 수도 있다.
서버(100)의 프로세서(130)는 제1 사용자(200-1)로부터 회원 가입 요청이 접수되면 회원 가입을 위한 UI를 제1 사용자(200-1)에게 제공한다. 구체적으로는, 제1 사용자는 자신의 단말(200-1)에서 웹 브라우저를 실행시킨 후, 서버(100)가 운영하는 웹 페이지의 URL을 입력하여 서버(100)에 액세스할 수 있다. 프로세서(130)는 웹 페이지를 표현하기 위한 데이터를 통신부(120)를 통해 제1 사용자(200-1)에게 제공한다. 프로세서(130)는 웹 페이지 상에서 회원 가입 메뉴가 선택되고, 이후 표시되는 UI에서 회원 가입에 필요한 정보가 모두 입력되면, 회원 가입 요청이 접수된 것으로 판단한다. 프로세서(130)는 회원 가입을 위한 필수 항목이 모두 입력되면, 제1 사용자(200-1)를 위한 가상 DB(110-1)를 생성한다. 일 예에 따르면, 가상 DB는 Docker가 될 수 있다. 가상 DB는 다르게는 워크 스페이스, 사용자 전용 영역 등으로 부를 수도 있으나, 본 명세서에서는 가상 DB로 통칭하여 설명한다. 프로세서(130)는 가상 DB(110-1) 내에 제1 레이아웃 DB(111-1) 및 제1 컨텐츠 DB(112-1)를 생성한다. 이에 따라, 제1 사용자가 제공하는 문서로부터 분리되는 레이아웃들은 제1 레이아웃(111-1)에 저장하고, 컨텐츠는 제1 컨텐츠 DB(112-1)에 저장한다. 프로세서(130)는 새로운 사용자들, 가령, 제2 내지 제n 사용자(200-2 ~ 200-n)들이 회원가입할 때마다 그에 대응되는 가상 DB(110-2 ~ 110-n)를 생성하고, 그 DB 내에 레이아웃 DB(111-2 ~ 111-n) 및 컨텐츠 DB(112-2 ~ 112-n)를 각각 마련한다. 이와 같이, 사용자 별로 가상 DB를 별도로 마련하여 관리함으로써, 보안성을 강화할 수 있다.
한편, 사용자는 자신의 문서를 공유할 사람을 직접 선택할 수 있다. 일 예로, 제1 사용자(200-1)가 제2 사용자(200-2)를 지정하였다면, 프로세서(130)는 제1 사용자(200-1)의 전자 문서에 대한 링크 정보를 제2 사용자(200-2)에게 제공한다. 제공 방식은 제1 사용자가 입력한 정보나 제2 사용자가 사용하는 단말 장치 종류 등에 따라 달라질 수 있다. 일 예로, 제2 사용자가 휴대폰을 사용한다면, 문자 메시지나 메신저, 메일 등의 형태로 제공될 수 있다. 링크 정보에는 해당 전자 문서에 대한 URL이 포함될 수 있다. 문자 메시지로 제공되는 경우에는, 제1 사용자는 회원 가입 시 또는 열람 공유 요청 시에 제2 사용자의 휴대폰 번호를 입력하여야 한다. 프로세서(130)는 제2 사용자의 단말 장치에서 링크 정보가 선택되면, 프로세서(130)는 제1 사용자의 문서의 레이아웃과 컨텐츠를 제1 레이아웃 DB(111-1) 및 제1 컨텐츠 DB(112-1)에서 검출 및 조합하여 HTML 문서를 재생성한 화면을 구성하고, 제2 사용자의 단말 장치(200-2)로 그 화면, 즉, HTML 문서를 열람하기 위한 화면 데이터를 제공한다.
한편, 본 발명의 다른 실시 예에 따르면, 문서를 올린 사용자는 문서를 열람할 사용자 뿐만 아니라 자신과 더불어 문서를 올리거나, 편집이 가능한 사용자를 추가로 선정할 수도 있다. 일 예로, 제1 사용자는 회원 가입을 할 때나 그 이후에 다른 사람에게 편집 권한을 부여할 수 있다. 설명의 편의를 위하여, 본 명세서에서는 제3 사용자에게 편집 권한을 부여한 것으로 가정한다. 프로세서(130)는 편집 권한을 받은 제3 사용자가 서버(100)에 액세스하면, HTML 문서를 편집할 수 있는 화면 데이터를 제3 사용자의 단말 장치로 제공할 수 있다. 이 경우, 제1 사용자에게 제3 사용자의 접속 사실을 통지할 수도 있다.
또한, 본 발명의 다른 실시 예에 따르면, 각 사용자들은 자신의 문서에 포함된 레이아웃을 타인과 공유할 수 있도록 설정할 수도 있다. 일 예로, 제1 사용자가 제1 레이아웃 DB(111-1)에 저장된 레이아웃 중 적어도 하나를 공유 레이아웃으로 선정하는 경우, 프로세서(130)는 그 공유 레이아웃을 공유 DB(115)에 저장할 수 있다.
프로세서(130)는 공유 DB(115)에 저장된 공유 레이아웃은 다른 사용자들이 사용 가능하도록 제공하여 줄 수 있다. 이러한 상태에서 또 다른 사용자, 가령, 제4 사용자가 공유 레이아웃에 대한 확인을 요청하면, 프로세서(130)는 공유 DB에 저장된 공유 레이아웃들을 확인할 수 있는 화면 데이터를 제4 사용자의 단말 장치로 제공하여 줄 수 있다. 화면 데이터 내에는 공유 레이아웃들의 썸네일 이미지나 제목, 크기, 출처등과 같은 다양한 정보들이 포함될 수 있다. 제4 사용자가 공유 레이아웃 중 하나를 선택하면, 프로세서(130)는 선택된 공유 레이아웃을 제4 사용자의 가상 DB에 저장한다.
본 실시 예에서는 레이아웃의 공유에 대해서만 설명하였으나, 반드시 이에 한정되는 것은 아니며 컨텐츠의 공유까지 확장될 수도 있다. 이 경우 공유 DB는 공유 레이아웃 DB 및 공유 컨텐츠 DB로 구분될 수도 있다.
서버 운영자의 정책에 따라서, 프로세서(130)는 레이아웃 공유에 대한 보상(예를 들어, 포인트나 사은품 및 기타 혜택 )을 제1 사용자에게 제공하여 줄 수도 있다. 또한, 공유 레이아웃을 사용하기 위해서는 반대로 일정 수준 이상의 포인트나 현금 등을 지불해야만 하도록 규정할 수도 있다. 또한, 서버(100)의 회원 가입이나 열람 자격 취득, 편집 자격 취득 등을 위해서도 일정 수준 이상의 대가(현금이나 포인트 등)를 지불하도록 규정될 수도 있다. 즉, 서버가 운영하는 전자 문서 플랫폼의 운영 정책에 따라서 다양한 서비스가 이루어질 수 있다.
도 6 및 도 7에서는 본 발명의 다양한 실시 예를 설명하기 위해 필요한 구성요소들만을 도시하였으나, 서버(100)의 구성 요소는 서버(100)의 종류나 크기, 개수 등에 따라 추가되거나 축소, 변경될 수 있다. 예를 들어, 서버(100)에는 각종 디스플레이나 스피커, I/O(Input/Output) 인터페이스, 입력 수단, 버스 시스템, 버퍼 등과 같은 다양한 구성요소들이 추가될 수 있다. 하지만, 이들 구성요소는 본 발명의 다양한 실시 예에서 설명하는 동작들과 직접적으로 관련되지 않거나, 관련성이 약하므로 도시 및 설명은 생략한다.
이상 설명한 바와 같이, 서버(100)는 각 사용자들에 대해 다양한 사용자 UI를 제공하고, 그 UI 상에서 입력되는 정보 또는 요청에 따라 다양한 동작을 수행할 수 있다.
먼저, 서버(100)는 회원으로 가입되는 사용자에 대해서 그 사용자를 위한 전용의 가상 DB를 생성한다. 가상 DB 생성에 필요한 정보는 사용자가 사용자 UI를 통해 직접 입력할 수 있다.
도 8 내지 도 11은 가상 DB를 생성하기 위한 사용자 UI의 일 예를 나타내는 도면이다.
사용자가 회원 가입 도중에 또는 회원 가입을 마친 후에 자신만의 워크 스페이스(즉, 가상 DB)를 만들기 위한 메뉴를 선택하면, 서버(100)는 도 8과 같은 UI를 사용자에게 제공할 수 있다.
도 8에 따르면, UI(800)는 가상 DB의 이름을 입력하기 위한 메뉴(810), 각종 안내 텍스트(820), 편집 권한을 갖는 사용자를 선택하기 위한 메뉴(830) 등과 같이 다양한 정보 및 메뉴를 포함할 수 있다. 서버(100)는 이름 입력을 위한 메뉴(810)가 선택되면, UI 형태를 변경한다.
도 9는 첫번째 메뉴(810)를 선택한 이후에 변경된 UI의 일 예를 나타낸다. 도 9에 따르면, 서버(100)는 이름 입력 영역(910), 가상 DB의 색깔을 선택하기 위한 영역(920), 확인 메뉴(930) 등을 포함하는 UI(900)를 생성한다. 사용자는 이름을 입력하고, 색깔을 선택한 후 확인 메뉴(930)를 눌러서 가상 DB를 생성할 수 있다.
이름 입력이나 색깔 선택 등이 없는 경우, 서버(100)는 기 설정된 규칙에 따라 가상 DB의 이름이나 색깔을 임의로 선택할 수 있다.
도 10은 도 8의 UI에서 사용자 추가를 위한 메뉴(830)가 선택된 경우에 변경되는 UI를 나타낸다. 도 10에 따르면, UI(1000)에는 편집 권한을 가질 다른 사용자들의 정보(예를 들어, 이메일이나 전화 번호 등)를 입력할 수 있는 영역(1010)과, 확인 메뉴(1020) 등이 포함될 수 있다.
이상과 같이 사용자는 자신이 사용할 공간, 즉, 가상 DB의 이름이나 표시 형태(색상, 크기, 형태 등), 함께 사용할 사람 등을 직접 선택할 수 있다.
도 11은 사용자가 자신의 가상 DB에 들어가기 위한 UI 구성의 일 예를 나타낸다. 도 11에 도시된 바와 같이, 서버(100)는 사용자가 접속하면, 그 사용자가 생성한 가상 DB(1100-1 ~ 1100-4)를 모두 포함하는 UI(1100)를 제공한다. UI(1100)내에는 새로운 가상 DB를 생성할 수 있는 메뉴(1150)도 포함될 수 있다.
도 12 및 도 13은 전자문서관리플랫폼이 제공하는 사용자 UI의 다양한 예를 나타내는 도면이다. 서버(100)는 사용자가 액세스하면 전자문서 생성, 변환, 등록, 열람 등을 위한 사용자 UI를 사용자의 단말 장치로 제공한다.
도 12에 따르면, 사용자 UI는 세개의 영역(1210, 1220, 1230)으로 구분된다. 제1 영역(1210)은 사용자의 가상 DB 내에 문서를 추가하기 위한 메뉴(1211)를 비롯한 각종 메뉴(1222)와, 자주 사용하는 문서 정보(1223), 최근 문서 정보(1214) 등이 표시된다. 제2 영역(1220)은 각 문서들의 썸네일 이미지나 리스트 등이 표시된다. 제2 영역(1220)의 일 측에는 썸네일 형태로 표시하기 위한 제1 메뉴(1221)와, 리스트 형태로 표시하기 위한 제2 메뉴(1222) 등이 표시된다. 도 12에서는 각 문서들의 썸네일 이미지(1223)가 표시된 상태를 나타낸다. 사용자가 썸네일 이미지 중 하나를 선택하면, 제2 영역(1220) 상에서 해당 문서가 열리게 된다. 제3 영역(1230)은 각종 레이아웃 메뉴(1231)가 표시된다. 이러한 메뉴(1231) 중에는 새로운 전자 문서를 만들기 위한 메뉴(1231-1), 공유 레이아웃을 사고 팔수 있는 폼 마켓을 열기 위한 메뉴(1231-2), 자신의 문서 레이아웃을 공유 레이아웃으로 업로드하기 위한 메뉴(1231-3) 등이 포함될 수 있다.
또한, 도 12에서 제1 및 제3 영역은 사용자 선택에 따라서 좌측 또는 우측으로 접혀서 사라질 수도 있고, 도 12와 같이 함께 표시될 수도 있다. 서버(100)는 사용자 UI를 통해 입력되는 사용자 조작 내용에 따라 다양한 동작을 수행한다.
도 13은 리스트 형태로 각종 문서들(1310)을 표시한 상태의 사용자 UI를 나타낸다. 도 13에서는, 제1 영역이 사라지고 제2 영역(1220) 및 제3 영역(1230)만 남은 사용자 UI(1300)를 나타낸다. 제2 메뉴(1222)가 선택됨에 따라, 기존 전자 문서들의 리스트(1310)가 제2 영역(1220)에 표시된다. 이 중 하나의 전자 문서 상에 커서가 올라가면 그 전자 문서가 하이라이트 표시된다. 도 13에서는 첫번째 외주용역계약서(1310-1)가 하이라이트된 상태를 나타낸다. 이 경우, 제3 영역(1230)에는 그 전자문서(1310-1)에 대한 세부 옵션(1234), 문서 상세 정보(1232), 이력 정보(1233) 등이 표시될수 있다.
도 14는 공유 레이아웃을 이용하여 직접 문서를 작성하는 방법을 설명하기 위한 도면이다. 도 12의 사용자 UI에서 폼 마켓(1231-2)을 선택하면, 제2 영역(1220)에는 공유 레이아웃들의 썸네일 이미지 또는 리스트가 표시된다. 제3 영역(1230)에는 선택된 전자 문서와 관련된 각종 메뉴(1431, 1432, 1433) 등이 표시된다. 사용자는 제2 영역(1220)에 표시된 공유 레이아웃들 중 하나를 선택할 수 있다. 서버(100)는 선택된 공유 레이아웃을 도 14와 같이 제2 영역(1220)에 표시한다. 사용자는 공유 레이아웃 상에서 마우스나 키보드를 이용하여 필요한 정보를 기입하여, 전자 문서를 완성할 수 있다. 문서를 완성한 후, 제3 영역(1230)의 저장 메뉴(1431)를 누르면, 서버(100)는 입력된 컨텐츠와 공유 레이아웃이 결합된 전자 문서가 생성된 것으로 인식한다. 이에 따라, 서버(100)는 해당 전자 문서에 대한 식별 정보(ID, 이름, 작성자, 작성 일자, 제목 등)를 부여한 후, 공유 레이아웃과 컨텐츠를 분리하여 해당 사용자의 가상 DB 내에 각각 저장한다.
도 14는 썸네일 이미지 또는 리스트 상에서 하나의 문서를 선택하였을 때 나타나는 사용자 UI의 일 예를 나타낸다. 도 14에서와 같이, 선택된 전자 문서는 제2 영역(1220)에 표시되고,
한편, 서버(100)는 보안을 위해서, 전자 문서 저장 시에 전자 서명을 요청할 수도 있다. 도 15와 같이, 서버(100)는 보안 상 확인이 필요한 경우에는 전자 서명 창(1520)을 표시한다. 일 예로, 사용자가 자신의 전자 문서를 저장 또는 편집하고자 할 때 또는 자신의 문서로부터 추출된 레이아웃을 공유 레이아웃으로 등록하고자 할 때 전자 서명을 요청할 수 있다. 도 15에서는, 전자 문서의 레이아웃(1510)을 화면에 표시한 상태에서 그 레이아웃을 공유 레이아웃으로 저장하고자 하는 메뉴(1511)가 선택되었을 때, 전자 서명 창(1520)이 표시되는 것을 나타낸다. 사용자가 전자 서명을 한 후, 확인 메뉴를 누르면, 해당 문서의 레이아웃(1510)은 공유 DB에 저장된다.
이상과 같이, 서버(100)는 사용자에 대해 다양한 UI를 제공할 수 있다. 하지만, 이러한 예들은 일 예에 불과하며, UI의 형태나 크기, 메뉴 구성, 메뉴 종류, 크기, 개수, 영역 구분 방법 등은 다양한 형태로 변경될 수 있다. 또한, 서버(100)가 전자 문서와 결부하여 제공하고자 하는 서비스의 내용에 따라 신규 메뉴가 추가되거나 변경, 삭제 될 수도 있다.
도 16은 본 발명의 다양한 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도이다.
도 16에 따르면, 서버는 문서가 입력되면(S1610), 그 문서를 HTML 문서로 변환하고(S1620), 해당 문서의 레이아웃과 컨텐츠를 분리하여 개별적으로 저장한다(S1630). 문서의 레이아웃과 컨텐츠를 분리하는 방법, 저장 방법 등은 상술한 부분에서 설명한 바 있으므로 중복 설명은 생략한다.
서버는, 이러한 상태에서 사용자 요청이 있으면(S1640), 개별 저장된 레이아웃과 컨텐츠를 각각 검출한 후 조합하여 HTML 문서를 생성한다(S1650). 서버는, 문서를 제공한 사용자의 열람 메뉴를 선택하는 이벤트, 해당 문서에 대한 링크 정보를 받은 사용자가 링크 정보를 확인하는 이벤트, 기 설정된 시간 주기가 도래하는 이벤트 등 다양한 이벤트가 발생한 것으로 확인되었을 때, 사용자 요청이 있다고 판단할 수 있다.
또한, 서버는, 사용자로부터 컨텐츠 검색 명령이 입력되면, 컨텐츠 DB에 저장된 컨텐츠 중에서 사용자가 검색 요청한 컨텐츠를 검색한다. 서버는 텍스트 컨텐츠인 경우에는 텍스트 자체를 기반으로 검색하고, 이미지 컨텐츠나 테이블 컨텐츠인 경우, 문서 제공자, 생성 일시, 컨텐츠 종류 등과 같은 다양한 기반으로 검색할 수 있다.
도 17은 본 발명의 또 다른 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도이다. 도 17에 따르면, 서버는 사용자가 액세스하면 사용자의 단말 장치로 전자문서생성을 위한 UI를 제공한다(S1710).
UI에는 다양한 메뉴가 포함될 수 있다. 일 예로, UI에는 생성하고자 하는 문서의 유형을 직접 입력할 수 있는 메뉴가 포함될 수 있다. 사용자가 이러한 메뉴를 이용하여 문서의 유형을 직접 선택하면(S1720), 서버는 선택된 유형에 대응되는 공유 레이아웃을 UI 상에 표시한다(S1730). 이를 위해, 서버는 다수의 사용자들이 업로드한 공유 레이아웃을 유형 별로 분류해둘 수 있다. 레이아웃 분류는 디폴트로 구분되어 사용자가 공유 레이아웃을 업로드할 때 직접 선택하도록 구현될 수 있으나 반드시 이에 한정되는 것은 아니다. 예를 들어, 사용자가 직접 입력한 레이아웃 명칭에 따라 구분될 수도 있고, 레이아웃의 크기, 컬러, 형태, 사용 언어, 문서 종류 등과 같은 다양한 기준에 따라 분류될 수도 있다.
사용자가 공유 레이아웃 중 하나를 선택하면(S1740), 서버는 선택된 공유 레이아웃에 포함된 입력 항목들 각각에 대응되는 질문을 UI를 통해 제공한다(S1750). 각 질문들은 입력 항목에 대하여 사용자가 적절하게 내용을 기재할 수 있도록 유도하기 위하여 질문 형태로 작성된 텍스트를 의미한다. 서버는 공유 레이아웃 및 그에 대한 일련의 질문을 함께 저장하여 둘 수 있다. 질문은 공유 레이아웃을 업로드한 사용자가 직접 생성하여 함께 업로드할 수도 있고, 서버 관리자가 공유 레이아웃에 포함된 입력 항목을 분석하여 질문을 직접 생성할 수도 있다. 또는, 서버가 공유 레이아웃에 포함된 각 텍스트를 인식하여, 의미를 파악한 후, 입력이 필요한 항목을 식별할 수 있다. 서버는 식별된 항목에 해당하는 키워드를 이용하여 질문을 생성할 수 있다. 서버는 인공지능을 이용하여 텍스트의 의미를 이해한 후, 그 의미에 맞는 질문을 생성할 수도 있다. 또는 다양한 유형의 질문이 포함된 데이터베이스에서, 식별된 항목에 매칭되는 질문을 독출하여 제공할 수도 있다.
사용자는 UI에 표시되는 질문에 대한 답변을 입력할 수 있다(S1760). 복수의 입력항목이 있는 경우, 서버는 순차적으로 질문을 제공한다(S1770). 전체 질문에 대한 답변이 완료되면, 서버는 선택된 레이아웃과 입력된 답변 내용을 결합하여 전자문서를 생성한다(S1780).
한편, 사용자는 자신이 선택한 공유 레이아웃을 그대로 이용할 수도 있지만, 일부를 수정하거나 삭제, 추가하는 등의 편집을 한 후 이용할 수도 있다. 사용자로부터 편집 요청이 입력되면, 서버는 선택된 레이아웃을 편집하기 위한 편집 UI를 제공한다. 편집 요청은 사용자가 선택한 공유 레이아웃을 보여주는 UI 내에 포함된 편집 메뉴의 선택에 의해 입력될 수 있다. 편집 UI 상에서 사용자는 잘라내기, 복사, 붙여넣기, 지우기 등의 다양한 기능을 실행시켜 레이아웃을 편집할 수 있다.
편집이 완료되면 서버는 편집된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 제공한다. 제공된 질문에 대해 사용자가 답변하면, 서버는 편집된 레이아웃과 답변 내용을 결합하여 전자 문서를 생성한다.
또한, 서버는 편집된 레이아웃을 사용자 개별 레이아웃 DB에 저장한다. 사용자는 자신이 편집한 레이아웃을 타인과 공유하지 않고 전용으로 사용할 수도 있고, 선택에 따라서 공유 레이아웃으로 설정하여 공유 레이아웃 DB에 저장하여 둘 수도 있다. 이러한 편집은 전자 문서가 생성된 이후에 이루어질 수도 있다. 예를 들어, 전자 문서에 포함된 입력 항목에 대하여 답변이 완료되어 전자문서가 구성된 상태에서 편집 요청이 입력되면, 서버는 편집 UI를 제공하고, 편집 UI에서 편집된 내용에 따라 전자문서 자체를 재구성할 수 있다.
도 18은 질문을 통해서 전자문서작성을 용이하게 하는 방법을 설명하기 위한 도면이다. 도 18에 따르면, 서버는 전자문서에 포함된 입력 항목에 대한 질문들을 순차적으로 제공한다. 예를 들어, 대출 계약서라면, 대출 희망자의 이름, 대출 희망 금액, 대출 기한, 이율, 담보 등과 같은 다양한 항목들이 포함될 수 있다. 이러한 항목들 이외에 일반적으로 공통되는 텍스트는 레이아웃으로 취급할 수 있다. 도 18에서는 대출 희망자 이름을 입력받기 위한 질문(1810-1), 대출 희망 금액을 입력받기 위한 질문(1820-2)을 포함하는 다양한 질문(1810-1 ~ 1810-n)을 UI를 이용하여 제공하는 상태를 나타낸다. 사용자가 입력한 답변(1811, 1812)은 레이아웃과 결합될 수 있다. 도 18에서는 사용자가 입력한 항목들(1811, 1812)과, 대출 계약서 레이아웃을 결합하여 생성한 대출 계약서(1820)를 나타낸다.
도 19는 문서 유형 별로 구분된 공유 레이아웃을 고르는 방법을 설명하기 위한 도면이다. 도 19에 따르면, 서버는 다양한 메뉴를 포함하는 UI(1900)를 제공한다. UI(1900) 내에는 전자 문서 생성을 위한 제1 메뉴(1910), 문서 변환을 위한 제2 메뉴(1920), 문서 열람을 위한 제3 메뉴(1930), 자신의 데이터베이스를 확인하기 위한 제4 메뉴(1940) 등이 포함될 수 있다.
이 중 제1 메뉴(1910)가 선택되면, 서버는 생성하고자 하는 문서 유형을 선택할 수 있는 UI(1920)를 제공한다. 이 중 하나의 유형(예를 들어, 학급 일지)가 선택되면 서버는 선택된 유형에 속하는 공유 레이아웃들의 정보를 UI(1930)를 통해 제공한다. 공유 레이아웃은 썸네일 형태로 표시될 수도 있지만, 이에 한정되지 않고 텍스트 형태로 표시되거나, 파일 명, 작성자 명, 작성 일자 등과 같은 정보로 표현될 수도 있다. 사용자가 하나의 공유 레이아웃을 선택하면, 서버는 선택된 공유 레이아웃을 UI(1940)를 통해 표시한다. 사용자가 공유 레이아웃에 포함된 각 입력 항목에 대해서 컨텐츠를 입력하면, 서버는 입력된 컨텐츠와 공유 레이아웃을 결합하여 전자 문서를 생성한다. 이 경우, 도 18에서 설명한 바와 같이 서버가 각 입력항목에 대응되는 질문을 제공하는 방식으로 구현될 수도 있다.
도 20은 본 발명의 또 다른 실시 예에 따른 전자문서생성방법을 설명하기 위한 흐름도이다. 도 20에 따르면, 사용자는 공유 레이아웃을 여러 개 조합하여 하나의 레이아웃을 생성할 수 있다. 구체적으로는, 사용자가 공유 레이아웃을 복수 개 선택하면(S2010), 서버는 선택된 공유 레이아웃들을 한 화면에 표시한다(S2020). 사용자는 각 공유 레이아웃들 중에서 채용하고자 하는 파트를 선택할 수 있다(S2030). 파트 선택은 다양한 방법으로 수행할 수 있다. 일 예로, 사용자는 선택하고자 하는 파트 부근의 일 지점을 커서로 선택한 후 드래깅하여 파트를 선택할 수 있다. 서버는 드래깅 영역 내에 포함되는 오브젝트를 식별할 수 있다. 다른 예로, 서버는 공유 레이아웃 내의 각 오브젝트를 구분하여, 사용자가 커서로 바로 선택하도록 구현할 수도 있다. 사용자가 복수의 파트를 선택하면, 서버는 선택된 각 파트를 조합하여 하나의 레이아웃을 생성한다(S2040). 서버는 생성된 레이아웃에 포함된 입력 항목에 대한 컨텐츠가 입력되면, 입력된 컨텐츠 및 레이아웃을 조합하여 전자문서를 생성한다(S2050).
도 21은 도 20의 방법을 설명하기 위한 UI이다. 도 21에 따르면, 서버는 복수의 공유 레이아웃을 나타내는 제1 영역(2110) 및 선택된 파트를 모으는 제2 영역(2120)으로 구분되는 UI를 제공한다. 도 21에서는 4개의 공유 레이아웃이 선택된 상태를 나타낸다. 이에 따라 제1 내지 제4 공유 레이아웃(2111, 2112, 2113, 2114)이 제1 영역(2110)에 표시된다. 사용자는 각 공유 레이아웃(2111, 2112, 2113, 2114)에서 자신이 원하는 파트들만 선택할 수 있다. 선택된 파트에는 입력 항목이 포함될 수도 있고, 레이아웃이나 컨텐츠의 일부가 포함될 수도 있다. 도 21에서는 제1 영역에서 6개의 파트가 선택된 상태를 나타낸다. 서버는 선택된 파트(1 ~ 6)를 제2 영역(2120)에 표시한다. 사용자는 제2 영역(2120)에서 파트들의 위치를 임의로 조정할 수 있다. 그 밖에, 서버는 제2 영역(2120)에 메뉴(2121, 2122, 2123)를 표시할 수 있다. 완료 메뉴(2121)가 선택되면, 서버는 제2 영역(2120)에 표시된 상태로 레이아웃을 구성한다. 추가 메뉴(2122)가 선택되면 서버는 제2 영역(2120)에 추가할 파트를 직접 사용자가 작성하거나, 새로운 공유 레이아웃을 추가할 수 있는 UI를 새로 제공할 수 있다.
레이아웃이 복수의 공유 레이아웃에 포함된 각 파트들에 의해 재구성되면, 서버는 재구성된 레이아웃에 포함된 입력 항목에 해당하는 질문을 순차적으로 제공하여, 그 답변 내용과 재구성된 레이아웃을 결합하여 전자문서를 생성할 수 있다.
한편, 상술한 실시 예들에서는 레이아웃 단위로 공유되는 것으로 설명하였으나, 레이아웃 단위가 아니라 레이아웃에 포함되는 파트 단위 또는 레이아웃에 포함되는 입력 항목 단위로 공유될 수도 있다. 이 경우, 제1 영역(2110)에는 공유 레이아웃이 아니라 공유 파트 또는 공유 항목 들이 그 자체로 표시될 수 있다. 이러한 파트나 항목들은 그 파트 또는 항목이 분리된 문서 출처에 따라 문서 유형이 분류되어 저장될 수 있다. 서버는, 하나의 유형이 선택되면, 선택된 유형 내에 포함된 파트나 입력 항목을 UI를 통해 제공하여 사용자가 선택하도록 할 수 있다. 또한, 서버는, 공유 레이아웃 중에서 사용자가 관심을 가질만한 추천 레이아웃을 선택하여 제공할 수도 있다. 추천 레이아웃은 사용자 정보에 기초하여 선택할 수 있다. 예를 들어, 사용자가 회원 자격을 가지기 위하여 이름, 직업, 나이, 성별, 주소, 국적, 근무지, 취미, 특기 등 다양한 정보를 입력하였다면, 서버는 그 정보가 동일 또는 유사한 사용자들이 자주 선택하는 공유 레이아웃을 추천 레이아웃으로 선택할 수 있다. 또는, 이들 정보 중 직업이나 취미 등과 같이 문서 관련성이 높은 정보가 동일한 다른 사용자가 업로드한 공유 레이아웃을 추천 레이아웃으로 선택할 수도 있다.
그 밖에, 서버는 상술한 다양한 도면들에 대한 설명 부분에서 설명한 바와 같이 다양한 동작을 수행할 수 있다. 이러한 동작은 도 6에 도시된 바와 같이 통신부, 저장부, 프로세서를 포함하는 서버 장치에 의해 수행될 수 있지만, 반드시 이러한 구성에 한정되는 것은 아니다.
서버의 프로세서(130)는, 통신부(120)를 통해서 단말 장치와 연결되어 각종 UI 및 데이터를 제공할 수 있다. 프로세서(130)는 단말 장치에서 제공되는 사용자 선택 및 정보들을 저장부(110)에 저장하여 사용할 수 있다.
특히, 프로세서(130)는 전자문서플랫폼 사용을 위한 UI를 통신부(120)를 통해서 외부 장치, 즉, 사용자가 이용하는 단말 장치로 제공한다. 단말 장치는 UI를 디스플레이하고, UI 상에서의 사용자 입력을 서버로 전달한다. 프로세서(130)는 사용자 입력이 전달되면, 그 사용자 입력에 대응되는 동작을 수행하고, 그 수행 결과를 단말 장치로 제공한다. 예를 들어, UI에서 문서 유형이 선택되면, 저장부(110)에 저장된 공유 레이아웃 중에서 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 포함하는 UI 데이터를 단말 장치로 제공한다. 이 후에, 단말 장치에서 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 단말 장치의 UI를 통해 순차적으로 제공하고, 그에 대한 답변을 단말 장치를 통해서 전달받는다. 프로세서(130)는 선택된 레이아웃 및 답변을 결합하여 전자 문서를 생성하고, 저장부(110)에 저장할 수 있다.
프로세서(130)는 편집 요청이 입력되는 경우에는 편집 UI 데이터를 단말 장치로 제공하여, 단말 장치가 편집 UI를 디스플레이하도록 제어한다. 편집이 완료되면, 프로세서(130)는 편집된 레이아웃을 저장부(110)에 마련된 사용자 개별 레이아웃 DB에 저장한다. 이 밖에도, 상술한 다양한 도면에서 설명한 실시 예들은 서버(100)의 프로세서(130)에 의해 주도적으로 수행될 수 있다. 이에 대해서는 중복 설명 및 흐름도 도시는 생략한다.
이상의 실시 예들에서는 서버가 전자문서생성 등과 같은 각종 서비스를 직접 제공하는 것으로 설명하였으나, 이러한 동작은 서버가 아니라 단말 장치에서 직접 수행할 수도 있다. 일 예로, 사용자는 휴대폰이나 태블릿 PC, 랩탑 PC 등과 같은 자신의 단말 장치에 어플리케이션을 설치하여, 그 어플리케이션을 실행함으로써 전자 문서와 관련된 각종 서비스를 이용할 수 있다.
도 22는 단말 장치 구성의 일 예를 나타내는 블록도이다. 도 22에 따르면, 단말 장치(2200)는 카메라(2210), 디스플레이(2220), 프로세서(2230), GPU(Graphic Processing Unit : 2240), 메모리(2250), 통신부(2260)를 포함한다.
통신부(2260)는 각종 외부 장치와 통신을 수행하기 위한 구성요소이다. 통신부(2260)는 각종 유무선 통신 인터페이스를 통해서 외부 장치와 통신을 수행할 수 있다. 구체적인 통신 모듈에 대한 설명 및 도시는 생략한다.
메모리(2250)는 단말 장치의 동작에 필요한 O/S(Operating System), 어플리케이션 및 데이터 등을 저장하기 위한 구성요소이다.
프로세서(2230)는 메모리(2250)에 저장된 각종 프로그램 및 데이터에 기초하여 다양한 동작을 수행할 수 있다. GPU(2240)는 각종 그래픽 오브젝트를 포함하는 UI를 생성하여 디스플레이(2220)에 표시한다.
전자문서생성을 위한 어플리케이션이 실행되면 프로세서(2230)는 카메라(2210)를 턴 온 시킨다. 사용자는 자신의 종이 문서를 카메라(2210)를 이용하여 촬영할 수 있다. 프로세서(2230)는 촬영된 문서 이미지에 기초하여, 전자 문서를 생성할 수 있다.
도 23은 단말 장치에서의 전자 문서 생성 방법의 일 예를 나타내는 도면이다. 도 23에 따르면, 프로세서(2230)는 종이 문서(2310)의 촬영 이미지(2320)를 디스플레이(2220)에 표시한다. 프로세서(2230)는 GPU(2240)를 제어하여 촬영 이미지(2320) 상에서 레이아웃 및 컨텐츠를 식별하기 위한 그래픽 오브젝트를 표시한다. 도 23에 따르면, 사용자가 터치 앤 드래그 방식으로 일부 영역을 선택하면, 프로세서(2230)는 선택된 영역을 그래픽 오브젝트(2321)로 표시하고, 그 일 측에 선택 가능한 메뉴(2322, 2323)를 표시한다. 이 중 레이아웃 메뉴(2322)가 선택되면, 프로세서(2230)는 선택 영역 내에 포함된 오브젝트가 레이아웃이라고 인식한다. 반대로, 컨텐츠 메뉴(2323)가 선택되면, 프로세서(2230)는 선택 영역 내에 포함된 오브젝트가 컨텐츠인 것으로 인식한다. 사용자는 이러한 방식으로 이미지 내의 각 파트를 레이아웃 또는 컨텐츠로 구분할 수 있다. 프로세서(2230)는 사용자 선택이 완료되면, 레이아웃으로 선택된 오브젝트를 전부 취합하여 하나의 레이아웃으로 저장하고, 컨텐츠로 선택된 오브젝트를 전부 취합하여 레이아웃과 별도로 저장한다. 레이아웃과 컨텐츠는 단말 장치(2200) 내에 저장될 수도 있지만, 사용자 선택에 따라서 외부의 서버 장치나 클라우드 등에 저장될 수도 있다.
프로세서(2230)는 사용자 선택이 완료되면, 최종적으로 선택된 레이아웃을 저장할 지, 제3자와 공유할지 등을 선택할 수 있는 메뉴를 제공한다. 제3자와의 공유 메뉴가 선택되면, 프로세서(2230)는 통신부(2260)를 통해서 외부 서버로 레이아웃을 전송한다.
도 23은 종이 문서를 전체적으로 촬영한 후, 그 촬영 이미지 내에서 각 파트를 사용자가 레이아웃과 컨텐츠로 구분하는 실시 예를 설명하였으나, 전체 문서를 촬영하지 않고 파트 별로 구분 촬영하여 레이아웃과 컨텐츠를 구분할 수도 있다.
도 24는 단말 장치에서 전자 문서의 레이아웃을 생성하는 또 다른 예를 나타내는 도면이다. 도 24에 따르면, 프로세서(2230)는 어플리케이션이 실행되면, 카메라(2210)를 활성화시키고 그 라이브 뷰를 디스플레이(2220)에 표시한다. 프로세서(2230)는 GPU(2240)를 제어하여, 라이브 뷰 상에 그래픽 오브젝트를 함께 표시할 수 있다. 도 24에 따르면, 타겟 영역(2421), 확인 버튼(2422) 및 가이드 메시지(2423) 등을 라이브 뷰 상에 표시한 상태를 나타낸다. 프로세서(2230)는 확인 버튼(2422)이 눌러진 상태에서 타겟 영역(2410) 내에 위치한 오브젝트를 식별한다. 도 24와 같이 종이 문서(2410)의 제목 부분이 타겟 영역(2410)에 위치한 상태에서 사용자가 확인 버튼을 누르고 오른쪽으로 단말 장치(2200)를 이동시키면 제목 부분의 왼쪽부터 오른쪽까지 연속적으로 촬영된다. 오른쪽 가장자리까지 지나간 상태에서 사용자가 확인 버튼을 떼면, 프로세서(2230)는 처음부터 스캔된 오브젝트를 연결시켜 하나의 레이아웃으로 인식한다. 사용자는 하나의 종이 문서(2410)의 다양한 부분에서 이러한 방식으로 스캔을 해서, 레이아웃을 설정할 수 있다. 프로세서(2230)는 설정된 레이아웃들을 전부 취합하여 하나의 레이아웃으로 구성한다.
이러한 실시 예에서도 프로세서(2230)는 레이아웃 구성이 완료되었을 때, 통신부(2260)를 통해 서버 장치를 서버 장치로 전송하여 줄 수 있다.
이상과 같이, 본 발명의 다양한 실시 예에 따르면, 전자 문서를 효과적으로 생성하여 관리할 수 있다. 따라서, 저장 용량을 최소화하면서 컨텐츠 검색도 용이하며, 생성한 문서의 레이아웃을 타인과 효과적으로 공유할 수도 있게 된다. 또한, 다양한 형태의 UI를 이용하여 사용자가 전자 문서를 좀 더 편리하게 생성할 수 있도록 한다. 이상과 같은 다양한 실시 예에 따른 전자 문서 생성 방법, 저장 방법, 관리 방법 등은 그 방법을 수행하기 위한 프로그램 코드의 형태로 기록 매체에 저장되어 배포될 수도 있다. 구체적으로는, 전자 장치에 의해 실행되면 전자 문서에 대한 각종 작업을 수행하는 프로그램 코드가 기록 매체에 저장된 상태로 배포되거나, 온라인 상에서 배포될 수 있다.
여기서, 프로그램 코드는, 사용자에 대해 가상 DB를 생성하는 단계, 사용자로부터 문서가 입력되면, 문서를 HTML 문서로 변환하는 단계, HTML 문서의 레이아웃과 컨텐츠를 분리하는 단계, 레이아웃은 가상 DB 내의 레이아웃 DB에 저장하고, 컨텐츠는 바이너리 암호화 방식으로 암호화하여 가상 DB 내의 컨텐츠 DB에 저장하는 단계, HTML 문서에 대한 링크 정보를 외부 장치로 전송하는 단계, 링크 정보에 기초한 사용자 액세스가 있으면, 레이아웃과 컨텐츠를 각각 독출하여 HTML 문서로 조합하여 제공하는 단계를 순차적으로 실행하기 위한 코드가 될 수 있다.
또는, 프로그램 코드는, 전자 문서 플랫폼 사용을 위한 UI를 생성하는 단계, UI 상에서 문서 유형이 선택되면, 기 저장된 공유 레이아웃 중에서 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 UI에 표시하는 단계, 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 UI를 통해 순차적으로 제공하는 단계 및 질문에 대한 답변이 입력되면, 선택된 레이아웃 및 답변을 결합하여 전자 문서를 생성하는 단계를 순차적으로 실행하기 위한 코드가 될 수도 있다.
이러한 프로그램 코드가 저장된 기록 매체가 탑재된 장치는 상술한 다양한 실시 예에 따른 동작들을 수행할 수 있다.
기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다.
또한, 이러한 프로그램 코드를 온라인 공급자로부터 다운로드받은 장치 역시 상술한 다양한 동작들을 수행할 수 있다. 온라인에서 다운로드 받을 수 있는 프로그램 제품 역시 상술한 동작들을 수행할 수 있다. 이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니 된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
100 : 서버 200 : 사용자 단말

Claims (11)

  1. 서버의 전자문서생성방법에 있어서,
    전자 문서 플랫폼 사용을 위한 UI를 제공하는 단계;
    상기 UI 상에서 문서 유형이 선택되면, 기 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 제공하는 단계;
    상기 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 순차적으로 제공하는 단계;
    상기 선택된 문서 유형에 해당하는 공유 레이아웃 중 복수의 레이아웃이 선택되면, 선택된 복수의 레이아웃을 하나의 화면으로 제공하는 단계;
    상기 복수의 레이아웃 각각을 구성하는 파트들 중에서 복수의 파트가 선택되면, 선택된 파트들을 조합하여 하나의 레이아웃을 생성하는 단계;
    상기 생성된 레이아웃에 포함된 각 입력 항목에 해당하는 질문을 제공하는 단계; 및
    상기 질문에 대한 답변이 입력되면, 상기 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성하는 단계;를 포함하는 전자 문서 생성 방법.
  2. 제1항에 있어서,
    상기 선택된 레이아웃에 대한 편집 요청이 입력되면, 상기 선택된 레이아웃을 편집하기 위한 편집 UI를 제공하는 단계;
    상기 편집 UI에서 편집이 수행되면, 편집된 레이아웃을 사용자 개별 레이아웃 DB에 저장하는 단계;
    상기 편집된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 제공하는 단계; 및
    상기 질문에 대한 답변이 입력되면 상기 편집된 레이아웃을 결합하여 상기 전자문서를 생성하는 단계;를 더 포함하는, 전자 문서 생성 방법.
  3. 제1항에 있어서,
    상기 전자문서가 생성된 이후에 상기 선택된 레이아웃 또는 상기 전자 문서에 대한 편집 요청이 입력되면, 편집 UI를 제공하는 단계; 및
    상기 편집 UI에서 편집된 내용에 따라 상기 전자문서를 재구성하는 단계;를 더 포함하는 전자 문서 생성 방법.
  4. 삭제
  5. 제1항에 있어서,
    사용자 정보에 기초하여, 상기 서버에 저장된 공유 레이아웃 중 추천 레이아웃을 제공하는 단계;를 더 포함하는 전자 문서 생성 방법.
  6. 전자 문서 플랫폼을 제공하는 서버에 있어서,
    외부 장치와 통신을 수행하기 위한 통신부;
    공유 레이아웃이 저장된 저장부; 및
    프로세서;를 포함하며,
    상기 프로세서는,
    상기 전자 문서 플랫폼 사용을 위한 UI를 상기 통신부를 통해 상기 외부 장치로 제공하고, 상기 UI 상에서 문서 유형이 선택되면, 상기 저장부에 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 상기 UI에 표시하며,
    상기 UI 상에서 하나의 공유 레이아웃이 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 순차적으로 제공하고,
    상기 선택된 문서 유형에 해당하는 공유 레이아웃 중 복수의 레이아웃이 선택되면, 선택된 복수의 레이아웃을 상기 UI에 표시하고, 상기 복수의 레이아웃 각각을 구성하는 파트들 중에서 복수의 파트가 선택되면, 선택된 파트들을 조합하여 하나의 레이아웃을 생성하며, 상기 생성된 레이아웃에 포함된 각 입력 항목에 해당하는 질문을 상기 UI를 통해 제공하고,
    상기 질문에 대한 답변이 입력되면, 상기 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성하는, 서버.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 선택된 레이아웃에 대한 편집 요청이 입력되면, 상기 선택된 레이아웃을 편집하기 위한 편집 UI를 상기 외부 장치로 제공하고, 상기 편집 UI에서 편집이 수행되면, 편집된 레이아웃을 상기 저장부에 마련된 사용자 개별 레이아웃 DB에 저장하며, 상기 편집된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 제공하고, 상기 질문에 대한 답변이 입력되면 상기 편집된 레이아웃과 결합하여 상기 전자문서를 생성하는, 서버.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 전자문서가 생성된 이후에 상기 선택된 레이아웃 또는 상기 전자 문서에 대한 편집 요청이 입력되면, 편집 UI를 상기 외부 장치로 제공하고, 상기 편집 UI에서 편집된 내용에 따라 상기 전자문서를 재구성하는, 서버.
  9. 삭제
  10. 제6항에 있어서,
    상기 프로세서는,
    사용자 정보에 기초하여, 상기 서버에 저장된 공유 레이아웃 중 추천 레이아웃을 결정하여 상기 UI에 표시하는, 서버.
  11. 전자 문서를 생성 및 관리하는 프로그램이 저장된 기록 매체에 있어서,
    상기 프로그램은,
    전자 문서 플랫폼 사용을 위한 UI를 생성하는 단계;
    상기 UI 상에서 문서 유형이 선택되면, 기 저장된 공유 레이아웃 중에서 상기 선택된 문서 유형에 해당하는 적어도 하나의 공유 레이아웃을 상기 UI에 표시하는 단계;
    상기 적어도 하나의 공유 레이아웃 중 하나가 선택되면, 선택된 레이아웃에 포함되는 각 입력 항목에 해당하는 질문을 상기 UI를 통해 순차적으로 제공하는 단계;
    상기 선택된 문서 유형에 해당하는 공유 레이아웃 중 복수의 레이아웃이 선택되면, 선택된 복수의 레이아웃을 하나의 화면으로 제공하는 단계;
    상기 복수의 레이아웃 각각을 구성하는 파트들 중에서 복수의 파트가 선택되면, 선택된 파트들을 조합하여 하나의 레이아웃을 생성하는 단계;
    상기 생성된 레이아웃에 포함된 각 입력 항목에 해당하는 질문을 제공하는 단계; 및
    상기 질문에 대한 답변이 입력되면, 상기 레이아웃 및 상기 답변을 결합하여 전자 문서를 생성하는 단계;를 수행하는 것을 특징으로 하는 기록 매체.
KR1020190135555A 2019-10-29 2019-10-29 전자문서를 생성하는 서버 및 그 방법 KR102302607B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190135555A KR102302607B1 (ko) 2019-10-29 2019-10-29 전자문서를 생성하는 서버 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190135555A KR102302607B1 (ko) 2019-10-29 2019-10-29 전자문서를 생성하는 서버 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210050935A KR20210050935A (ko) 2021-05-10
KR102302607B1 true KR102302607B1 (ko) 2021-09-16

Family

ID=75917309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135555A KR102302607B1 (ko) 2019-10-29 2019-10-29 전자문서를 생성하는 서버 및 그 방법

Country Status (1)

Country Link
KR (1) KR102302607B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002324122A (ja) * 2001-04-24 2002-11-08 Toshio Ueda ウェブページを利用した定型文書作成システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6596032B2 (en) * 1996-10-15 2003-07-22 Fujitsu Limited Document processing apparatus storing and modifying data using effect data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002324122A (ja) * 2001-04-24 2002-11-08 Toshio Ueda ウェブページを利用した定型文書作成システム

Also Published As

Publication number Publication date
KR20210050935A (ko) 2021-05-10

Similar Documents

Publication Publication Date Title
US11023666B2 (en) Narrative-based media organizing system for transforming and merging graphical representations of digital media within a work area
US20210279274A1 (en) Systems and Methods of Building and Using an Image Catalog
US20230342485A1 (en) Multi-Layer Redaction Policies in Documents Stored Across a Plurality of Repositories
US10621278B2 (en) System and method for mobile presentation processing
CN101558373B (zh) 在缩略图预览图标上指示文件类型
US8510305B2 (en) Machine, computer readable medium, and computer-implemented method for file management, storage, and display
US9466050B2 (en) System and method for interactive visual representation of items along a timeline
US20120143931A1 (en) Context-aware folders
US20170357486A1 (en) Enhancing a crowdsourced integrated development environment application
KR102244974B1 (ko) 전자문서를 생성하는 서버 및 그 방법
US20120144315A1 (en) Ad-hoc electronic file attribute definition
KR20100037040A (ko) 시간-기반 행위 정보의 수집 및 제공
US7899808B2 (en) Text enhancement mechanism
US20190272071A1 (en) Automatic generation of a hierarchically layered collaboratively edited document view
JP7377325B2 (ja) 画像処理装置,画像処理方法および画像処理プログラム
JP2019067163A (ja) 画像抽出装置,画像抽出方法および画像抽出プログラムならびにそのプログラムを格納した記録媒体
KR102302607B1 (ko) 전자문서를 생성하는 서버 및 그 방법
US20200372104A1 (en) Methods, systems, apparatuses and devices for facilitating book formatting
US9588948B2 (en) Apparatus and method for editing document image
KR101862178B1 (ko) 맞춤형 포스팅 방법 및 이를 운용하는 서버
JP7203877B2 (ja) 画像抽出装置,画像抽出方法および画像抽出プログラムならびにそのプログラムを格納した記録媒体
CN112765096B (zh) 复制方法和电子设备
US11693526B2 (en) Facilitating user input by predicting target storage locations
KR102563629B1 (ko) 문서 진행상태를 실시간으로 제공하는 방법 및 장치
JP2023021054A (ja) 人物情報を利用した写真分類機能を提供する方法、コンピュータ装置、およびコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right