KR20100031784A - 웹페이지 캡쳐 화면 인쇄 방법 - Google Patents

웹페이지 캡쳐 화면 인쇄 방법 Download PDF

Info

Publication number
KR20100031784A
KR20100031784A KR1020080089919A KR20080089919A KR20100031784A KR 20100031784 A KR20100031784 A KR 20100031784A KR 1020080089919 A KR1020080089919 A KR 1020080089919A KR 20080089919 A KR20080089919 A KR 20080089919A KR 20100031784 A KR20100031784 A KR 20100031784A
Authority
KR
South Korea
Prior art keywords
web
web page
screen
capture
web browser
Prior art date
Application number
KR1020080089919A
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 KR1020080089919A priority Critical patent/KR20100031784A/ko
Publication of KR20100031784A publication Critical patent/KR20100031784A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

본 발명은 웹페이지 캡쳐 화면 인쇄 방법에 관한 것으로, 웹 브라우저 화면에 표시되는 웹페이지의 전체 크기가 웹 유저의 모니터 해상도 보다 더 큰 경우, 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각으로 캡쳐한 후 캡쳐된 웹페이지 화면 조각들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장할 수 있게 한다.
본 발명에 의하면 웹 브라우저 화면에 표시되는 웹페이지를 캡쳐한 화면을 비트맵 형식으로 변환하여 인쇄할 때 인쇄물의 품질이 떨어지는 문제점, 비트맵의 최대 크기가 제한됨에 따라 웹페이지가 길 경우 웹 사용자가 현재 웹 브라우저 화면을 통해 보고 있는 웹 페이지를 동일하게 인쇄하지 못하는 문제점, 인쇄물의 품질을 개선하기 위해 캡쳐한 화면을 EMF(Enhanced Meta File)로 변환하여 인쇄할 때 웹페이지의 전체 크기가 현재 웹 사용자의 모니터 해상도 보다 더 큰 경우 웹 사용자의 모니터 화면을 벗어나는 내용은 인쇄되지 않는 문제점을 모두 해소할 수 있다.
웹페이지, 캡쳐 화면, 인쇄

Description

웹페이지 캡쳐 화면 인쇄 방법{Method for printing a captured screen of web pages}
본 발명은 웹페이지 인쇄 방법에 관한 것이며, 더욱 상세히는 웹 브라우저 화면을 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각으로 캡쳐한 후 캡쳐된 웹페이지 화면 조각들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장할 수 있게 하는 웹페이지 캡쳐 화면 인쇄 방법에 관한 것이다.
웹 사용자가 웹 브라우저를 이용해서 특정 웹 서버에 접속해서 웹 페이지를 웹 브라우저에 로드했을 때 웹 브라우저는 웹 사용자의 모니터 해상도에 따라 특정 화면 크기로 웹페이지를 표시하며, 통상적으로 웹페이지의 전체 크기 중 일부만을 화면에 표시하고 대신 스크롤바 등의 사용자 인터페이스를 제공해서 사용자가 웹페이지의 다른 부분도 볼 수 있게 한다.
예컨대, 웹 사용자의 모니터 해상도가 600×400으로 설정되어 있고, 도 1에 나타낸 바와 같이 전체 크기가 1000×1300인 웹페이지가 웹 브라우저에 로드되면 웹 브라우저는 도 2에서 보이는 것과 같이 웹페이지의 전체 크기 중 일부만을 600×400 크기로 화면에 표시하며, 웹 사용자는 가로 혹은 세로 스크롤바를 활용하여 웹페이지의 전체 크기 중 나머지 다른 부분들을 볼 수 있다.
이와 같이 웹 브라우저가 웹페이지의 전체 크기 중 일부만을 화면에 표시하는 상태에서, 웹 사용자는 웹 브라우저에서 제공하는 인쇄기능이나 기타 인쇄 프로그램을 통해 현재 웹페이지를 인쇄할 수 있다.
그러나, 현재 개발되어 있는 웹 브라우저의 인쇄기능이나 기타 인쇄 프로그램들을 이용해서 웹 브라우저 화면에 표시된 웹페이지를 인쇄하는 경우에는, 화면 캡쳐 기능을 이용해서 캡쳐한 화면을 비트맵 형식으로 변환하여 인쇄하기 때문에 인쇄물의 품질이 떨어진다. 또한, 비트맵을 생성할 수 있는 최대 크기는 웹 사용자 컴퓨터 시스템의 메모리 용량에 따라 제한을 받기 때문에, 웹페이지가 길 경우 정상적으로 인쇄되지 않을 가능성이 크다. 일예로, 웹 브라우저에서 제공되는 인쇄 기능을 사용해서 도 3과 같은 웹 페이지를 인쇄할 경우, 도 4와 같이 웹 사용자가 현재 웹 브라우저 화면을 통해 보고 있는 웹 페이지를 동일하게 인쇄하지 못한다. 도 4를 보면 도 3에서 웹 사용자 실제로 인쇄하고 싶은 내용이 전혀 인쇄되지 않음을 확인할 수 있다.
이와 달리, 상기한 웹 브라우저 화면에 표시된 웹페이지 인쇄물의 품질을 개선하기 위한 방안으로 캡쳐한 화면을 EMF(Enhanced Meta File)로 변환하여 인쇄하는 기술이 소개되어 있으나, 이 경우 웹페이지의 전체 크기가 현재 웹 사용자의 모니터 해상도 보다 훨씬 크다면, 도 5에 나타낸 바와 같이, 웹 사용자의 모니터 화면을 벗어나는 내용은 인쇄되지 않는다.
참고로, 상기 EMF와 같은 메타 파일은 레스터 형태의 그래픽 요소(비트맵 등)와 벡터 형태의 그래픽 요소(선, 도형, 글자 등)를 함께 저장하는 포맷으로, 웹 브라우저에서 제공하는 웹 화면 랜더링 인터페이스를 이용하면 웹 페이지에 포함된 HTML 요소들을 벡터 형태의 그래픽 요소와 레스터 형태의 그래픽 요소로 각각 분리해서 추출이 가능하다. 즉, 웹 페이지에 포함된 비트맵은 레스터 형태로 저장되고 웹 페이지에 포함된 글자, 선, 도형 등은 각각 벡터 형태로 각각 저장된다.
본 발명은 상기한 바와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 웹 브라우저 화면에 표시되는 웹페이지의 전체 크기가 웹 유저의 모니터 해상도 보다 더 큰 경우, 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각으로 캡쳐한 후 캡쳐된 웹페이지 화면 조각들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장할 수 있게 하는 웹페이지 캡쳐 화면 인쇄 방법에 관한 것이다.
상기한 바와 같은 본 발명의 목적을 달성하기 위하여, 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 방법은, 웹 개발자 혹은 웹 사용자가 웹페이지 캡쳐 화면 인쇄 서비스용 에이전트(이하, 캡쳐 인쇄 에이전트라 약칭함)에 포함된 웹 브라우저 탑재 모듈을 통해 상기 캡쳐 인쇄 에이전트를 웹 브라우저에 탑재시키는 제1과정과; 상기 캡쳐 인쇄 에이전트가 웹 브라우저에 탑재된 상태에서 웹 사용자의 인쇄 요청이 있으면, 상기 캡쳐 인쇄 에이전트에 포함된 웹 브라우저 제어 모듈이 웹 페이지의 전체 크기와 현재 웹 브라우저 화면에 표시된 영역의 웹 페이지의 크기를 구해 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤할 횟수를 계산하는 제2과정; 상기 제2과정에 이어서, 상기 캡쳐 인쇄 에이전트에 포함된 스크롤 캡쳐 모듈이 상기 웹 브라우저 제어 모듈에 의해 계산된 스크롤 횟수에 따라 웹 브라우 저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각, 즉 다수의 메타 파일 조각으로 캡쳐하는 제3과정; 상기 제3과정에 이어서, 상기 캡쳐 인쇄 에이전트에 포함된 클리핑 모듈이 캡쳐된 웹페이지 화면 조각들, 즉 다수의 메타 파일 조각들에서 불필요한 그래픽 요소들을 제거하고 순수한 웹 페이지 내용만을 포함하는 2차 메타 파일들을 얻는 제4과정; 및 상기 제4과정에 이어서, 상기 캡쳐 인쇄 에이전트에 포함된 캡쳐 화면 인쇄 모듈이 상기 클리핑 모듈에 의해 얻어진 2차 메타 파일들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장하는 제5과정;으로 이루어지는 것을 특징으로 한다.
본 발명자는 웹 사용자가 웹 브라우저를 통해서 보고 있는 웹 페이지를 화면과 동일하게 인쇄하면서 인쇄 품질을 향상시킬 수 있는 기능을 제공하기 위해, 캡쳐된 웹페이지 화면 조각들을 부분적으로 서로 중첩시켜(Layered) 조합함으로써 하나의 웹페이지 화면으로 인쇄 또는 저장하는 LMF(Layered Meta File)라는 기술을 개발하였다.
본 발명자가 개발한 LMF 기술은 웹 사용자가 웹 브라우저를 통해서 보고 있는 웹 페이지를 비트맵이 아닌 그래픽 명령과 그래픽 데이터를 함께 저장하는 방식으로 웹 페이지를 캡쳐하고 저장 및 인쇄할 수 있는 기술로, 공지의 EMF(Enhanced Meta File) 기술을 응용한 형태로, 웹 페이지를 인쇄시 인쇄 품질을 저하하지 않으면서 웹 페이지의 그래픽 데이터들을 저장하기 위해서 사용하였다.
윈도우 운영체제에서는 GDI(Graphic Device Interface)라는 서브시스템을 통해 그래픽 작업을 처리하는데, 이 GDI에서는 DC(Device Context)라는 데이터 구조 체로 폰트, 색상, 굵기, 무늬, 출력 방법 등 출력에 관한 모든 정보를 관리한다. DC에는 화면에 출력을 위한 디스플레이 DC, 인쇄를 위한 프린터 DC, 비트맵 출력에 사용되는 메모리 DC, 그래픽 정보 취득을 위한 메타 파일 DC 등이 있다. 이들 중에서 메타 파일 DC를 사용할 경우 애플리케이션(application)에서 출력을 위해서 GDI로 수행하는 그래픽 명령에 대한 정보를 취득할 수 있는데, 본 발명에서는 이 메타 파일 DC와 웹 브라우저에서 제공하는 웹 브라우저 화면 랜더링 인터페이스를 함께 사용해서 웹 브라우저가 화면에 출력하고 있는 웹 페이지의 내용을 캡쳐한다. 이 기술을 사용하면 비트맵을 사용하는 방식과는 다르게 훨씬 적은 메모리를 사용해서 더 많은 그래픽 정보를 저장할 수 있다.
메타 파일에는 애플리케이션에서 수행한 그래픽 명령을 식별할 수 있는 유일한 아이디 값으로 나타내고, 해당 그래픽 명령을 수행하는데 필요한 파라미터들과 관련된 데이터를 데이터 구조체 형식으로 저장한다. 예를 들어서 애플리케이션에서 선을 그리는 작업을 메타 파일로 저장한다면 메타 파일에는 "EMR_LINETO" 라는 상수 값으로 애플리케이션이 수행한 그래픽 명령이 선 그리기임을 나타내고, 선을 그리는 위치 값(가로, 세로)을 파라미터로 저장한다.
본 발명에서는 이러한 LMF 기술로 웹 브라우저가 화면에 표시하고 있는 웹 페이지의 내용을 캡쳐하기 위해서 자체 개발한 에이전트 형식의 모듈을 웹 브라우저에 탑재시킨다. 앞에서 설명한 바와 같이 EMF 기술과 웹 브라우저가 제공하는 웹 화면 랜더링 인터페이스를 이용해서 웹 브라우저가 표시하고 있는 웹 화면을 캡쳐하는데, 웹 화면 랜더링 인터페이스는 현재 웹 브라우저의 화면을 입력된 DC에 그 리는 기능을 제공한다. 이때, 본 발명에서는 윈도우 운영체제에서 제공하는 여러 가지 DC들 중에서 메타 파일 DC를 입력으로 주어서 웹 브라우저의 현재 화면을 그대로 캡쳐한다. 그런데, 윈도우 운영체제의 특성상 실행중인 각 프로세스는 별도의 독립된 주소 영역에서 동작하기 때문에 본 발명에서는 ActiveX, BHO(Browser Helper Object), 툴바, 툴바 버튼, 후킹(Hooking) 모듈 등과 같은 웹 브라우저 확장 모듈을 사용하여 자체 개발한 에이전트 모듈을 웹 브라우저와 같은 주소 공간에 탑재시킨다. 이렇게 에이전트 모듈을 웹 브라우저에 탑재하지 않고는 앞에서 설명한 바와 같이 윈도우 운영체제 특성상 웹 브라우저가 제공하는 웹 화면 랜더링 인터페이스 및 메타 파일 기술을 이용할 수 없기 때문에 웹 화면을 올바르게 캡쳐할 수가 없다.
이렇게 에이전트 모듈이 웹 브라우저에 탑재되면 에이전트 모듈은 웹 브라우저가 제공하는 웹 화면 랜더링 인터페이스와 웹 페이지에 대한 DOM(Document Object Model) 트리 구조에 대한 정보를 획득한다. DOM 트리 구조는 웹 브라우저가 웹 서버에 접속해서 HTML 파일 형태로 된 웹 페이지를 다운로드 받아서 화면에 표시하기 위해서 HTML 파일을 해석하는데, 이때 HTML 파일의 각 태그를 각각 객체 형태 만든 자료 구조이다.
도 2에 나타낸 바와 같이, 웹 브라우저는 실제 웹 페이지 중에서 일부만을 웹 브라우저 화면에 표시하는데, 웹 사용자가 원하는 것은 웹 페이지의 전체 내용을 인쇄하는 것이기 때문에, 현재 웹 브라우저 화면만을 인쇄하는 것은 의미가 없다. 또한, 웹 브라우저에서 제공하는 웹 화면 랜더링 인터페이스는 웹 페이지 전체 를 DC에 출력해주는 것이 아니라 현재 웹 브라우저에 표시된 웹 화면만을 DC에 그려주기 때문에 단순히 웹 브라우저가 제공하는 웹 화면 랜더링 인터페이스만을 이용해서는 웹 사용자가 원하는 전체 웹 페이지를 인쇄할 수 없다.
따라서, 본 발명에서는 전체 웹 페이지에 대한 화면을 캡쳐하기 위해서 웹 브라우저의 기능을 이용해 강제적으로 웹 화면을 특정 위치로 계속 스크롤시키면서 웹 화면의 조각들을 취득한 후 이 화면 조각들을 다시 조합해서 전체 웹 페이지를 얻는 방식을 사용한다. 그리고 이렇게 전체 웹 페이지의 화면 조각을 얻기 위해서 웹 브라우저 화면을 몇 회 스크롤 시켜야하는지를 알아내기 위해서, 앞에서 취득한 DOM 정보를 이용해 웹 브라우저가 로드하고 있는 웹 페이지의 실제 크기를 픽셀 단위로 얻는다. 그리고 현재 웹 브라우저의 화면 크기를 얻어서 이 두 값으로 전체 웹 페이지를 웹 브라우저 화면에 표시하기 위해서 가로 및 세로 방향으로 몇 회 스크롤 해야 하는지를 계산한다.
그런 후, 클리핑 모듈을 사용해서 1차로 생성된 메타 파일에서 웹 페이지와 관련 없는 그래픽 요소들(웹 브라우저의 화면 일부)을 제거해서 2차 메타 파일을 생성한다. 이런 일련의 과정을 모두 마치면 웹 페이지가 여러 개의 조각으로 캡쳐된다. 이들 조각들은 DOM 트리 구조를 통해서 구한 실제 웹 페이지 상에서의 좌표와 함께 자료 구조 형태로 저장되며, 이는 LMF 모듈에서 위치 정보와 캡쳐된 웹 페이지 화면 조각들을 조합해서 하나의 웹 페이지처럼 저장 및 인쇄 가능하도록 관리되며, 이렇게 캡쳐된 웹 페이지 화면은 파일로 저장해서 차후에 사용할 수도 있다.
본 발명에 의하면 웹 브라우저 화면에 표시되는 웹페이지를 캡쳐한 화면을 비트맵 형식으로 변환하여 인쇄할 때 인쇄물의 품질이 떨어지는 문제점, 비트맵의 최대 크기가 제한됨에 따라 웹페이지가 길 경우 웹 사용자가 현재 웹 브라우저 화면을 통해 보고 있는 웹 페이지를 동일하게 인쇄하지 못하는 문제점, 인쇄물의 품질을 개선하기 위해 캡쳐한 화면을 EMF(Enhanced Meta File)로 변환하여 인쇄할 때 웹페이지의 전체 크기가 현재 웹 사용자의 모니터 해상도 보다 더 큰 경우 웹 사용자의 모니터 화면을 벗어나는 내용은 인쇄되지 않는 문제점을 모두 해소할 수 있다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 더욱 상세하게 설명한다.
도 6은 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 서비스용 에이전트(이하, 캡쳐 인쇄 에이전트라 약칭함)(10)이며, 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 방법은 웹 개발자 혹은 웹 사용자에 의해 웹브라우저에 탑재되는 상기 캡쳐 인쇄 에이전트(10)가 구동함에 따라 수행된다.
상기 캡쳐 인쇄 에이전트(10)는 웹 브라우저 탑재 모듈(11), 웹 브라우저 제어 모듈(12), 스크롤 캡쳐 모듈(13), 클리핑(Clipping) 모듈(14), 캡쳐 화면 인쇄 모듈(15)을 포함하여 구성된다.
상기 웹 브라우저 탑재 모듈(11)은 상기 캡쳐 인쇄 에이전트(10)를 웹 브라우저에 탑재시키는 역할을 하며, 통상의 웹 브라우저에서 제공하는 ActiveX, BHO(Browser Helper Object), 툴바, 툴바 버튼, 후킹(Hooking) 모듈 등과 같은 웹 브라우저 확장 모듈을 사용하여 만들 수 있다.
예컨대, ActiveX 기술을 사용하여 웹 개발자가 웹 브라우저 HTML에 상기 캡쳐 인쇄 에이전트(10)를 탑재시킬 수 있고, 웹 브라우저의 BHO, 툴바, 툴바 버튼들 중에 어느 하나의 기술을 사용하여 웹 사용자가 설치 프로그램으로 상기 캡쳐 인쇄 에이전트(10)를 웹 브라우저에 탑재시킬 수 있다.
상기 웹 브라우저 제어 모듈(12)은 상기 캡쳐 인쇄 에이전트(10)가 웹 브라우저에 탑재된 상태에서 웹 사용자의 인쇄 요청이 있으면, 웹 페이지의 전체 크기와 현재 웹 브라우저 화면에 표시된 영역의 웹 페이지의 크기를 구해 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤할 횟수를 계산한다.
상기 스크롤 캡쳐 모듈(13)은 상기 웹 브라우저 제어 모듈(12)에 의해 계산된 스크롤 횟수에 따라 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각, 즉 다수의 메타 파일 조각으로 캡쳐한다.
상기 클리핑 모듈(14)은 캡쳐된 웹페이지 화면 조각들, 즉 다수의 메타 파일 조각들에서 불필요한 그래픽 요소들을 제거하고 순수한 웹 페이지 내용만을 포함하는 2차 메타 파일들을 얻는다.
상기 캡쳐 화면 인쇄 모듈(15)은 상기 클리핑 모듈(14)에 의해 얻어진 2차 메타 파일들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장한다.
상기 2차 메타 파일과 같은 메타 파일은 상기한 바와 같이 웹 페이지에 포함된 선, 도형, 글자 등의 그래픽 요소를 벡터 형태로 저장하는 특성이 있으므로, 상 기 2차 메타 파일을 단순히 붙여서 출력하면 인쇄 또는 저장 시 각 2차 메타 파일 조각 간에 이격이 발생하는데, 이를 보정하기 위해 상기 캡쳐 화면 인쇄 모듈(15)은 각 2차 메타 파일 조각들을 부분적으로, 예컨대 1∼3 픽셀 정도 서로 중첩시켜(Layered) 조합하는 역할도 수행한다.
상기와 같이 상기 캡쳐 화면 인쇄 모듈(15)은 불필요한 그래픽 요소가 제거되고 순수한 웹 페이지 내용만 포함하는 캡쳐된 웹페이지 화면 조각들, 즉 상기 2차 메타 파일 조작들을 부분적으로 서로 중첩시켜(Layered) 조합함으로써 하나의 웹페이지 화면으로 인쇄 또는 저장하므로, 본 발명자는 상기 캡쳐 화면 인쇄 모듈(15)을 LMF(Layered Meta File) 모듈이라고 명명한다.
상기와 같이 구성되는 본 발명에 따른 캡쳐 인쇄 에이전트(10)를 구동시킴에 따라 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 방법이 수행되는 과정을 구체적으로 설명하면 다음과 같다.
웹 사용자가 웹 브라우저를 이용해서 특정 웹 서버에 접속해서 웹 페이지를 웹 브라우저에 로드할 때, 상기 캡쳐 인쇄 에이전트(10)의 웹 브라우저 탑재 모듈(11)이 상기 캡쳐 인쇄 에이전트(10)를 웹 브라우저에 탑재시킨다(S10).
이때, ActiveX 기술을 사용하면 웹 사용자가 상기 웹 페이지에 접속할 때 웹 브라우저 HTML에 상기 캡쳐 인쇄 에이전트(10)가 탑재되게 할 수 있고, 이와 달리 웹 브라우저의 BHO, 툴바, 툴바 버튼들 중에 어느 하나의 기술을 사용하여 웹 사용자가 설치 프로그램으로 상기 캡쳐 인쇄 에이전트(10)를 웹 브라우저에 탑재시킬 수 있다.
상기와 같이 상기 캡쳐 인쇄 에이전트(10)가 웹 브라우저에 탑재된 상태에서 웹 사용자의 인쇄 요청이 있으면, 상기 웹 브라우저 제어 모듈(12)은 웹 페이지의 전체 크기와 현재 웹 브라우저 화면에 표시된 영역의 웹 페이지의 크기를 구해 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤할 횟수를 계산한다(S12).
상기 웹 브라우저 제어 모듈(12)에 의해 스크롤 횟수가 계산되는 과정(S12)을 구체적으로 설명하면 다음과 같다.
웹 브라우저는 웹 서버에 접속해서 HTML 파일 형태로 된 웹 페이지를 다운로드 받아서 화면에 표시하기 위해서 HTML 파일을 해석하는데, 이때 HTML 파일에 정의된 태그를 내부적으로 하나의 객체(Object) 형태로 관리한다. 또한, 이들 객체들은 부모와 자식의 관계가 있어서 웹 브라우저 내부적으로 이들 객체를 트리 형태로 관리하는데 이것을 DOM(Document Object Model) 트리라고 한다. 그리고 DOM 트리에서 각 객체는 HTML 파일에서 하나의 태그에 대응되며 DOM 노드라고 부른다. 이 DOM 노드는 HTML 파일에 CSS(cascading style sheets) 파일 형태로 설정한 태그의 스타일 정보와 이 노드가 현재 웹 브라우저상에서 표시되어 있는 픽셀 단위의 위치 값, 이 노드가 대응되는 태그명 및 HTML 소스 정보 등의 다양한 정보를 제공한다. 참고로, 도 8은 웹 브라우저가 HTML 파일 형태로 된 웹 페이지를 해석하여 DOM 트리를 생성하고, 이 DOM 트리를 웹 사용자가 볼 수 있는 그래픽 형태로 화면에 표시하는 과정을 나타내고 있다.
상기 웹 브라우저 제어 모듈(12)은 이러한 웹 브라우저로부터 DOM 트리를 얻 고 이 DOM 트리의 노드들 중에서 웹 페이지를 나타내는 DOM 노드(HTML 상의 BODY 또는 HTML 태그에 해당)를 구해서 이 노드의 전체 크기와 현재 웹 브라우저 화면상에 표시되는 영역의 크기를 픽셀 단위로 얻는다.
이 노드의 전체 크기를 구하면 웹 페이지의 실제 전체 크기를 픽셀 단위로 구할 수 있으며, 웹 브라우저 화면상에 표시되는 영역의 크기를 구하면 웹 페이지의 내용 중에서 현재 웹 브라우저에 표시되고 있는 영역의 크기를 구할 수 있다.
이때 구해지는 값은 웹 브라우저의 윈도우 크기가 아니라 웹 브라우저의 윈도우 내에서도 웹 페이지가 표시되는 영역만의 크기가 구해진다.
예컨대, 도 2에 나타낸 바와 같이, 웹 브라우저가 웹 페이지의 일부 영역을 표시하고 있지만 여기서 구해지는 값은 도 2에서 점선 박스로 표시된 영역의 크기가 구해진다. 도 2는 웹 사용자의 모니터 해상도가 600×400으로 설정되어 있고, 도 1에 나타낸 바와 같이 전체 크기가 1000×1300인 웹페이지가 웹 브라우저에 로드될 때, 상기 웹페이지의 전체 크기 중 일부가 600×400 크기로 화면에 표시되는 상태를 나타낸다.
도 2에 나타낸 바와 같이, 전체 크기가 1000×1300인 웹페이지 중 일부가 600×400 크기로 웹브라우저에 표시되는 경우, 상기 웹 브라우저 제어 모듈(12)이 DOM 트리에서 웹 페이지 DOM 노드로부터 전체 크기를 구하면 웹 페이지의 크기인 가로 1000 픽셀, 세로 1300 픽셀이라는 값을 얻을 수 있다. 또한, 웹 페이지 DOM 노드에서 현재 웹 페이지에 표시되는 영역의 크기를 구하면 가로 600, 세로 400 픽셀의 값을 얻을 수 있다.
현재 웹 브라우저 화면상에 표시되는 웹 페이지가 가로로 600 픽셀이기 때문에 전체 웹 페이지를 화면에 표시하려면 1000 / 600 = 2회의 가로 방향 스크롤이 필요함을 알 수 있다. 같은 방법으로 전체 웹 페이지의 크기를 현재 웹 브라우저상에 표시되는 영역의 크기로 나누면 총 스크롤 해야 하는 횟수가 나온다.
즉, 가로 = 1000 / 600으로부터 2회가 필요하고, 세로 = 1300 / 400으로부터 4회가 필요함을 알 수 있다. 따라서, 전체적으로는 도 9에 나타낸 바와 같이, 가로 스크롤 회수 (2회) x 세로 스크롤 회수 (4회) = 총 8회 스크롤 해야 전체 웹 페이지의 내용을 웹 브라우저상에 표시할 수 있음을 알 수 있다.
상기와 같이 상기 웹 브라우저 제어 모듈(12)에 의해 웹 브라우저 화면에 대한 가로 및 세로 방향으로의 자동 스크롤 횟수가 계산되고 나면(S12), 다음으로 상기 스크롤 캡쳐 모듈(13)은 계산된 스크롤 횟수에 따라 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각, 즉 다수의 메타 파일 조각으로 캡쳐한다(S14).
이때, 도 2에 나타낸 바와 같이, 웹 브라우저가 웹 페이지의 일부 영역을 표시하면, 상기 스크롤 캡쳐 모듈(13)은 상기 웹 브라우저 제어 모듈(12)이 웹 브라우저로부터 구한 DOM 트리와 이 DOM 트리에서 얻은 DOM 노드로부터 구해지는 웹 페이지의 좌표값을 이용하여, 도 10에 나타낸 바와 같이, 현재 웹 브라우저 화면의 초기 스크롤 위치를 웹 페이지의 시작점인 (0,0)의 위치로 이동한 다음, 도 11에 나타낸 바와 같이, 웹 페이지의 시작점에서부터 웹 브라우저 화면을 가로 및 세로 방향으로 ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧의 순서로 자동 스크롤시켜 웹 페이지의 전체 영역을 도 12 내지 도 19에 나타낸 바와 같은 8개의 조각으로 캡쳐한다.
또한, 도 20에 나타낸 바와 같이, 매 스크롤 시마다 웹 브라우저에서 제공하는 웹 화면 랜더링 인터페이스를 이용해서 각 스크롤 위치상에서의 웹 브라우저 화면을 상기한 바와 같이 메타 파일 조각으로 만든다. 이러한 메타 파일 조각에는 실제 웹 페이지 내용과는 무관한 그래픽 요소가 포함되어 있다. 일예로, 도 21에 나타낸 바와 같이, 실제 웹 페이지 내용, 즉 순수한 웹 페이지 내용과 무관한 불필요한 스크롤바, 불필요한 외곽선이 포함되어 있다.
상기와 같이 상기 스크롤 캡쳐 모듈(13)이 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각, 즉 다수의 메타 파일 조각으로 캡쳐하면(S14), 다음으로 상기 클리핑 모듈(14)이 캡쳐된 웹페이지 화면 조각들, 즉 다수의 메타 파일 조각들에서 불필요한 그래픽 요소들을 제거하고 순수한 웹 페이지 내용만을 포함하는 2차 메타 파일들을 얻는다(S16).
도 22는 상기 클리핑 모듈(14)이 도 21에 나타낸 메타 파일로부터 순수한 웹 페이지 내용과 무관한 불필요한 스크롤바, 불필요한 외곽선을 제거하여 2차 메타 파일을 얻는 과정을 나타내고 있으며, 도 23은 이러한 과정을 거쳐 얻은 도 12 내지 도 19의 캡쳐 화면에 대응하는 2차 메타 파일을 나타내고 있다.
이들 2차 메타 파일 조각들은 상기 웹 브라우저 제어 모듈(12)이 웹 브라우저로부터 구한 DOM 트리와 이 DOM 트리에서 얻은 DOM 노드로부터 구해지는 실제 웹 페이지 상의 좌표와 함께 자료 구조 형태로 저장되며, 이후 상기 캡쳐 화면 인쇄 모듈(15)에 의해 위치 정보와 캡쳐된 웹 페이지 화면 조각들을 조합해서 하나의 웹 페이지처럼 저장 및 인쇄 가능하도록 관리되고, 파일로 저장해서 차후에 사용할 수도 있다.
상기와 같이 상기 클리핑 모듈(14)에 의해 2차 메타 파일들이 얻어지고 나면, 다음으로 상기 캡쳐 화면 인쇄 모듈(15)이, 도 24에 나타낸 바와 같이 상기 클리핑 모듈(14)에 의해 얻어진 2차 메타 파일들을 조합해서 하나의 웹페이지 화면으로 인쇄 또는 저장한다(S18).
이때, 상기 2차 메타 파일과 같은 메타 파일은 상기한 바와 같이 웹 페이지에 포함된 선, 도형, 글자 등의 그래픽 요소를 벡터 형태로 저장하는 특성이 있으므로, 상기 2차 메타 파일을 단순히 붙여서 출력하면 인쇄 또는 저장 시 각 2차 메타 파일 조각 간에 이격이 발생하므로, 이를 보정하기 위해 상기 캡쳐 화면 인쇄 모듈(15)은 각 2차 메타 파일 조각들을 부분적으로, 예컨대 1∼3 픽셀 정도 서로 중첩시켜(Layered) 조합한다. 도 24의 경우, ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧의 메타 파일을 각각 서로 맞닿는 부분에서 1∼3 픽셀 중첩시켜 조합하는 것이 바람직하며, 예컨대 ①번 메타 파일과 ②번 메타 파일이 서로 맞닿는 부분, 즉 ①번 메타 파일의 우측과 ②번 메타 파일의 좌측을 1∼3 픽셀 정도 서로 중첩시켜 조합하고, ①번 메타 파일과 ③번 메타 파일이 서로 맞닿는 부분, 즉 ①번 메타 파일의 하단과 ③번 메타 파일의 상단을 1∼3 픽셀 정도 중첩시켜 조합하며, 나머지 다른 메타 파일들도 이와 같은 방식으로 중첩시켜 조합한다.
이상에서 설명한 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 방법은 상기한 실 시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양하게 변경하여 실시할 수 있는 범위까지 그 기술적 정신이 있다.
도 1은 전체 크기가 1000×1300인 웹페이지를 나타낸 실시예.
도 2는 모니터 해상도가 600×400으로 설정된 경우, 도 1의 웹페이지를 표시한 웹 브라우저 화면.
도 3은 특정 크기의 웹페이지를 표시한 웹 브라우저 화면.
도 4는 도 3에 표시된 웹페이지를 웹 브라우저의 인쇄 기능을 통해 인쇄 미리 보기 한 화면.
도 5는 웹페이지의 전체 크기가 모니터 해상도 보다 더 큰 경우, 해당 웹페이지의 인쇄 상태를 나타낸 실시예.
도 6은 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 서비스용 에이전트의 실시예.
도 7은 본 발명에 따른 웹페이지 캡쳐 화면 인쇄 방법을 나타낸 순서도.
도 8은 웹 브라우저가 HTML 파일 형태로 된 웹 페이지를 화면에 표시하는 과정을 나타낸 실시예.
도 9는 웹 브라우저 화면의 가로 및 세로 방향 스크롤 횟수를 나타낸 실시예.
도 10은 현재 웹 브라우저 화면의 초기 스크롤 위치를 웹 페이지의 시작점으로 이동한 상태를 나타낸 실시예.
도 11은 웹 페이지의 시작점에서부터 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각으로 캡쳐하는 과정 을 나타낸 실시예.
도 12 내지 도 19는 각각 도 11에 나타낸 웹 페이지 전체 영역의 일부를 스크롤 캡쳐한 웹 브라우저 화면.
도 20은 웹 브라우저에서 제공하는 웹 화면 랜더링 인터페이스를 이용해서 각 스크롤 위치상에서의 웹 브라우저 화면을 메타 파일 조각으로 만드는 과정을 나타낸 실시예.
도 21은 도 12의 캡쳐 화면에 대응하는 메타 파일을 나타낸 실시예.
도 22는 도 21의 메타 파일에서 불필요한 그래픽 요소들을 제거하고 순수한 웹 페이지 내용만을 포함하는 2차 메타 파일을 얻는 과정을 나타낸 실시예.
도 23은 도 12 내지 도 19의 캡쳐 화면에 대응하는 2차 메타 파일을 나타낸 실시예.
도 24는 도 23의 여러 개의 2차 메타 파일을 조합해서 하나의 웹페이지 화면을 생성하는 과정을 나타낸 실시예.
<도면의 주요부분에 대한 부호의 설명>
10: 캡쳐 화면 인쇄 서비스용 에이전트 11: 웹 브라우저 탑재 모듈
12: 웹 브라우저 제어 모듈 13: 스크롤 캡쳐 모듈
14: 클리핑 모듈 15: 캡쳐 화면 인쇄 모듈

