KR20200009294A - Method for printing document generated by web application and apparatus for performing the same - Google Patents
Method for printing document generated by web application and apparatus for performing the same Download PDFInfo
- Publication number
- KR20200009294A KR20200009294A KR1020180083475A KR20180083475A KR20200009294A KR 20200009294 A KR20200009294 A KR 20200009294A KR 1020180083475 A KR1020180083475 A KR 1020180083475A KR 20180083475 A KR20180083475 A KR 20180083475A KR 20200009294 A KR20200009294 A KR 20200009294A
- Authority
- KR
- South Korea
- Prior art keywords
- web
- printer
- printing
- driver
- host device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1289—Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1293—Printer information exchange with computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1297—Printer code translation, conversion, emulation, compression; Configuration of printer parameters
- G06F3/1298—Printer language recognition, e.g. programme control language, page description language
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
본 명세서에서 개시되는 실시예들은 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법 및 이를 수행하기 위한 장치에 관한 것이다.Embodiments disclosed herein relate to a method for printing a document generated in a web application and an apparatus for performing the same.
인쇄 시스템은 일반적으로 인쇄할 문서를 프린터에 전송하는 호스트 장치와, 문서를 인쇄하는 프린터로 구성될 수 있다. 호스트 장치는 직접 인쇄할 문서를 생성할 수도 있지만, 외부로부터 수신한 문서를 프린터로 전송하면서 인쇄를 요청할 수도 있다.The printing system may generally be composed of a host device for sending a document to be printed to a printer and a printer for printing a document. The host device may generate a document to print directly, but may request printing while transmitting a document received from the outside to the printer.
예를 들어, 호스트 장치는 웹 서버와 통신을 하면서 웹 서버에서 실행되는 웹 애플리케이션에서 생성된 문서를 수신하고, 수신한 문서를 인쇄 가능한 형태의 포맷으로 변환한 후 프린터에 전송하면서 인쇄를 요청할 수 있다. 이때, 호스트 장치에 설치된 웹 브라우저가 웹 애플리케이션으로부터 문서를 수신하는데, 웹 브라우저는 호스트 장치의 로컬 영역에 직접적으로 접근할 수 없는 한계가 있다. 따라서, 웹 브라우저와 호스트 장치의 로컬 영역 사이에서 연결 역할을 수행할 구성이 필요하다.For example, the host device may receive a document generated by a web application running on the web server while communicating with the web server, convert the received document into a printable format, and request printing while transmitting to the printer. . At this time, the web browser installed on the host device receives a document from the web application, the web browser has a limitation that can not directly access the local area of the host device. Therefore, there is a need for a configuration to serve as a connection between the web browser and the local area of the host device.
관련하여 선행기술 문헌인 미국등록특허 US 9,052,863에서는 웹 애플리케이션에서 생성한 문서를 인텔리전트 모듈이 프린터에 전달하며 인쇄를 요청하는 내용을 개시하고 있다.In the related art, US Patent No. 9,052,863, which discloses a document in which a web application generated by a web application is delivered to a printer and requests printing.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information that the inventors possessed for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a publicly known technique disclosed to the general public before the present application. .
본 명세서에서 개시되는 실시예들은, 웹 애플리케이션에서 생성된 문서를 인쇄하기 위한 방법 및 장치를 제공한다.Embodiments disclosed herein provide a method and apparatus for printing a document generated in a web application.
본 명세서에서 개시되는 실시예들은, 호스트 장치의 로컬 영역에 직접 접근이 불가한 웹 브라우저를 위해 웹 드라이버가 연결 역할을 수행하는 방법 및 장치를 제공한다.Embodiments disclosed herein provide a method and an apparatus in which a web driver performs a connection role for a web browser that cannot directly access a local area of a host device.
본 명세서에서 개시되는 실시예들은, 최초로 인쇄를 요청한 프린터에서 인쇄에 실패하는 경우 인쇄를 요청하기 위한 다른 장치를 선택하기 위한 방법 및 장치를 제공한다.Embodiments disclosed herein provide a method and apparatus for selecting another apparatus for requesting printing when printing fails in a printer that originally requested printing.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 일 실시예에 따르면, 웹 애플리케이션에서 생성된 문서를 수행하는 방법은, 호스트 장치에 설치된 웹 브라우저가 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하는 단계, 상기 웹 브라우저가 상기 수신한 문서를 상기 호스트 장치에 설치된 웹 드라이버에 전송하는 단계, 상기 웹 드라이버가 상기 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 상기 웹 브라우저에 전송하는 단계, 문서 변환에 성공하면, 상기 웹 드라이버가 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청하는 단계 및 상기 웹 드라이버가 상기 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는 단계를 포함할 수 있다.According to an embodiment of the present invention as a technical means for achieving the above-described technical problem, a method for performing a document generated in a web application, the method comprising: receiving a document generated by the web application from a web server, a web browser installed on the host device, Transmitting, by the web browser, the received document to a web driver installed in the host device, the web driver converting the received document into print data, and transmitting a document conversion result to the web browser; document conversion If successful, the web driver transmits the converted print data to the printer and requests printing, and the web driver receives the status information from the printer and displays the received status information in the local area of the host device. It may include a step.
다른 실시예에 따르면, 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법을 수행하기 위한 컴퓨터 프로그램으로서, 인쇄하는 방법은, 호스트 장치에 설치된 웹 브라우저가 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하는 단계, 상기 웹 브라우저가 상기 수신한 문서를 상기 호스트 장치에 설치된 웹 드라이버에 전송하는 단계, 상기 웹 드라이버가 상기 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 상기 웹 브라우저에 전송하는 단계, 문서 변환에 성공하면, 상기 웹 드라이버가 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청하는 단계 및 상기 웹 드라이버가 상기 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는 단계를 포함할 수 있다.According to another embodiment, a computer program for performing a method for printing a document generated by a web application, the printing method comprising: receiving a document generated by a web application from a web server by a web browser installed on a host device; Transmitting, by the web browser, the received document to a web driver installed in the host device, the web driver converting the received document into print data, and transmitting a document conversion result to the web browser; document conversion If successful, the web driver transmits the converted print data to the printer and requests printing, and the web driver receives the status information from the printer and displays the received status information in the local area of the host device. It may include a step.
또 다른 실시예에 따르면, 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 인쇄하는 방법은, 호스트 장치에 설치된 웹 브라우저가 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하는 단계, 상기 웹 브라우저가 상기 수신한 문서를 상기 호스트 장치에 설치된 웹 드라이버에 전송하는 단계, 상기 웹 드라이버가 상기 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 상기 웹 브라우저에 전송하는 단계, 문서 변환에 성공하면, 상기 웹 드라이버가 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청하는 단계 및 상기 웹 드라이버가 상기 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는 단계를 포함할 수 있다.According to yet another embodiment, a computer-readable recording medium having a program recorded thereon for performing a method for printing a document generated by a web application, the printing method comprising: a web browser installed on a host device; Receiving the generated document; transmitting, by the web browser, the received document to a web driver installed in the host device; the web driver converts the received document into print data; and converts a document conversion result into the web. Transmitting to the browser, if the document conversion is successful, the web driver transmitting the converted print data to the printer, requesting printing, and the web driver receiving status information from the printer, and receiving the received status information from the printer. And displaying in the local area of the host device. .
또 다른 실시예에 따르면, 인쇄 시스템에 포함되는 호스트 장치는, 화면을 표시하고 사용자 입력을 수신하기 위한 입출력부, 웹 서버 및 프린터와 통신을 수행하기 위한 통신부, 웹 브라우저 및 웹 드라이버가 저장되는 저장부 및 상기 웹 브라우저 및 웹 드라이버를 실행시키는 제어부를 포함하며, 상기 웹 브라우저는 상기 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하여 상기 웹 드라이버에 전송하고, 상기 웹 드라이버는 상기 수신한 문서를 인쇄 데이터로 변환한 후 문서 변환 결과를 상기 웹 브라우저에 전송하며, 문서 변환에 성공하면 상기 웹 드라이버는 변환된 인쇄 데이터를 상기 프린터에 전송하면서 인쇄를 요청하고, 상기 웹 드라이버는 상기 프린터로부터 상태 정보를 수신하면 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시할 수 있다.According to yet another embodiment, a host device included in a printing system includes an input / output unit for displaying a screen and receiving a user input, a communication unit for communicating with a web server and a printer, a web browser, and a web driver. And a control unit for executing the web browser and the web driver, wherein the web browser receives a document generated by a web application from the web server and transmits the document to the web driver, and the web driver prints the received document. After converting the data, the document conversion result is transmitted to the web browser. When the document conversion is successful, the web driver requests printing while transmitting the converted print data to the printer, and the web driver receives status information from the printer. When received, the received status information is local to the host device. It can be displayed.
전술한 과제 해결 수단 중 어느 하나에 의하면, 호스트 장치는 웹 브라우저 및 웹 드라이버를 이용하여 웹 애플리케이션이 생성한 문서를 인쇄할 수 있다. 특히, 웹 드라이버는 호스트 장치의 로컬 영역에 직접 접근이 불가한 웹 브라우저를 위해 연결 역할을 수행하며, 문서를 인쇄 가능한 형태로 변환할 수 있다.According to any one of the above-described problem solving means, the host device can print a document generated by the web application using a web browser and a web driver. In particular, the web driver serves as a connection for a web browser that cannot directly access a local area of the host device, and can convert a document into a printable form.
또한, 웹 드라이버는 프린터가 인쇄에 실패하는 경우 미리 설정된 우선순위에 따라서 다른 장치를 선택하여 인쇄를 요청함으로써 인쇄 작업이 중단되는 것을 방지할 수 있다.In addition, when the printer fails to print, the web driver may prevent the print job from being interrupted by selecting another device and requesting printing according to a preset priority.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the disclosed embodiments are not limited to the effects mentioned above, and other effects not mentioned above are apparent to those skilled in the art to which the embodiments disclosed from the following description belong. Can be understood.
도 1은 일 실시예에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하기 위한 인쇄 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 호스트 장치의 구성을 도시한 도면이다.
도 3은 일 실시예에 따라 웹 애플리케이션에서 생성된 문서를 인쇄하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따라 웹 애플리케이션에서 생성된 문서 인쇄에 실패한 경우, 다른 호스트 장치 또는 프린터에 인쇄를 요청하는 리라우팅 기능을 설명하기 위한 도면이다.
도 5 및 도 6은 실시예들에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법을 설명하기 위한 순서도들이다.1 is a diagram illustrating a printing system for printing a document generated by a web application, according to an exemplary embodiment.
2 is a diagram illustrating a configuration of a host device according to an exemplary embodiment.
3 is a diagram for describing a process of printing a document generated by a web application, according to an exemplary embodiment.
4 is a diagram for describing a rerouting function of requesting printing to another host device or a printer when a document generated by a web application fails to be printed, according to an exemplary embodiment.
5 and 6 are flowcharts illustrating a method of printing a document generated in a web application according to embodiments.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be embodied in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of the matters well known to those skilled in the art to which the following embodiments belong are omitted. In the drawings, parts irrelevant to the description of the embodiments are omitted, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a configuration is "connected" to another configuration, this includes not only 'directly connected' but also 'connected' between different configurations. In addition, when a configuration "includes" a certain configuration, this means that, unless specifically stated otherwise, it may further include other configurations other than the other configuration.
도 1은 일 실시예에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하기 위한 인쇄 시스템을 도시한 도면이다. 도 1을 참조하면, 인쇄 시스템은 웹 서버(10), 호스트 장치(100) 및 프린터(200)를 포함할 수 있다.1 is a diagram illustrating a printing system for printing a document generated by a web application, according to an exemplary embodiment. Referring to FIG. 1, a printing system may include a
도 1에서는 인쇄 시스템이 호스트 장치(100) 및 프린터(200)를 각각 하나씩 포함하는 것으로 도시하였으나, 이와 다르게 호스트 장치(100) 또는 프린터(200) 중 어느 하나가 복수이거나, 둘 모두 복수가 되도록 인쇄 시스템이 구성될 수도 있다.In FIG. 1, the printing system includes one
호스트 장치(100)는 유무선 통신이 가능한 다양한 형태의 전자 디바이스일 수 있으며, 예를 들어 스마트폰 또는 태블릿 PC 등일 수 있다.The
웹 서버(10)에서는 웹 애플리케이션이 실행될 수 있다. 호스트 장치(100)는 웹 서버(10)와 통신을 수행하여 웹 애플리케이션의 실행 화면을 표시하고, 사용자로부터 웹 애플리케이션의 실행에 필요한 입력을 수행하고 이를 웹 서버(10)에 전송할 수 있다. 웹 서버(10)는 호스트 장치(100)로부터 수신한 사용자 입력을 웹 애플리케이션의 실행에 반영하고, 그 결과를 다시 호스트 장치(100)에 전송할 수 있다.The
사용자의 요청이 있는 경우 웹 서버(10)에서 실행되는 웹 애플리케이션은 문서를 생성하여 호스트 장치(100)에 전송하고, 호스트 장치(100)는 수신한 문서를 변환하여 프린터(200)에 전송하면서 인쇄를 요청할 수 있다.When the user requests, the web application running on the
호스트 장치(100)에는 웹 애플리케이션의 실행 화면을 표시하고 사용자로부터 입력을 수신하기 위한 웹 브라우저가 설치될 수 있다. 또한, 호스트 장치(100)는 웹 브라우저와 통신을 수행하며, 웹 애플리케이션으로부터 수신한 문서를 인쇄 데이터로 변환하기 위한 웹 드라이버를 포함할 수 있다. 이때, 인쇄 데이터란 프린터가 해석 및 인쇄 가능한 형태의 파일을 의미한다. 호스트 장치(100)에 설치된 웹 브라우저 및 웹 드라이버의 동작에 대해서는 아래에서 자세히 설명하도록 한다.The
도 2는 일 실시예에 따른 호스트 장치(100)의 상세 구성을 도시한 도면이다. 도 2를 참조하면, 호스트 장치(100)는 입출력부(110), 통신부(120), 제어부(130) 및 저장부(140)를 포함할 수 있다.2 is a diagram illustrating a detailed configuration of the
입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 웹 애플리케이션의 실행 화면을 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.The input /
구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다. 예를 들어, 입출력부(110)는 입력의 수신 및 화면의 표시를 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.In detail, the input unit may include devices capable of receiving various types of user input, such as a keyboard, a physical button, a touch screen, a camera, or a microphone. In addition, the output unit may include a display panel or a speaker. However, the present invention is not limited thereto, and the input /
통신부(120)는 인쇄 시스템에 포함된 웹 서버(10) 및 프린터(200)와 통신을 수행하기 위한 구성이다. 이를 위해, 통신부(120)는 다양한 방식의 유무선 통신 방식 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(120)는 통신 칩셋 및 통신 포트 등을 포함할 수 있다.The
제어부(130)는 호스트 장치(100)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부(130)는 입출력부(110)를 통해 수신한 사용자 입력에 따라서 호스트 장치(100)에 포함된 다른 구성들의 동작을 제어할 수 있다. 또한, 제어부(130)는 저장부(140)에 설치된 파일 또는 프로그램을 실행할 수 있다.The
저장부(140)에는 파일, 애플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 일 실시예에 따르면, 저장부(140)에는 웹 브라우저 및 웹 드라이버가 설치되어 제어부(130)에 의해 실행될 수 있다.The
도 3은 일 실시예에 따라 웹 애플리케이션에서 생성된 문서를 인쇄하는 과정을 설명하기 위한 도면이다. 도 3을 참조하면, 호스트 장치(100)의 저장부(140)에 설치된 웹 브라우저(141) 및 웹 드라이버(142)는 제어부(130)에 의해 실행된다.3 is a diagram for describing a process of printing a document generated by a web application, according to an exemplary embodiment. Referring to FIG. 3, the
웹 브라우저(141)는 웹 서버(10)에서 실행되는 웹 애플리케이션의 실행 화면을 표시하고, 사용자로부터 웹 애플리케이션의 실행과 관련된 입력을 수신할 수 있다. 웹 브라우저(141)는 호스트 장치(100)의 로컬 리소스에 직접 접근할 수 없으므로 연결 역할을 수행하는 구성을 필요로 하는데, 웹 드라이버(142)가 그 역할을 수행할 수 있다. 웹 드라이버(142)는 운영체제상에서 항상 실행되는 프로그램이며, 웹과 연동된다는 점에서 일반적인 프린터 드라이버와는 차이가 있다.The
웹 드라이버(142)는 웹 브라우버(141)와 직접적인 통신을 수행할 수 있는데, 예를 들어 TCP 기반의 양방향 통신을 위한 프로토콜인 웹 소켓(Web Socket)을 통해 통신을 수행할 수 있다.The
사용자가 웹 브라우저(141)를 통해 인쇄를 요청하면, 웹 서버(10)에서 실행되는 웹 애플리케이션은 문서를 생성하여 웹 브라우저(141)에 전송한다. 웹 브라우저(141)는 웹 드라이버(142)에 문서를 전송하며 인쇄를 요청한다. 웹 드라이버(142)는 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 웹 브라우저(141)에 전송한다. 문서 변환 결과란 웹 드라이버(142)에서 문서를 인쇄 데이터로 변환하는 동작이 정상적으로 완료되었는지 여부를 알려주는 정보를 의미한다. 사용자는 웹 브라우저(141)를 통해 문서 변환 결과(e.g. 성공 또는 실패)를 확인할 수 있다.When the user requests printing through the
웹 드라이버(142)는 문서 변환에 성공하면, 변환된 인쇄 데이터를 프린터(200)에 전송하면서 인쇄를 요청한다. 프린터(200)는 수신한 인쇄 데이터를 인쇄하고, 상태 정보를 웹 드라이버(142)에 전송한다. 이때, 프린터(200)가 웹 드라이버(142)에 전송하는 상태 정보는, 프린터(200)가 인쇄에 성공했는지, 에러가 발생하여 인쇄에 실패했는지, 또는 어떤 종류의 에러가 발생했는지 등을 알려주는 정보를 의미한다.If the document driver succeeds in converting the document, the
웹 드라이버(142)는 프린터(200)로부터 수신한 상태 정보를 호스트 장치(100)의 로컬 영역에 표시한다. 호스트 장치(100)의 로컬 영역에 표시한다는 것은, 상태 정보를 웹 브라우저(141)로 전송하지 않고 호스트 장치(100)의 화면에 별도의 팝업창을 띄워 상태 정보를 표시하는 것을 의미한다. 즉, 프린터(200)의 상태 정보는 웹 브라우저(141)를 통해 표시되지 않고, 별도의 팝업창을 통해 표시된다.The
웹 드라이버(142)는 프린터(200)가 인쇄에 실패하는 경우, 네트워크를 통해 연결된 다른 호스트 장치 또는 프린터에 다시 인쇄 데이터를 전송하면서 인쇄를 요청할 수 있다. 이에 대해서 도 4를 참조하여 설명한다.When the
도 4는 일 실시예에 따라 웹 애플리케이션에서 생성된 문서 인쇄에 실패한 경우, 다른 호스트 장치 또는 프린터에 인쇄를 요청하는 리라우팅(rerouting) 기능을 설명하기 위한 도면이다.4 is a diagram for describing a rerouting function of requesting printing to another host device or a printer when a document generated by a web application fails to be printed, according to an exemplary embodiment.
도 4를 참조하면, 호스트 장치(100)에 설치된 웹 드라이버(142)는 네트워크를 통해 다른 호스트 장치(100a) 및 프린터(200b)와 연결될 수 있다. 웹 드라이버(142)는 인쇄 데이터를 프린터(200)에 전송하며 인쇄를 요청하였으나 프린터(200)가 에러 발생 등의 이유로 인쇄에 실패했다는 상태 정보를 수신하면, 다른 프린터에 인쇄 데이터를 전송하도록 하는 리라우팅 기능을 지원할 수 있다.Referring to FIG. 4, the
웹 드라이버(142)는 프린터(200)로부터 수신한 상태 정보를 분석함으로써 프린터(200)가 인쇄를 수행할 수 있는 상태인지 여부를 판단할 수 있다. 예를 들어, 웹 드라이버(142)는 프린터(200)에서 에러가 발생했거나, 또는 프린터(200)에 예약된 작업이 많아 인쇄를 수행하기까지 일정 시간 이상 대기해야 하는 경우라면 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단할 수 있다.The
구체적으로, 웹 드라이버(142)는 상태 정보를 분석한 결과 프린터(200)에서 용지 걸림 또는 커버 오픈 등의 에러가 발생한 상태라면 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단할 수 있다. 또는, 웹 드라이버(142)는 상태 정보를 분석한 결과 프린터(200)에서 현재 다른 인쇄 작업이 수행 중이며, 해당 인쇄 작업이 완료되기까지의 예상 소요시간이 미리 설정된 일정 시간을 초과한다면 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단할 수 있다. 또는, 웹 드라이버(142)는 프린터(200)에 인쇄 데이터를 전송하며 인쇄를 요청하였으나, 미리 설정된 일정 시간 이내에 프린터(200)로부터 응답을 수신하지 못한다면 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단할 수 있다.In detail, the
웹 드라이버(142)는 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단하면, 네트워크를 통해 연결된 다른 호스트 장치(100a) 또는 프린터(200b)에 인쇄 데이터를 전송하면서 인쇄를 요청할 수 있다. 이때, 웹 드라이버(142)가 인쇄를 요청하는 다른 호스트 장치(100a)에는 프린터(200)와 다른 별도의 프린터(200a)가 연결되어 있을 수 있다. 웹 드라이버(142)로부터 인쇄 요청을 수신한 호스트 장치(100a)에 설치된 웹 드라이버는, 해당 호스트 장치(100a)에 연결된 프린터(200a)에 인쇄 데이터를 전송하면서 인쇄를 요청할 수 있다.If the
웹 드라이버(142)는 미리 설정된 우선순위에 따라서 인쇄를 요청할 호스트 장치 또는 프린터를 선택할 수 있다. 이를 위해, 웹 드라이버(142)와 네트워크를 통해 연결된 호스트 장치 또는 프린터간에는 미리 우선순위가 설정될 수 있고, 설정된 우선순위에 대한 정보는 호스트 장치(100)의 저장부(140)에 저장될 수 있다.The
예를 들어, 웹 드라이버(142)는 프린터(200)가 인쇄를 수행할 수 없는 상태라고 판단되면, 저장부(140)에 저장된 우선순위에 대한 정보를 확인하고, 가장 높은 우선순위를 갖는 장치를 선택하여 인쇄를 요청할 수 있다. 웹 드라이버(142)는 선택된 장치에 인쇄를 요청한 후, 선택된 장치로부터 상태 정보를 수신하며, 수신한 상태 정보를 분석하여 선택된 장치가 인쇄를 수행할 수 있는 상태인지 여부를 판단할 수 있다. 웹 드라이버(142)가 선택된 장치가 인쇄를 수행할 수 있는 상태인지 여부를 판단하는 구체적인 방법은, 앞서 설명한 프린터(200)가 인쇄를 수행할 수 있는 상태인지 여부를 판단하는 방법과 동일하다.For example, when it is determined that the
웹 드라이버(142)는 우선순위에 기초하여 장치를 선택해 인쇄를 요청하였으나, 선택된 장치 역시 인쇄를 수행할 수 없는 상태라고 판단한 경우, 다음으로 높은 우선순위를 갖는 장치를 선택하여 인쇄를 요청할 수 있다.When the
웹 드라이버(142)는 프린터(200)가 인쇄를 수행할 수 없는 상태인 경우, 네트워크를 통해 연결된 다른 호스트 장치(100a) 또는 프린터(200b)에 인쇄 가능 여부를 문의하고 그 결과에 따라서 인쇄를 요청할 장치를 선택할 수도 있다.When the
웹 드라이버(142)는 프린터(200)가 인쇄를 수행할 수 없는 상태인 경우, 네트워크를 통해 연결된 다른 호스트 장치(100a) 및 프린터(200b)의 목록을 화면에 표시하고, 사용자로부터 인쇄를 수행할 장치를 선택하는 입력을 수신할 수도 있다. 이때, 웹 드라이버(142)는 네트워크를 통해 연결된 다른 호스트 장치(100a) 및 프린터(200b)로부터 수신한 상태 정보에 기초하여 인쇄 가능한 장치를 결정하고, 결정된 장치들만을 화면에 표시할 수도 있다.When the
호스트 장치(100)를 통해 표시된 화면을 통해 사용자가 장치를 선택하면, 웹 드라이버(142)는 선택된 장치에 인쇄 데이터를 전송하면서 인쇄를 요청할 수 있다.When a user selects a device through a screen displayed through the
도 5 및 도 6는 실시예들에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법을 설명하기 위한 순서도들이다. 도 5 및 도 6에 도시된 실시예들에 따른 인쇄 방법은 도 1 내지 도 4에 도시된 인쇄 시스템 및 호스트 장치에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 인쇄 시스템 및 호스트 장치에 관하여 이상에서 기술한 내용은 도 5 및 도 6에 도시된 인쇄 방법에도 적용될 수 있다.5 and 6 are flowcharts illustrating a method of printing a document generated in a web application according to embodiments. The printing method according to the embodiments shown in FIGS. 5 and 6 includes the steps processed in time series in the printing system and the host device shown in FIGS. Therefore, even if omitted below, the above descriptions of the printing system and the host apparatus illustrated in FIGS. 1 to 4 may be applied to the printing methods illustrated in FIGS. 5 and 6.
도 5를 참조하면, 501 단계에서 호스트 장치에 설치된 웹 브라우저는, 웹 서버에서 실행되는 웹 애플리케이션으로부터 인쇄 대상인 문서를 수신하고, 수신한 문서를 웹 드라이버에 전송한다.Referring to FIG. 5, in
502 단계에서 웹 드라이버는 수신한 문서를 인쇄 데이터로 변환 시도한다. 503 단계에서 웹 드라이버는 문서가 인쇄 데이터로 성공적으로 변환되었는지 여부를 판단하고, 성공했다면 504 단계로 진행하여 문서 변환 성공 메시지를 웹 브라우저에 전송하고, 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청한다. 하지만, 503 단계에서 문서 변환에 실패했다고 판단되면, 506 단계로 진행하여 웹 드라이버는 문서 변환 실패 메시지를 웹 브라우저에 전송한다.In
505 단계에서 웹 드라이버는 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 호스트 장치의 로컬 영역에 표시한다.In
도 6에 도시된 실시예에 따른 인쇄 방법은 처음으로 인쇄 요청한 프린터에서 인쇄에 실패한 경우 미리 설정된 우선순위에 따라 다른 장치를 선택하여 인쇄를 요청하는 리라우팅 기능이 추가된 방법이다.The printing method according to the embodiment shown in FIG. 6 is a method in which a rerouting function of selecting a different device according to a preset priority and requesting printing is added when printing fails in a printer that has requested printing for the first time.
도 6을 참조하면, 601 단계에서 호스트 장치에 설치된 웹 브라우저는, 웹 서버에서 실행되는 웹 애플리케이션으로부터 인쇄 대상인 문서를 수신하고, 수신한 문서를 웹 드라이버에 전송한다.Referring to FIG. 6, in
602 단계에서 웹 드라이버는 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 웹 브라우저에 전송한다. 문서 변환에 성공하면, 603 단계에서 웹 드라이버는 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청한다. 604 단계에서 웹 드라이버는 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 호스트 장치의 로컬 영역에 표시한다.In
605 단계에서 웹 드라이버는 프린터로부터 수신한 상태 정보를 분석하여 인쇄에 성공했는지 여부를 판단한다. 프린터가 인쇄에 성공했다고 판단되면 인쇄 프로세스는 종료된다. 하지만, 프린터가 인쇄에 실패했다고 판단되면, 606 단계로 진행하여 웹 드라이버는 미리 설정된 우선순위에 기초하여 인쇄를 요청할 다른 호스트 장치 또는 프린터를 선택하고, 선택된 장치에 인쇄 데이터를 전송하며 인쇄를 요청한다.In
이상에서 설명한 바와 같이 호스트 장치는 웹 브라우저 및 웹 드라이버를 이용하여 웹 애플리케이션이 생성한 문서를 인쇄할 수 있다. 특히, 웹 드라이버는 호스트 장치의 로컬 영역에 직접 접근이 불가한 웹 브라우저를 위해 연결 역할을 수행하며, 문서를 인쇄 가능한 형태로 변환할 수 있다. 또한, 웹 드라이버는 프린터가 인쇄에 실패하는 경우 미리 설정된 우선순위에 따라서 다른 장치를 선택하여 인쇄를 요청함으로써 인쇄 작업이 중단되는 것을 방지할 수 있다.As described above, the host device may print a document generated by a web application using a web browser and a web driver. In particular, the web driver serves as a connection for a web browser that cannot directly access a local area of the host device, and can convert a document into a printable form. In addition, when the printer fails to print, the web driver may prevent the print job from being interrupted by selecting another device and requesting printing according to a preset priority.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~' used in the above embodiments refers to software or a hardware component such as a field programmable gate array (FPGA) or an ASIC, and '~' plays a role. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program patent code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or separated from additional components and 'parts'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.
도 5 및 도 6을 통해 설명된 실시예들에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.The method of printing a document generated in a web application according to the embodiments described with reference to FIGS. 5 and 6 may also be implemented in the form of a computer readable medium storing data and instructions executable by a computer. . In this case, the command and data may be stored in the form of program code, and when executed by the processor, may generate a predetermined program module to perform a predetermined operation. In addition, computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable medium may be a computer recording medium, which is volatile and non-implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. It can include both volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, Blu-ray Disc, or the like, or a memory included in a server accessible through a network.
또한 도 5 및 도 6을 통해 설명된 실시예들에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.Also, the method of printing a document generated in a web application according to the embodiments described with reference to FIGS. 5 and 6 may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by the processor and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . Computer programs may also be recorded on tangible computer readable media (eg, memory, hard disks, magnetic / optical media or solid-state drives, etc.).
따라서 도 5 및 도 6을 통해 설명된 실시예들에 따른 웹 애플리케이션에서 생성된 문서를 인쇄하는 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, the method of printing a document generated in a web application according to the embodiments described with reference to FIGS. 5 and 6 may be implemented by executing the computer program as described above by the computing device. The computing device may include at least a portion of a processor, a memory, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components are connected to each other using a variety of buses and may be mounted on a common motherboard or otherwise mounted in a suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor may process instructions within the computing device, such as to display graphical information for providing a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface. Instructions stored in memory or storage. In other embodiments, multiple processors and / or multiple buses may be used with appropriately multiple memories and memory types. The processor may also be implemented as a chipset made up of chips comprising a plurality of independent analog and / or digital processors.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.The memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may consist of a nonvolatile memory unit or a collection thereof. The memory may also be other forms of computer readable media, such as, for example, magnetic or optical disks.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.The storage device can provide a large storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium, and may include, for example, devices or other configurations within a storage area network (SAN), and may include a floppy disk device, a hard disk device, an optical disk device, Or a tape device, flash memory, or similar other semiconductor memory device or device array.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes, and those skilled in the art to which the above-described embodiments belong may easily change to other specific forms without changing the technical spirit or essential features of the above-described embodiments. I can understand. Therefore, it is to be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected by the present specification is represented by the following claims rather than the above description, and should be construed to include all changes or modifications derived from the meaning and scope of the claims and their equivalents. .
10: 웹 서버
100: 호스트 장치
200: 프린터
110: 입출력부
120: 통신부
130: 제어부
140: 저장부10: web server 100: host device
200: printer 110: input and output unit
120: communication unit 130: control unit
140: storage unit
Claims (14)
호스트 장치에 설치된 웹 브라우저가 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하는 단계;
상기 웹 브라우저가 상기 수신한 문서를 상기 호스트 장치에 설치된 웹 드라이버에 전송하는 단계;
상기 웹 드라이버가 상기 수신한 문서를 인쇄 데이터로 변환하고, 문서 변환 결과를 상기 웹 브라우저에 전송하는 단계;
문서 변환에 성공하면, 상기 웹 드라이버가 변환된 인쇄 데이터를 프린터에 전송하면서 인쇄를 요청하는 단계; 및
상기 웹 드라이버가 상기 프린터로부터 상태 정보를 수신하고, 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는 단계를 포함하는 방법.In the method for printing a document generated in a web application,
Receiving a document generated by a web application from a web server by a web browser installed on the host device;
Transmitting, by the web browser, the received document to a web driver installed in the host device;
Converting the received document into print data by the web driver and transmitting a document conversion result to the web browser;
Upon successful conversion of the document, requesting printing by transmitting the converted print data to the printer; And
Receiving, by the web driver, status information from the printer, and displaying the received status information in a local area of the host device.
상기 웹 드라이버가 상기 수신한 상태 정보를 분석하여, 상기 프린터가 인쇄 가능한 상태인지 여부를 판단하는 단계;
상기 프린터가 인쇄 불가능한 상태라면, 상기 웹 드라이버가 인쇄를 요청할 다른 장치를 선택하는 단계; 및
상기 선택된 장치에 상기 인쇄 데이터를 전송하며 인쇄를 요청하는 단계를 더 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Analyzing, by the web driver, the received state information to determine whether the printer is in a printable state;
If the printer is in a non-printable state, selecting, by the web driver, another device to request printing; And
Sending the print data to the selected device and requesting printing.
상기 프린터가 인쇄 가능한 상태인지 여부를 판단하는 단계는,
상기 프린터에 에러가 발생했거나 또는 상기 프린터에서 상기 인쇄 데이터를 인쇄하는데 예상되는 소요 시간이 미리 설정된 시간을 초과하는 경우, 상기 프린터가 인쇄 불가능한 상태라고 판단하는 것을 특징으로 하는 방법.The method of claim 2,
Determining whether the printer is in a printable state,
And determining that the printer is in an unprintable state when an error occurs in the printer or when the time required for printing the print data in the printer exceeds a preset time.
상기 웹 드라이버가 인쇄를 요청할 다른 장치를 선택하는 단계는,
미리 설정된 우선순위에 기초하여 상기 호스트 장치와 네트워크를 통해 연결된 둘 이상의 장치 중에서 인쇄를 요청할 장치를 선택하는 것을 특징으로 하는 방법.The method of claim 2,
The step of the web driver to select another device to request printing,
And selecting a device to request printing from at least two devices connected through a network with the host device based on a preset priority.
상기 웹 드라이버가 인쇄를 요청할 다른 장치를 선택하는 단계는,
상기 호스트 장치와 네트워크를 통해 연결된 하나 이상의 장치의 목록을 상기 호스트 장치의 화면에 표시하는 단계;
사용자로부터 장치 선택 입력을 수신하는 단계; 및
사용자가 선택한 장치를 인쇄를 요청할 장치로 선택하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 2,
The step of the web driver to select another device to request printing,
Displaying a list of one or more devices connected to the host device through a network on a screen of the host device;
Receiving a device selection input from a user; And
Selecting the device selected by the user as the device to request printing.
상기 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는 단계는,
상기 호스트 장치의 화면 중 상기 웹 브라우저가 표시되는 영역 밖에 별도의 팝업창을 띄우고, 상기 팝업창에 상기 상태 정보를 표시하는 것을 특징으로 하는 방법.The method of claim 1,
Displaying the status information in a local area of the host device,
And displaying a separate pop-up window outside an area where the web browser is displayed among the screens of the host device, and displaying the status information on the pop-up window.
화면을 표시하고 사용자 입력을 수신하기 위한 입출력부;
웹 서버 및 프린터와 통신을 수행하기 위한 통신부;
웹 브라우저 및 웹 드라이버가 저장되는 저장부; 및
상기 웹 브라우저 및 웹 드라이버를 실행시키는 제어부를 포함하며,
상기 웹 브라우저는 상기 웹 서버로부터 웹 애플리케이션이 생성한 문서를 수신하여 상기 웹 드라이버에 전송하고, 상기 웹 드라이버는 상기 수신한 문서를 인쇄 데이터로 변환한 후 문서 변환 결과를 상기 웹 브라우저에 전송하며, 문서 변환에 성공하면 상기 웹 드라이버는 변환된 인쇄 데이터를 상기 프린터에 전송하면서 인쇄를 요청하고, 상기 웹 드라이버는 상기 프린터로부터 상태 정보를 수신하면 수신한 상태 정보를 상기 호스트 장치의 로컬 영역에 표시하는, 장치. In the host device included in the printing system,
An input / output unit for displaying a screen and receiving a user input;
A communication unit for performing communication with a web server and a printer;
A storage unit for storing a web browser and a web driver; And
It includes a control unit for executing the web browser and the web driver,
The web browser receives a document generated by a web application from the web server and transmits the document to the web driver, and the web driver converts the received document into print data and transmits a document conversion result to the web browser. If the document conversion is successful, the web driver requests printing while transmitting the converted print data to the printer, and when the web driver receives the status information from the printer, the web driver displays the received status information in the local area of the host device. , Device.
상기 웹 드라이버는 상기 수신한 상태 정보를 분석하여 상기 프린터가 인쇄 가능한 상태인지 여부를 판단하고, 인쇄 불가능한 상태라면 인쇄를 요청할 다른 장치를 선택하고, 선택된 장치에 상기 인쇄 데이터를 전송하며 인쇄를 요청하는 것을 특징으로 하는 장치.The method of claim 9,
The web driver analyzes the received state information to determine whether the printer is in a printable state, selects another device to request printing if it is not printable, transmits the print data to the selected device, and requests printing. Device characterized in that.
상기 웹 드라이버는 상기 프린터에 에러가 발생했거나 또는 상기 프린터에서 상기 인쇄 데이터를 인쇄하는데 예상되는 소요 시간이 미리 설정된 시간을 초과하는 경우, 상기 프린터가 인쇄 불가능한 상태라고 판단하는 것을 특징으로 하는 장치.The method of claim 10,
And the web driver determines that the printer is in an unprintable state when an error occurs in the printer or when the time required to print the print data in the printer exceeds a preset time.
상기 웹 드라이버는 미리 설정된 우선순위에 기초하여 상기 호스트 장치와 네트워크를 통해 연결된 둘 이상의 장치 중에서 인쇄를 요청할 장치를 선택하는 것을 특징으로 하는 장치.The method of claim 10,
And the web driver selects a device to request printing from at least two devices connected through a network with the host device based on a preset priority.
상기 웹 드라이버는 상기 호스트 장치와 네트워크를 통해 연결된 하나 이상의 장치의 목록을 상기 입출력부에 표시하고, 사용자로부터 상기 입출력부를 통해 선택한 장치를 인쇄를 요청할 장치로 선택하는 것을 특징으로 하는 장치.The method of claim 10,
And the web driver displays a list of one or more devices connected to the host device through a network to the input / output unit, and selects a device selected by the user through the input / output unit as a device for requesting printing.
상기 웹 드라이버는 상기 입출력부에 표시되는 화면 중 상기 웹 브라우저가 표시되는 영역 밖에 별도의 팝업창을 띄우고, 상기 팝업창에 상기 상태 정보를 표시하는 것을 특징으로 하는 장치.The method of claim 9,
And the web driver displays a separate pop-up window outside an area where the web browser is displayed among the screens displayed on the input / output unit and displays the status information on the pop-up window.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083475A KR20200009294A (en) | 2018-07-18 | 2018-07-18 | Method for printing document generated by web application and apparatus for performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083475A KR20200009294A (en) | 2018-07-18 | 2018-07-18 | Method for printing document generated by web application and apparatus for performing the same |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200126161A Division KR20200132784A (en) | 2020-09-28 | 2020-09-28 | Method for printing document generated by web application and apparatus for performing the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200009294A true KR20200009294A (en) | 2020-01-30 |
Family
ID=69321408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180083475A KR20200009294A (en) | 2018-07-18 | 2018-07-18 | Method for printing document generated by web application and apparatus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200009294A (en) |
-
2018
- 2018-07-18 KR KR1020180083475A patent/KR20200009294A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9354832B2 (en) | Print system for recovering a print job in a redundant print server, print server and print control method | |
JP6379805B2 (en) | Information processing program, information processing apparatus, and information processing system | |
US8891111B2 (en) | Adaptable printer driver | |
JP2007272763A (en) | Module installation method and device | |
JP6763245B2 (en) | Information processing equipment and information processing programs | |
US11768719B2 (en) | Selectively filtering applications from an application volume | |
US10671365B2 (en) | Information processing apparatus, storage medium, and control method | |
US10127182B2 (en) | Image forming system executing application occupation of an application and using BiDi schema | |
US8670135B2 (en) | Information processing apparatus and control method when installing a printer driver | |
JP6641831B2 (en) | Image processing apparatus, image processing program, and image processing system | |
WO2014136429A1 (en) | Information processing apparatus and method for the same | |
JP6481508B2 (en) | Terminal device, program, and output system | |
US10338857B2 (en) | Information processing apparatus, information processing system, and information processing method | |
KR20200009294A (en) | Method for printing document generated by web application and apparatus for performing the same | |
KR20200132784A (en) | Method for printing document generated by web application and apparatus for performing the same | |
US11397603B2 (en) | Information processing apparatus, control method therefor, and program | |
KR20200009297A (en) | Method for printing signature data and electronic device performing the method | |
US9870249B2 (en) | Virtual computer system, method, and non-transitory computer readable medium | |
US9933982B2 (en) | Managing print job associated processing by user processes associated with separate logged-in users of an information processing apparatus | |
KR102422189B1 (en) | Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same | |
JP5869228B2 (en) | Peripheral device, image reading device, and information processing system | |
JP6492948B2 (en) | Information processing apparatus, output system, and program | |
US9058232B2 (en) | Systems and methods to create a clean install of an application | |
JP2005063128A (en) | Print terminal and print data output device | |
US10951787B2 (en) | Information processing apparatus that controls timing for enabling an application, control method of information processing apparatus, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |