KR20080048366A - Print job control and print data processing method and device therefor - Google Patents
Print job control and print data processing method and device therefor Download PDFInfo
- Publication number
- KR20080048366A KR20080048366A KR1020060118649A KR20060118649A KR20080048366A KR 20080048366 A KR20080048366 A KR 20080048366A KR 1020060118649 A KR1020060118649 A KR 1020060118649A KR 20060118649 A KR20060118649 A KR 20060118649A KR 20080048366 A KR20080048366 A KR 20080048366A
- Authority
- KR
- South Korea
- Prior art keywords
- print job
- information
- data
- print data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1267—Job repository, e.g. non-scheduled jobs, delay printing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F3/1295—Buffering means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
인쇄 작업 제어 및 인쇄 데이터 가공 방법 및 그 장치가 개시되어 있다. 본 발명은, 프린터와 연결된 컴퓨터에서 인쇄 작업을 제어하여 인쇄 데이터를 가공하는 방법에 있어서, a) 상기 인쇄 작업이 상기 컴퓨터의 윈도우즈 스풀러(Spooler)를 거치도록 설정하는 단계와, b) 상기 인쇄 작업이 상기 윈도우즈 스풀러에 인입되었는지 여부를 모니터링하는 단계와; c) 상기 모니터링 결과 상기 인쇄 작업이 발생하는 경우 상기 프린터의 프린터 드라이버가 일시 정지하도록 정지 명령을 상기 프린터 드라이버로 전송하는 단계와; d) 상기 윈도우즈 스풀러에 인입된 상기 인쇄 작업에 상응하는 스플링 파일을 분석하여 페이지 단위의 인쇄 데이터(EMF) 또는 인쇄 정보(DEVMODE)를 추출하는 단계와; e) 상기 인쇄 데이터 및 상기 인쇄 정보를 기반으로 상기 인쇄 데이터에 상응하는 API를 이용하여 상기 인쇄 데이터를 가공한 후 상기 인쇄 정보에 따라 프린팅하도록 상기 프린터로 전송하는 단계를 포함한다.A print job control and a print data processing method and an apparatus thereof are disclosed. The present invention provides a method of processing print data by controlling a print job in a computer connected to a printer, the method comprising: a) setting the print job to pass through a windows spooler of the computer; b) the print job Monitoring whether the window is inserted into the windows spooler; c) sending a stop command to the printer driver to pause the printer driver of the printer when the print job occurs as a result of the monitoring; d) extracting the print data (EMF) or the print information (DEVMODE) in units of pages by analyzing a spring file corresponding to the print job inserted into the windows spooler; e) processing the print data using an API corresponding to the print data based on the print data and the print information, and transmitting the print data to the printer for printing according to the print information.
Description
도 1은 본 발명의 일 실시 예에 따른 인쇄 작업 제어 및 인쇄 데이터 가공을 실행하기 위한 시스템을 도시한 것이다.1 illustrates a system for executing print job control and print data processing according to an embodiment of the present invention.
도 2는 본 발명의 일 실시 예에 따른 인쇄 작업 제어 및 인쇄 데이터 가공 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a print job control and print data processing method according to an exemplary embodiment.
본 발명은 프린터로 인쇄되는 인쇄 데이터의 가공 방법에 관한 것으로, 더욱 상세하게는 윈도우즈(Windows) 운영 체계의 윈도우즈 스풀러(Spooler)를 거치는 모든 인쇄 작업을 감시하고 인쇄를 시도할 경우 상기 인쇄 작업을 제어하여 인쇄 데이터를 가공하고 인쇄 정보에 따라 인쇄 작업을 수행하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method of processing print data printed by a printer, and more particularly, to monitor all print jobs passing through the Windows spooler of the Windows operating system and to control the print job when attempting to print. A method and apparatus for processing print data and performing a print job according to the print information.
일반적으로 컴퓨터 내의 프린터 드라이버는 어플리케이션에 있는 그래픽스 데이터들을 사용하고자하는 프린터가 인식할 수 있는 프린터 데이터로 변환하는 프로그램 모듈로서 일반적으로 프린터 제조업체에서 공급한다. 예를 들어, 포스트스 크립트 프린트 드라이버는 어플리케이션에 있는 각종 도형, 이미지 및 문자들을 포스트스크립트 언어 포맷에 맞추어 변환하며, PCL(Printer Command Language) 프린터 드라이버는 어플리케이션에 있는 각종 도형, 이미지 및 문자들을 PCL 언어 포맷에 맞추어 변환한다.Generally, a printer driver in a computer is a program module that converts graphics data in an application into printer data that can be recognized by a printer to be used, and is generally supplied by a printer manufacturer. For example, the PostScript print driver converts various figures, images, and characters in an application to the PostScript language format, and the Printer Command Language (PCL) printer driver converts various figures, images, and characters in an application to the PCL language. Convert to the format.
윈도우즈 스풀러는 이상과 같이 변환된 프린터 데이터 즉 인쇄할 인쇄 작업을 큐(queue)에 순차적으로 저장한 후, 선입선출(FIFO:First In First Out)방식으로 지정된 출력포트를 통해 해당하는 프린터로 전송한다.The Windows spooler sequentially stores the converted printer data, that is, the print job to be printed, in a queue, and then transmits it to the corresponding printer through the output port designated in FIFO (First In First Out) method. .
인쇄작업의 제어란, 프린터를 통한 출력물을 얻기 위해 응용프로그램이 수행하는 인쇄작업을 허용 또는 차단하고 해당 작업에 대한 로그를 생성해서 출력물에 의한 데이터 유출을 감시하고, 추적하는 방법이다. The control of a print job is a method of allowing or blocking a print job performed by an application program to obtain output through a printer, and generating a log of the job to monitor and track data leakage by the print job.
이러한 인쇄 제어를 수행하기 위한 방법으로 인쇄와 관련된 API를 후킹해서, 응용프로그램이 해당 API를 사용해서 인쇄를 시도할 경우에 해당 API로 전달된 인쇄 정보를 추출하고 인쇄작업을 허용 또는 차단하는 방식이 사용된다.As a way to perform such print control, it is necessary to hook printing related APIs so that when an application tries to print using the API, it extracts the print information passed to the API and allows or blocks the print job. Used.
그러나, 인쇄와 관련된 API를 후킹함으로써 인쇄 작업을 제어하는 방법은 인쇄 가능한 모든 응용 프로그램을 후킹처리 해야하며 이 경우 다른 프로세스의 안전성을 보장할 수 없으며, 상기 응용 프로그램이 후킹 대상 API 이외의 새로운 API 또는 다른 방식으로 인쇄를 시도한 경우에는 인쇄 작업을 제어할 수 없다는 한계점이 있어 왔다.However, a method of controlling a print job by hooking an API related to printing requires hooking all printable applications, in which case the safety of other processes cannot be guaranteed, and the application may not be able to guarantee a new API other than the hooked API. There have been limitations in that print jobs cannot be controlled when printing is attempted in other ways.
또한, 응용프로그램이 출력물을 얻기 위해 프린터로 인쇄를 시도할 경우에 해당 응용프로그램과는 무관하게 프린터로 출력되기 이전에 인쇄데이터를 가공해서 모든 출력물을 원하는 형태로 가공해서 얻을 수 있도록 하는 것을 인쇄 데이터의 가공이라 하며, 인쇄 데이터를 가공하기 위하여 가상의 프린터 드라이버를 설치해야하고 가상 프린터 드라이버를 통한 인쇄 데이터의 출력을 선택해야 한다. 또한 인쇄 데이터를 가공하기 위하여 인쇄시에 응용프로그램에서 가상 프린터 드라이버 내부로 전달된 인쇄 데이터를 가상 프린터 드라이버 내부에서 변경하거나 다른 데이터들을 추가해서 실제 프린터로 인쇄데이터를 재전송하는 방식이 사용된다.Also, when an application program tries to print to a printer to obtain a printout, the print data may be processed so that all printouts may be processed and obtained in a desired form before being output to the printer regardless of the application program. In order to process the print data, a virtual printer driver must be installed and the output of the print data must be selected through the virtual printer driver. In addition, in order to process the print data, a method of changing the print data transmitted from the application program into the virtual printer driver in the virtual printer driver or adding other data to the print printer and resending the print data to the actual printer is used.
그러나, 상술한 바와 같은 인쇄 데이터의 가공은 가상 프린터 드라이버를 반드시 설치해야 된다는 번거로움이 있으며, 가상 프린터 드라이버를 설치하더라도 인쇄의 출력을 가상 프린터 드라이버로 설정하지 않는다면 상술한 바와 같은 인쇄 데이터의 가공을 실현하기 어려우며, 사용자 또는 어플리케이션 동작 방식에 종속적으로만 데이터를 가공할 수 있다는 문제점이 있어 왔다.However, the processing of the print data as described above is cumbersome that a virtual printer driver must be installed. If the output of printing is not set to the virtual printer driver even if the virtual printer driver is installed, the processing of the print data as described above is not performed. It has been difficult to realize, and there has been a problem in that data can be processed only depending on user or application operation method.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명의 목적은 윈도우즈(Windows) 운영 체계의 윈도우즈 스풀러(Spooler)를 거치는 모든 인쇄 작업을 감시하고 인쇄를 시도할 경우 상기 인쇄 작업을 제어하여 인쇄 데이터를 가공하고 인쇄 정보에 따라 인쇄 작업을 수행하기 위한 인쇄 작업 제어 및 인쇄 데이터 가공 방법 및 그 장치를 제공하는데 있다. The present invention has been made in view of the above circumstances, and an object of the present invention is to monitor all print jobs passing through the Windows spooler of the Windows operating system and to control the print job when attempting to print. A print job control and print data processing method and apparatus for processing data and performing a print job according to print information are provided.
상기 목적을 달성하기 위한 본 발명의 일 관점에 따른 인쇄 작업 제어 및 인쇄 데이터 가공 방법은, Print job control and print data processing method according to an aspect of the present invention for achieving the above object,
프린터와 연결된 컴퓨터에서 인쇄 작업을 제어하여 인쇄 데이터를 가공하는 방법에 있어서,In a method of processing print data by controlling a print job from a computer connected to the printer,
a) 상기 인쇄 작업이 상기 컴퓨터의 윈도우즈 스풀러(Spooler)를 거치도록 설정하는 단계;a) setting the print job to pass through a windows spooler of the computer;
b) 상기 인쇄 작업이 상기 윈도우즈 스풀러에 인입되었는지 여부를 모니터링하는 단계;b) monitoring whether the print job has entered the window spooler;
c) 상기 모니터링 결과 상기 인쇄 작업이 발생하는 경우 상기 프린터의 프린터 드라이버가 일시 정지하도록 정지 명령을 상기 프린터 드라이버로 전송하는 단계;c) sending a stop command to the printer driver to pause the printer driver of the printer when the print job occurs as a result of the monitoring;
d) 상기 윈도우즈 스풀러에 인입된 상기 인쇄 작업에 상응하는 스플링 파일을 분석하여 페이지 단위의 인쇄 데이터 또는 인쇄 정보를 추출하는 단계; 및d) extracting print data or print information in units of pages by analyzing a splicing file corresponding to the print job inserted into the windows spooler; And
e) 상기 인쇄 데이터 및 상기 인쇄 정보를 기반으로 상기 인쇄 데이터에 상응하는 API를 이용하여 상기 인쇄 데이터를 가공한 후 상기 인쇄 정보에 따라 프린팅하도록 상기 프린터로 전송하는 단계를 포함한다.e) processing the print data using an API corresponding to the print data based on the print data and the print information, and transmitting the print data to the printer for printing according to the print information.
상기 목적을 달성하기 위한 본 발명의 다른 관점에 따른 인쇄 작업 제어 및 인쇄 데이터 가공 장치는, A print job control and print data processing apparatus according to another aspect of the present invention for achieving the above object,
응용 프로그램에서 발생하는 모든 인쇄 작업이 윈도우즈 스풀러에 저장되도록 설정하고, 상기 윈도우즈 스풀러에 인쇄 작업이 저장되면 상기 인쇄 작업의 스플링 파일을 인쇄 데이터 가공 모듈로 전송하고, 프린터 드라이버로 일시 중지 메시지를 전송하는 인쇄 작업 제어 모듈;Set all print jobs generated by the application to be stored in the Windows spooler, and when the print job is stored in the Windows spooler, send the splicing file of the print job to the print data processing module, and send a pause message to the printer driver. A print job control module;
상기 인쇄 작업이 저장되는 윈도우즈 스풀러; 및A windows spooler in which the print job is stored; And
상기 스플링 파일을 분석하여 인쇄 데이터 또는 인쇄 정보를 추출하여 상기 인쇄 데이터에 상응하는 API를 이용하여 상기 인쇄 데이터를 가공하고 상기 인쇄 정보에 따라 프린팅하도록 상기 프린트 드라이버로 전송하는 인쇄 데이터 가공 모듈을 포함한다.A print data processing module for analyzing the splining file, extracting print data or print information, and transmitting the print data to the print driver to process the print data using an API corresponding to the print data and to print according to the print information; do.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention.
도 1은 본 발명의 일 실시 예에 따른 인쇄 작업 제어 및 인쇄 데이터 가공을 실행하기 위한 시스템을 도시한 것이다.1 illustrates a system for executing print job control and print data processing according to an embodiment of the present invention.
본 발명의 시스템은 컴퓨터(100) 및 상기 컴퓨터(100)와 유선 또는 무선망으로 연결된 프린터(200)를 포함하여 구성된다.The system of the present invention comprises a
상기 컴퓨터(100)는 마이크로 소프트의 윈도우즈(Windows) 운영 체제(Operating System)가 구비되어 있어 다른 프로그램들을 관리한다. 상기 윈도우즈 운영 체제는 인쇄 작업을 위해 윈도우즈 스풀러(Spooler; 140) 및 프린터 드라이버(160)와 연동하여 사용자가 원하는 인쇄 작업을 프린터(200)로 인쇄한다.The
상기 컴퓨터(100)는 응용 프로그램(110), 윈도우즈 GDI(Graphics Device Interface; 120), 인쇄 작업 제어 모듈(130), 윈도우즈 스풀러(140), 인쇄 데이터 가공 모듈(150), 및 프린터 드라이버(160)를 포함하여 구성된다.The
응용 프로그램(110)에서 작업한 문서, 이미지 등의 파일, 또는 웹 상의 문서 를 인쇄하기 위하여 상기 응용 프로그램(110)에 구비된 "인쇄" 항목을 선택하면 인쇄 작업 및 그 인쇄 작업에 대한 인쇄 명령이 윈도우즈 GDI(120)로 전달된다.Selecting the "Print" item included in the
상기 윈도우즈 GDI(120)는 컴퓨터(100)의 화면에 그래픽 객체를 그리는 인터페이스(Interface)로서, 컴퓨터(100)의 화면 또는 프린터(200)에 대한 그래픽 출력을 위하여 응용 프로그램이 사용할 수 있는 함수와 그에 관련된 구조를 제공한다.The Windows GDI 120 is an interface for drawing a graphic object on the screen of the
상기 윈도우즈 GDI(120)는 응용 프로그램(110)에서의 인쇄 명령에 따라 상기 인쇄 작업을 프린터 드라이버(160)로 직접 전송하거나 윈도우즈 스풀러(140)를 통해 인쇄 작업이 상기 프린터 드라이버(160)로 전송되도록 하지만, 본원에서는 상기 윈도우즈 GDI(120)가 인쇄 작업 제어 모듈(130)과 연결되어 있어 사용자는 상기 인쇄 작업 제어 모듈(130)의 프린터 환경을 설정함으로써 모든 인쇄 작업이 윈도우즈 스풀러(140)에 적체되도록 구현한다.The Windows GDI 120 transmits the print job directly to the
상기 인쇄 작업 제어 모듈(130)은 허가된 인쇄 작업에 대해서만 인쇄가 이루어질 수 있도록 윈도우즈 스풀러(140)에 인쇄 작업이 인입되면 상기 컴퓨터(100)와 연결된 모든 프린터(200)를 일시 정지 상태가 되도록 설정한다. The print
일 응용 예에서, 상기 인쇄 작업 제어 모듈(130)은 상기 프린터(200)를 일시 정지 상태로 설정한 후, 상기 윈도우즈 스풀러(140)로 인입된 모든 인쇄 작업에 개별적으로 일시 정지되도록 설정한다.In one application, the print
또한, 상기 인쇄 작업 제어 모듈(130)은 윈도우즈 스풀러(140)를 모니터링 하는 기능이 있어, 상기 윈도우즈 스풀러(140)에 인쇄 작업이 인입되면 상기 인쇄 작업을 추출하고 가공하도록 인쇄 데이터 가공 모듈(150)로 제어 신호를 발생시킨 다.In addition, the print
상기 인쇄 작업 제어 모듈(130)은 발생한 인쇄 작업에 대해서 문서 이름, 프린터명, 사용자명 등의 인쇄 정보를 추출하고 그 내역을 기록 즉, 로깅(Logging)한다.The print
인쇄 데이터 가공 모듈(150)은 인쇄 작업에 개별적으로 부여되는 ID 정보를 이용하여 해당 인쇄 작업의 스플링 파일의 경로를 파악한 후 해당 스플링 파일을 복사 또는 이동시켜 획득한다. The print
인쇄 데이터 가공 모듈(150)은 획득된 스플링 파일의 구조 및 내부의 각 정보를 구분할 수 있는 내부 데이터를 분석하여 인쇄 작업의 각 페이지 단위의 인쇄 데이터 및 각 페이지의 인쇄 정보를 추출한다. 상기 인쇄 데이터는 EMF 형태를 갖는 것이 가능하며, 상기 인쇄 정보의 일 예로는 인쇄 DPI, 용지 크기, 방향, 매수 등에 대한 정보 등이 있다.The print
일 응용 예에서, 상기 인쇄 데이터 가공 모듈(150)은 상기 스플링 파일을 분석한 결과 각 페이지의 인쇄 정보를 획득하지 못한 경우, 상기 인쇄 데이터의 가로/세로 및 프린터(200)의 DPI(Dot per Inch) 정보를 분석하여 용지의 크기와 방향 정보를 산출한다.In one application example, when the print
상기 인쇄 데이터 가공 모듈(150)은 상기 스플링 파일로부터 획득한 상기 인쇄 데이터 및 인쇄 정보를 상기 인쇄 데이터와 관련된 API를 이용하여 원하는 인쇄물 형태로 가공한 후 프린터 드라이버(160)로 전송하여 상기 프린터(200)에서 인돼되도록 한다.The print
이하, 상술한 바와 같이 구성된 본 발명의 작동 상태에 대하여 설명한다.Hereinafter, the operating state of the present invention configured as described above will be described.
도 2는 본 발명의 일 실시 예에 따른 인쇄 작업 제어 및 인쇄 데이터 가공 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a print job control and print data processing method according to an exemplary embodiment.
프린터(200)와 연결된 컴퓨터(100)에서 인쇄 작업을 제어하여 인쇄 데이터를 가공하기 위하여 먼저, 상기 인쇄 작업이 상기 컴퓨터(100) 윈도우즈 스풀러(Spooler; 140)를 거치도록 프린터 환경을 설정한다(S110).In order to process a print data by controlling a print job from the
단계 S110에서 설정된 프린터 환경에 따라 상기 컴퓨터(100)에서 발생하는 모든 인쇄 작업은 상기 윈도우즈 스풀러로 인입되도록 한다. 또한, 상기 프린터 환경 설정에 따라 상기 윈도우즈 스풀러에 인쇄 작업이 인입되면 상기 프린터(200)를 일시 중지 상태로 설정한다. According to the printer environment set in step S110, all print jobs generated in the
일 응용 예에서는, 상기 윈도우즈 스풀러(140)를 거치는 모든 상기 인쇄 작업에 일시 정지 명령을 전송하고 소정 조건을 만족하는 경우 상기 일시 정지 명령을 해제하도록 설정한다.In one application example, a pause command is transmitted to all the print jobs passing through the
상기 프린터 환경 설정 후, 상기 스플링(140)에 인쇄 작업이 인입되었는지 여부, 상기 인쇄 작업이 출력이 허용된 인쇄 작업인지 여부, 및 가공된 인쇄 작업이 프린터 드라이버로 전송되었는지 여부 등 인쇄 작업 제어에 대한 모니터링을 수행한다(S120).After setting the printer environment, the print job control, such as whether a print job is inserted into the
상기 단계 S120의 모니터링 결과 상기 인쇄 작업이 발생하는 경우 상기 단계 S110에서 설정한 프린터 환경 설정에 따라, 상기 프린터의 프린터 드라이버가 일시 정지하여 상기 프린터에서 상기 인쇄 작업에 대한 인쇄가 이루어지지 않도록 정지 명령을 상기 프린터 드라이버로 전송한다.If the print job occurs as a result of the monitoring of step S120, according to the printer environment setting set in step S110, the printer driver of the printer is paused to stop the printing of the print job from the printer. Send to the printer driver.
상기 윈도우즈 스풀러(140)에 인쇄 작업이 인입되는지 여부를 모니터링하기 위하여, 윈도우즈 2000 이상인 경우 윈도우즈 스풀러에 인쇄 작업이 인입되었는지 여부 즉, 이벤트를 획득할 수 있는 API를 사용하는 방법을 사용하며, 윈도우즈 2000 이전 버전에 대해서는 다음의 방법을 사용한다.In order to monitor whether the print job is inserted into the
인쇄 작업 제어 모듈(130)은 소정 시간마다 프린트 드라이브(160)에 일시 존재하는 상기 인쇄 작업의 내용을 저장하고, 상기 소정 시간 이전에 저장된 상기 인쇄 작업의 내용과 이후에 저장된 데이터를 비교하여 상이 경우 상기 프린트의 드라이브로 새로운 인쇄 작업이 발생하였음을 감지한다.The print
상기 프린터 환경 설정에 따른 프린트 드라이버의 제어를 살펴보면, 상기 모니터링 결과 인쇄 작업이 다수 개 발생한 경우, 상기 윈도우즈 스풀러(140)에 인입된 상기 인쇄 작업에 각각 부여되는 작업 ID에 대응하는 스레드(Thread)를 생성하고, 상기 스레드는 상기 인쇄 작업에 대하여 인쇄 허용 여부를 조회하여 인쇄 허용된 경우 카운트를 하나씩 증가하고, 상기 인쇄 작업의 인쇄가 완료되면 상기 카운트를 하나씩 감소한다. 상기 인쇄 작업에 대한 문서 이름, 프린터명, 및 사용자명 중 적어도 하나의 데이터를 추출하여, 상기 데이터를 기반으로 상기 인쇄 허용 여부를 결정한다.Looking at the control of the print driver according to the printer environment setting, when a plurality of print jobs occur as a result of the monitoring, a thread corresponding to each job ID given to the print job introduced into the windows spooler 140 When generating, the thread inquires whether or not printing is allowed for the print job, and increases the count by one when the printing is allowed, and decreases the count by one when the printing of the print job is completed. At least one data of a document name, a printer name, and a user name for the print job is extracted to determine whether to permit the printing based on the data.
그리고, 상기 카운트가 0(영)인 경우 상기 프린터 드라이버(160)로 일시 정지 명령을 전송하고, 상기 카운트가 1 이상인 경우 상기 프린터 드라이버(160)로 상기 일시 정지 명령을 해제한다.When the count is 0 (zero), the pause command is transmitted to the
또한, 상기 단계 S120의 모니터링 결과 상기 윈도우즈 스풀러(140)에 상기 인쇄 데이터가 인입되면, 상기 인쇄 데이터에 상응하는 스플링 파일을 복사한 후, 상기 스플링 파일을 분석한다(S130).In addition, when the print data is inserted into the windows spooler 140 as a result of the monitoring of step S120, after copying a splicing file corresponding to the print data, the splicing file is analyzed (S130).
상기 윈도우즈 스풀러(140)에 인입된 상기 인쇄 작업에 상응하는 스플링 파일을 분석하여 페이지 단위의 인쇄 데이터 또는 인쇄 정보를 추출한다(S140).The printing data or print information in units of pages is extracted by analyzing a splining file corresponding to the print job inserted into the windows spooler 140 (S140).
상기 스플링 파일을 분석하는 방법은 다음과 같다. 상기 스플링 파일의 시작 위치부터 소정 위치 떨어진 위치, 예컨대 5 내지 8 바이트(Byte) 사이의 소정 바이트(예컨대 4 바이트)를 변환하여 상기 스플링 파일의 상기 인쇄 데이터 또는 상기 인쇄 정보를 포함하는 내부 데이터의 시작 정보를 획득한다.The method of analyzing the splicing file is as follows. Internal data including the print data or the print information of the sputtering file by converting a predetermined byte (for example, 4 bytes) between a position separated from a start position of the sputtering file, for example, 5 to 8 bytes. Obtain the start information.
상기 내부 데이터의 시작 정보에 따른 시작 부분을 분석하면 데이터의 구분 값 및 상기 데이터의 크기를 획득할 수 있는데, 상기 데이터의 구분 값으로부터 이하의 데이터가 인쇄 데이터, 인쇄 정보, 또는 기타 데이터인지 여부를 구분할 수 있다. Analyzing the start portion according to the start information of the internal data can obtain the data division value and the size of the data. From the data division value, whether the following data is print data, print information, or other data is determined. Can be distinguished.
또한 상기 데이터의 크기에 해당하는 부분을 변환하여 상기 인쇄 데이터 및 인쇄 정보 중 적어도 하나를 추출하게 되는데, 이때 상기 스플링 파일을 분석한 결과 상기 인쇄 정보가 추출되지 않는 경우, 상기 인쇄 데이터의 가로 정보, 세로 정보, 및 상기 프린터의 DPI(Dots Per Inch) 정보를 분석하여 상기 인쇄 정보에 상응하는 용지의 크기 및 방향을 연산한다(S150, S160).In addition, at least one of the print data and the print information is extracted by converting a portion corresponding to the size of the data. In this case, when the print information is not extracted as a result of analyzing the sputtering file, the horizontal information of the print data is extracted. , The vertical information, and the DPI (Dots Per Inch) information of the printer is analyzed to calculate the size and direction of the paper corresponding to the print information (S150, S160).
상기 인쇄 데이터 및 상기 인쇄 정보를 기반으로 상기 인쇄 데이터에 상응하 는 API를 이용하여 상기 인쇄 데이터를 가공한 후 상기 인쇄 정보에 따라 사용자가 처음 원하는 프린터, 컬러, 용지, 해상도 등에 부응하도록 프린트 한다(S170, S180).After processing the print data using an API corresponding to the print data based on the print data and the print information, the print data is printed to meet a printer, color, paper, resolution, etc., which the user first desires according to the print information ( S170, S180).
이상에서 상세히 설명한 바와 같이, 본 발명의 인쇄 작업 제어 및 인쇄 데이터 가공 방법 및 그 장치에 의하면, 발명이 이루고자 하는 기술적 과제에서 설명했듯이 본 발명은 윈도우즈 스풀러(Windows Spooler)를 거치는 인쇄작업들을 감시하고 제어하여 여러 경로를 통한 인쇄 작업에 대해서 효과적으로 제어하고 인쇄 작업에 대한 모든 정보를 파악할 수 있으므로 출력물을 통한 데이터의 유출을 쉽게 감시하고 추적할 수 있게 된다는 장점이 있다.As described in detail above, according to the print job control and print data processing method and apparatus of the present invention, as described in the technical problem to be achieved by the present invention, the present invention monitors and controls print jobs passing through a Windows spooler. Therefore, it is possible to effectively control print jobs through various paths and grasp all information on print jobs, so that data leakage through printouts can be easily monitored and tracked.
또한 프린터 하드웨어 장비별로 인쇄작업 제어 설정이 가능하게 되고 효율적인 프린터 장비의 운영에도 이용될 수 있으며, 사용자의 환경이나 동작방식에 종속적이지 않으며 사용자의 인지없이도 효과적으로 운용될 수 있다.In addition, print job control settings can be set for each printer hardware device, and can be used for efficient printer device operation, and can be effectively operated without user's knowledge.
게다가, 인쇄데이터 가공에 있어서 윈도우즈 스풀러를 거치는 인쇄작업의 인쇄데이터를 획득하고 여기서 가공 가능한 데이터를 추출함으로서 별도의 가상 프린터 드라이버의 설치를 통해서 해당 가상 프린터 드라이버로 출력을 시도할 경우에만 획득이 가능했던 기존의 인쇄데이터를 일반적인 프린터 드라이버를 거친 후에도 획득할 수 있게되므로 별도의 가상 프린터 드라이버의 설치가 필요 없으며 사용자의 행위나 출력을 시도하는 프린터에 상관없이 인쇄데이터를 획득하고 가공할 수 있다는 효과가 있다.In addition, in the print data processing, the print data of the print job passing through the Windows spooler can be obtained and the processable data can be extracted from the print job. Existing print data can be obtained even after going through a general printer driver, so there is no need to install a separate virtual printer driver, and print data can be obtained and processed regardless of a user's action or a printer trying to print. .
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments, the present invention is not limited to the above-described embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will have the technical idea of the present invention to the extent that various modifications or changes are possible.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060118649A KR20080048366A (en) | 2006-11-28 | 2006-11-28 | Print job control and print data processing method and device therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060118649A KR20080048366A (en) | 2006-11-28 | 2006-11-28 | Print job control and print data processing method and device therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080048366A true KR20080048366A (en) | 2008-06-02 |
Family
ID=39804595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060118649A Abandoned KR20080048366A (en) | 2006-11-28 | 2006-11-28 | Print job control and print data processing method and device therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080048366A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049165B2 (en) | 2009-01-19 | 2015-06-02 | Lg Electronics Inc. | Method for delivering message based on CPM service and server thereof |
-
2006
- 2006-11-28 KR KR1020060118649A patent/KR20080048366A/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049165B2 (en) | 2009-01-19 | 2015-06-02 | Lg Electronics Inc. | Method for delivering message based on CPM service and server thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7061635B1 (en) | Information processing apparatus, distributed printing method, and storage medium | |
US8804162B2 (en) | Information processing apparatus, printing system, monitoring method, program, and storage medium | |
US8373873B2 (en) | Apparatus and method for determining execution order of private print jobs in a variable print system | |
US8094332B2 (en) | Print processing utilizing multiple printer drivers | |
US7821657B2 (en) | Continuous raster image processing control across print jobs | |
US20060139690A1 (en) | Information processing device and job transfer control method | |
US8213031B2 (en) | Image forming apparatus and method of preventing printing error from being generated | |
JP4298738B2 (en) | Client computer and information processing method | |
US20030053110A1 (en) | Variable cancel of future print jobs | |
US20120293816A1 (en) | Printing apparatus, printing method, printing system, and computer readable medium | |
US20030193689A1 (en) | Job management apparatus, job management system, job management method, and storage medium storing program | |
US8441670B2 (en) | In-line system for the validation of a page description language within a print data stream | |
US7590766B2 (en) | Image processing system, image forming system, information processing system, image processing method, information processing method and computer readable medium | |
US20050286078A1 (en) | Print control device and method for automatically resuming a printing operation of remaining pages | |
JPH09311770A (en) | Information processing apparatus, printing apparatus, and print control method thereof | |
KR20080048366A (en) | Print job control and print data processing method and device therefor | |
JP2004330688A (en) | Printer equipped with automatic distinction capability of page description language and character-encoding scheme | |
US8451474B2 (en) | Method of protecting leakage of information, and information processing apparatus and driver program which implement the method | |
JP3492297B2 (en) | Image processing method, image processing apparatus, and storage medium | |
US20110038001A1 (en) | Printing control method, a computer readable storage medium storing instructions of a computer program thereof, and an image formation device | |
US20060290948A1 (en) | Undesirable output detection in imaging device | |
US9582231B2 (en) | Printer control device, printing system, and control method that deletes unnecessary data due to interruption | |
US20060197974A1 (en) | System and method for monitoring files to be printed | |
JP2003044243A (en) | Print cancellation control method in print system, print cancellation control device, printing device, and program | |
JP2008134817A (en) | Printing system, printing control device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20061128 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20071212 Patent event code: PE09021S01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20080522 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20080826 |
|
NORF | Unpaid initial registration fee | ||
PC1904 | Unpaid initial registration fee |