Claims (4)

  1. 웹 개발자 혹은 웹 사용자가 웹페이지 캡쳐 화면 인쇄 서비스용 에이전트(이하, 캡쳐 인쇄 에이전트라 약칭함)(10)에 포함된 웹 브라우저 탑재 모듈(11)을 통해 상기 캡쳐 인쇄 에이전트(10)를 웹 브라우저에 탑재시키는 제1과정(S10)과;
    상기 캡쳐 인쇄 에이전트(10)가 웹 브라우저에 탑재된 상태에서 웹 사용자의 인쇄 요청이 있으면, 상기 캡쳐 인쇄 에이전트(10)에 포함된 웹 브라우저 제어 모듈(12)이 웹 페이지의 전체 크기와 현재 웹 브라우저 화면에 표시된 영역의 웹 페이지의 크기를 구해 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤할 횟수를 계산하는 제2과정(S12);
    상기 제2과정(S12)에 이어서, 상기 캡쳐 인쇄 에이전트(10)에 포함된 스크롤 캡쳐 모듈(13)이 상기 웹 브라우저 제어 모듈(12)에 의해 계산된 스크롤 횟수에 따라 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤시켜 웹 페이지의 전체 영역을 여러 개의 조각, 즉 다수의 메타 파일 조각으로 캡쳐하는 제3과정(S14);
    상기 제3과정(S14)에 이어서, 상기 캡쳐 인쇄 에이전트(10)에 포함된 클리핑 모듈(14)이 캡쳐된 웹페이지 화면 조각들, 즉 다수의 메타 파일 조각들에서 불필요한 그래픽 요소들을 제거하고 순수한 웹 페이지 내용만을 포함하는 2차 메타 파일들을 얻는 제4과정(S16); 및
    상기 제4과정(S16)에 이어서, 상기 캡쳐 인쇄 에이전트(10)에 포함된 캡쳐 화면 인쇄 모듈(15)이 상기 클리핑 모듈(14)에 의해 얻어진 2차 메타 파일들을 조 합해서 하나의 웹페이지 화면으로 인쇄 또는 저장하는 제5과정(S18);
    으로 이루어지는 것을 특징으로 하는 웹페이지 캡쳐 화면 인쇄 방법.
  2. 제 1 항에 있어서, 상기 제2과정(S12)에서는
    상기 웹 브라우저 제어 모듈(12)이 웹 브라우저가 HTML 파일 형태로 된 웹 페이지를 해석하여 생성하는 DOM(Document Object Model) 트리를 얻고 이 DOM 트리의 노드들 중에서 웹 페이지를 나타내는 DOM 노드(HTML 상의 BODY 또는 HTML 태그에 해당)를 구해서 이 노드의 전체 크기와 현재 웹 브라우저 화면상에 표시되는 영역의 크기를 픽셀 단위로 얻어, 웹 페이지의 실제 전체 크기와 웹 페이지의 내용 중에서 현재 웹 브라우저에 표시되고 있는 영역의 크기로 구해 웹 브라우저 화면을 가로 및 세로 방향으로 자동 스크롤할 횟수를 계산하는 것을 특징으로 하는 웹페이지 캡쳐 화면 인쇄 방법.
  3. 제 1 항에 있어서, 상기 제5과정(S18)에서는
    상기 캡쳐 화면 인쇄 모듈(15)이 불필요한 그래픽 요소가 제거되고 순수한 웹 페이지 내용만 포함하는 캡쳐된 웹페이지 화면 조각들, 즉 상기 2차 메타 파일 조각들을 부분적으로 서로 중첩시켜(Layered) 조합하는 것을 특징으로 하는 웹페이지 캡쳐 화면 인쇄 방법.
  4. 제 3 항에 있어서, 상기 제5과정(S18)에서는
    상기 캡쳐 화면 인쇄 모듈(15)은 각 2차 메타 파일 조각들을 1∼3 픽셀 정도 서로 중첩시켜(Layered) 조합하는 것을 특징으로 하는 웹페이지 캡쳐 화면 인쇄 방법.
KR1020080089919A 2008-09-11 2008-09-11 웹페이지 캡쳐 화면 인쇄 방법 KR20100031784A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080089919A KR20100031784A (ko) 2008-09-11 2008-09-11 웹페이지 캡쳐 화면 인쇄 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080089919A KR20100031784A (ko) 2008-09-11 2008-09-11 웹페이지 캡쳐 화면 인쇄 방법

Publications (1)

Publication Number Publication Date
KR20100031784A true KR20100031784A (ko) 2010-03-25

Family

ID=42181169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080089919A KR20100031784A (ko) 2008-09-11 2008-09-11 웹페이지 캡쳐 화면 인쇄 방법

Country Status (1)

Country Link
KR (1) KR20100031784A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150127856A (ko) * 2012-07-27 2015-11-18 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
CN110888575A (zh) * 2018-09-07 2020-03-17 珠海横琴盛达兆业科技投资有限公司 一种基于web实现截图并保存的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150127856A (ko) * 2012-07-27 2015-11-18 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
CN110888575A (zh) * 2018-09-07 2020-03-17 珠海横琴盛达兆业科技投资有限公司 一种基于web实现截图并保存的方法

Similar Documents

Publication Publication Date Title
US20110221766A1 (en) Method for printing a captured screen of web pages
EP2573751A1 (en) Display control program, recording medium whereupon display program is recorded, display control device, and display control method
JP6157210B2 (ja) 文書変換装置、文書変換方法、及びプログラム
JP4966533B2 (ja) 印刷システム、印刷方法、印刷プログラムおよび記録媒体
CN106055290B (zh) 图像处理设备和图像处理方法
US20090265626A1 (en) Apparatus and method of controlling display
US11551392B2 (en) Graphic drawing method and apparatus, device, and storage medium
CN111915705B (zh) 图片可视化编辑方法、装置、设备和介质
WO2012055764A1 (en) Interactive element management in a web page
CN111291533B (zh) 待显示句段的显示方法、装置、计算机设备和存储介质
KR101345726B1 (ko) 웹페이지 캡쳐 화면 인쇄 방법
JP2014081866A (ja) Webページ閲覧サーバ、Webページ閲覧システム、Webページ閲覧方法及びプログラム
CN114895891A (zh) 一种图形软件的处理方法、装置、电子设备及存储介质
JP5455714B2 (ja) ウェブページキャプチャー画面の印刷方法
US8751923B2 (en) Image processing apparatus, image processing method, and storage medium
JP4874363B2 (ja) ブラウザのプラグインを用いるウェブページ表示方法
KR20100031784A (ko) 웹페이지 캡쳐 화면 인쇄 방법
US20150269131A1 (en) Content conversion apparatus and method, and communication system
JP3634680B2 (ja) 情報処理装置及びその制御方法及び記憶媒体
US20140344655A1 (en) Mapping of Defined Regions Within a Webpage
CN112528184A (zh) 富文本邮件的发送方法、装置、计算机设备及存储介质
CN113703699B (zh) 电子文件的实时输出方法和装置
JP2003330658A (ja) 印刷システム
JP5464956B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2005165452A (ja) 情報処理装置、クライアント端末装置、情報処理方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090706

Effective date: 20090929

J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

J302 Written judgement (patent court)

Free format text: JUDGMENT (PATENT COURT) FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20091105

Effective date: 20100901