KR100530374B1 - Printer driver and error prevention method for printer - Google Patents

Printer driver and error prevention method for printer Download PDF

Info

Publication number
KR100530374B1
KR100530374B1 KR10-2004-0001922A KR20040001922A KR100530374B1 KR 100530374 B1 KR100530374 B1 KR 100530374B1 KR 20040001922 A KR20040001922 A KR 20040001922A KR 100530374 B1 KR100530374 B1 KR 100530374B1
Authority
KR
South Korea
Prior art keywords
printer
printing data
resolution
data
memory
Prior art date
Application number
KR10-2004-0001922A
Other languages
Korean (ko)
Other versions
KR20050073824A (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 KR10-2004-0001922A priority Critical patent/KR100530374B1/en
Publication of KR20050073824A publication Critical patent/KR20050073824A/en
Application granted granted Critical
Publication of KR100530374B1 publication Critical patent/KR100530374B1/en

Links

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver

Abstract

본 발명은, 컴퓨터에 설치되어 프린팅할 데이터를 프린터 제어 언어로 변환시키는 프린터 드라이버 및 이를 이용한 프린터 에러방지방법에 관한 것이다. 본 프린터 드라이버는, 프린팅할 데이터를 프린터에서 인식가능한 프린터 제어 언어로 변환시키는 프린팅 데이터 변환부; 프린팅 데이터 변환부에 의해 프린팅 데이터가 변환될때 생성되는 명령어의 수를 미리 설정된 영역별로 나누어 카운트하는 카운팅 프로그램; 카운팅 프로그램에서 카운트되는 명령어의 수에 대한 한도값인 명령어 한도치에 정보를 저장하고 있는 메모리; 프린팅 데이터의 해상도를 조절하는 해상도 조절부; 및, 프린팅 데이터의 특정 영역에서 생성되는 명령어의 수가 미리 설정된 명령어의 한도치를 초과하면 프린팅 데이터의 해상도를 낮추도록 제어하는 제어부를 포함하는 것을 특징으로 한다. 이에 의해, 프린터에서의 밴드 에러 및 메모리 오버플로우의 발생을 방지함으로써, 사용자의 편의를 도모할 수 있을 뿐만 아니라, 해상도가 낮아짐에 따라 프린팅 속도도 향상시킬 수 있다. The present invention relates to a printer driver installed in a computer for converting data to be printed into a printer control language and a printer error prevention method using the same. The printer driver includes: a printing data conversion unit for converting data to be printed into a printer control language recognizable by the printer; A counting program for dividing the number of instructions generated when the printing data is converted by the printing data converter by each preset area; A memory for storing information in an instruction limit value which is a limit value for the number of instructions counted in the counting program; A resolution adjusting unit adjusting a resolution of printing data; And a controller that controls to lower the resolution of the printing data when the number of instructions generated in a specific area of the printing data exceeds a preset limit of the instructions. This prevents the occurrence of a band error and memory overflow in the printer, thereby making it possible for the user to be more convenient, as well as improving the printing speed as the resolution is lowered.

Description

프린터 드라이버 및 이를 이용한 프린터 에러방지방법{PRINTER DRIVER AND ERROR PREVENTION METHOD FOR PRINTER}Printer Driver and How to Prevent Printer Error Using It {PRINTER DRIVER AND ERROR PREVENTION METHOD FOR PRINTER}

본 발명은 프린터 드라이버 및 이를 이용한 프린터 에러방지방법에 관한 것으로서, 보다 상세하게는, 컴퓨터에서 프린터로 제공되는 프린팅 데이터 중 특정 영역에서 생성되는 명령어의 수가 일정 기준을 초과하면 프린팅 데이터의 해상도를 낮춤으로써, 프린터에서 발생하는 밴드에러 및 메모리 오버플로우를 방지할 수 있도록 하는 프린터 드라이버 및 이를 이용한 프린터 에러방지방법에 관한 것이다. The present invention relates to a printer driver and a method for preventing a printer error using the same. More particularly, when the number of instructions generated in a specific area among printing data provided from a computer to a printer exceeds a predetermined standard, the resolution of the printing data is reduced. The present invention relates to a printer driver for preventing a band error and a memory overflow occurring in a printer, and a printer error prevention method using the same.

일반적으로 프린터는 컴퓨터와 연결되어 컴퓨터에서 작성되거나 편집된 프린팅 데이터를 전송 받아 이를 세팅된 인쇄 조건에 적합한 프린터 제어용 언어로 변환하고, 잉크나 토너 등의 유색 염료 등을 사용하여 용지에 결과물을 출력하는 기기이다. In general, the printer is connected to a computer and receives the printing data created or edited on the computer, converts it into a printer control language suitable for the set printing conditions, and outputs the result on paper using colored dyes such as ink or toner. Appliance.

이러한 프린터는 컴퓨터와 인터페이스 가능하게 연결되어 있으며, 프린터를 위한 입출력 인터페이스는 종래에는 36핀 플러그를 가진 병렬 센트로닉스 인터페이스가 사용되어 왔으나, 최근에는 거의 USB와 같은 직렬 인터페이스나 fireware 등이 사용되는 추세이다. These printers are connected to a computer so that they can be interfaced with each other, and the input / output interface for the printer has been used in parallel with a census census interface with a 36-pin plug, but recently, a serial interface such as USB or fireware is used. .

한편, 컴퓨터에는 프린트와 인터페이스하여 프린팅 작업이 가능하도록 프린터 드라이버가 설치되어 있는데, 프린터 드라이버는 컴퓨터의 응용프로그램에서 작성된 인쇄 데이터를 프린터에서 해석가능한 프린터 언어(Printer Language ; 이하 '프린터 제어용 언어'라 함)로 변환하는 역할을 수행한다. 프린터 제어용 언어는 출력될 문서를 어떻게 구성할 것인지를 지시하기 위해 컴퓨터가 프린터로 보내는 명령어들로서, 이러한 명령어들은 글꼴의 크기, 그래픽, 프린터로 보내지는 데이터의 압축, 색상 등을 관리한다. 프린터 제어용 언어로 주로 사용되는 것으로는 포스트스크립트와 PCL이 있다. On the other hand, a printer driver is installed in the computer so that the printer can interface with the printer for printing. The printer driver is referred to as a printer language (hereinafter referred to as a printer control language) that can interpret print data created by an application program on the computer. It converts to). The language for printer control is commands sent by the computer to the printer to indicate how to construct the printed document. These commands manage font size, graphics, compression of data sent to the printer, and color. Commonly used languages for printer control include PostScript and PCL.

이러한 프린터 드라이버는, 윈도우즈의 GDI(Graphics Device Interface) 기능에 의한 경로, 비트맵, 폰트를 포스트 스크립트나 PCL 등의 명령어로 변환시킨다. 여기서, GDI는 디스플레이, 프린터, 기타 장치에 대한 그래픽 출력을 위하여 응용 프로그램이 사용할 수 있는 함수와 그에 관련된 구조를 제공하며, 프린터에서는 프린팅 이미지를 컴퓨터에서 생성시켜 프린터에서 출력하도록 지원한다. Such a printer driver converts paths, bitmaps, and fonts by the Windows Graphics Device Interface (GDI) function into commands such as PostScript or PCL. Here, GDI provides a function that can be used by an application program and a related structure for graphic output of a display, a printer, and other devices, and the printer supports printing a printer by generating a printing image on a computer.

한편, 이렇게 프린터 드라이버에서 프린팅 데이터를 포스트 스크립트나 PCL 등의 명령어로 변환시키면, 프린터의 펌웨어에서는 프린터 드라이버에서 생성한 명령어를 다시 해석하고, 이를 원래의 상태로 복원하여 인쇄할 수 있는 이미지를 생성한다. On the other hand, if the printer driver converts the printing data into a command such as PostScript or PCL, the printer's firmware interprets the command generated by the printer driver and restores it to its original state to generate an image that can be printed. .

그런데, 사용자가 작성한 데이터의 내용이 복잡한 경우, 프린터 드라이버에서 생성한 명령어가 수만 내지 수십만 개에 이를 수 있다. 이에 따라, 프린터에서는 수만 내지 수십만 개의 명령어를 해석하기 위해 메모리의 용량이 과도하게 사용되고, 해석시간도 연장된다. 특히 일부영역에 복잡한 데이터가 몰려있어 명령어가 일부영역에 집중되어 있을 경우, 프린터의 펌웨어에서 명령어를 해석하고 원래의 상태로 복원하는 동안 메모리의 용량 부족에서 오는 밴드에러 또는 메모리 오버플로우가 발생할 수 있다. However, when the contents of the data created by the user are complicated, the instructions generated by the printer driver may reach tens of thousands to hundreds of thousands. Accordingly, in the printer, the capacity of the memory is excessively used to interpret tens of thousands to hundreds of thousands of commands, and the analysis time is extended. In particular, if the data is concentrated in some areas due to complex data gathered in some areas, a band error or memory overflow may occur due to insufficient memory while the printer's firmware interprets the commands and restores them to their original state. .

이렇게 밴드에러나 메모리 오버플로우가 발생하게 되면, 데이터를 인쇄할 수 없게 되며, 사용자는 프린터 메모리 용량의 부족에서 오는 밴드에러나 메모리 오버플로우를 해결할 방법이 없으므로 사용자의 불편함을 유발하게 된다. When a band error or a memory overflow occurs, data cannot be printed, and the user is inconvenient because there is no way to solve the band error or memory overflow caused by insufficient printer memory capacity.

따라서, 본 발명의 목적은, 프린팅할 데이터를 프린터 제어용 언어로 변환시, 일부 영역에 명령어가 집중될 경우 데이터의 해상도를 낮춤으로써, 밴드에러나 메모리 오버플로우를 방지할 수 있도록 하는 프린터 드라이버 및 그의 프린터 에러방지방법을 제공하는 것이다. Accordingly, an object of the present invention is to convert a data to be printed into a language for controlling a printer, and to reduce the resolution of data when a command is concentrated in a certain area, thereby preventing a band error or a memory overflow, and a printer thereof. It is to provide an error prevention method.

이러한 목적을 달성하기 위한 본 발명의 구성은, 컴퓨터에 설치되어 프린팅할 데이터를 프린터 제어 언어로 변환시키는 프린터 드라이버에 있어서, 프린팅할 데이터를 프린터에서 인식가능한 프린터 제어 언어로 변환시키는 프린팅 데이터 변환부; 상기 프린팅 데이터 변환부에 의해 프린팅 데이터가 변환될때 생성되는 명령어의 수를 미리 설정된 영역별로 나누어 카운트하는 카운팅 프로그램; 상기 카운팅 프로그램에서 카운트되는 명령어의 수에 대한 한도값인 명령어 한도치에 정보를 저장하고 있는 메모리; 상기 프린팅 데이터의 해상도를 조절하는 해상도 조절부; 및, 상기 프린팅 데이터의 특정 영역에서 생성되는 명령어의 수가 미리 설정된 명령어의 한도치를 초과하면 상기 프린팅 데이터의 해상도를 낮추도록 제어하는 제어부를 포함하는 것을 특징으로 한다. A configuration of the present invention for achieving the above object comprises: a printer driver installed in a computer for converting data to be printed into a printer control language, comprising: a printing data conversion unit for converting data to be printed into a printer control language recognizable by the printer; A counting program for counting the number of instructions generated when the printing data is converted by the printing data converter for each preset area; A memory for storing information in an instruction limit value which is a limit value for the number of instructions counted in the counting program; A resolution adjusting unit that adjusts the resolution of the printing data; And a control unit which controls to lower the resolution of the printing data when the number of instructions generated in a specific area of the printing data exceeds a preset limit of the instructions.

여기서, 상기 메모리에 저장된 명령어 한도치는, 상기 프린터의 성능과 메모리 용량을 고려하여 설정되는 것이 바람직하다. Here, the command limit value stored in the memory is preferably set in consideration of the performance of the printer and the memory capacity.

상기 카운팅 프로그램은 밴드 단위로 명령어의 수를 카운팅하며, 상기 메모리에 저장된 명령어의 한도치도 밴드 단위로 설정되는 것이 바람직하다. The counting program counts the number of instructions in band units, and the limit value of the instructions stored in the memory is also set in band units.

상기 해상도 조절부는 상기 프린팅 데이터의 해상도를 낮출 수 있다. The resolution adjusting unit may lower the resolution of the printing data.

한편, 상기 목적은, 본 발명의 다른 분야에 따르면, 컴퓨터에 설치되어 프린팅할 데이터를 프린터 제어 언어로 변환시키는 프린터 드라이버를 이용한 프린터 에러방지방법에 있어서, 프린팅할 데이터를 프린터에서 인식가능한 프린터 제어 언어로 변환시키는 단계; 프린팅 데이터가 변환될때 생성되는 명령어의 수를 미리 설정된 영역별로 나누어 카운트하는 단계; 특정 영역에서 생성되는 명령어의 수가 미리 설정된 명령어의 한도치를 초과하는지를 판단하는 단계, 및; 판단결과, 상기 명령어의 한도치를 초과하는 경우, 상기 프린팅 데이터의 해상도를 낮추는 단계를 포함하는 것을 특징으로 하는 프린터 드라이버를 이용한 프린터 에러방지방법에 의해서도 달성될 수 있다.On the other hand, the above object, according to another field of the present invention, in a printer error prevention method using a printer driver installed in a computer to convert the data to be printed to a printer control language, a printer control language that can recognize the data to be printed in the printer Converting to; Counting and dividing the number of instructions generated when the printing data is converted for each preset area; Determining whether the number of instructions generated in the specific region exceeds a preset limit of the instruction; As a result of the determination, when exceeding the limit value of the command, it can be achieved by a printer error prevention method using a printer driver, characterized in that it comprises the step of lowering the resolution of the printing data.

여기서, 상기 명령어의 한도치는, 상기 프린터의 메모리 용량을 포함하는 프린터 성능을 고려하여 설정되는 것이 바람직하다. Here, the limit value of the command is preferably set in consideration of the printer performance including the memory capacity of the printer.

상기 명령어의 수를 카운트하는 단계는, 밴드 단위 별로 명령어의 수를 카운트하는 단계인 것이 바람직하다. The counting of the number of instructions is preferably a step of counting the number of instructions per band unit.

상기 프린팅 데이터의 해상도를 낮추는 단계는, 상기 프린팅 데이터의 해상도를 낮출 수 있다. In the lowering of the resolution of the printing data, the resolution of the printing data may be lowered.

이하에서는 첨부도면을 참조하여 본 발명을 상세히 설명한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1는 프린팅 작업을 위해 컴퓨터 측에 구비되는 시스템의 구성 블럭도이다. 일반적으로 컴퓨터에는, CPU(10)와, 사용자가 각종 문서를 작성할 수 있는 응용프로그램(11)과, CPU(10)의 제어에 따라 응용프로그램(11)에서 작성된 각종 문서 및 이미지 파일을 프린터에서 해석가능한 프린터 제어 언어로 변환하는 프린터 드라이버(20)와, 프린터 드라이버(20)에서 변환된 데이터를 스풀링(spooling)하는 스풀러(15)(spooler)와, 스풀러(15)에 저장된 변환 데이터를 프린터로 전송하기 위한 인터페이스(17)로 구성된다.1 is a configuration block diagram of a system provided on the computer side for a printing operation. Generally, a computer interprets a CPU 10, an application program 11 that allows a user to create various documents, and various documents and image files created by the application program 11 under the control of the CPU 10 by a printer. A printer driver 20 for converting into a printer control language, a spooler 15 for spooling the data converted by the printer driver 20, and the converted data stored in the spooler 15 are transmitted to the printer. It consists of an interface 17 for doing so.

여기서, 프린터 드라이버(20)는 프린터 드라이버 프로그램을 하드웨어적인 장치로 구성한 것으로서, 본 발명에 따른 프린터 드라이버(20)는, 도 2에 도시된 바와 같이, 프린팅할 데이터를 프린터 제어용 언어인 명령어로 변환시키는 프린팅 데이터 변환부(31)와, 프린팅 데이터 변환부(31)에 의한 프린팅 데이터의 변환과정에서 생성되는 명령어의 수를 카운트하는 카운팅 프로그램(35)과, 프린팅 데이터의 특정 영역에 생성되는 명령어의 한도값인 명령어의 한도치에 대한 정보가 저장된 메모리(25)와, 프린팅 데이터의 해상도를 조절하기 위한 해상도 조절부(40)와, 프린팅 데이터를 스풀러(15)로 제공하는 데이터 전송부(33)와, 프린팅 데이터의 특정 영역에 생성되는 명령어의 수가 미리 설정된 명령어의 한도치 이상이면 프린팅 데이터의 해상도를 낮추는 제어부(30)를 포함한다. Here, the printer driver 20 is a hardware configuration of the printer driver program, the printer driver 20 according to the present invention, as shown in Figure 2, to convert the data to be printed to a command that is a language for printer control A printing data converter 31, a counting program 35 that counts the number of instructions generated in the process of converting printing data by the printing data converter 31, and a limit of instructions generated in a specific area of the printing data. A memory 25 in which information about a limit value of a command, which is a value, is stored, a resolution adjusting unit 40 for adjusting a resolution of printing data, a data transmission unit 33 for providing printing data to the spooler 15, and If the number of instructions generated in a specific area of the printing data is greater than or equal to the preset limit of the instruction, the resolution of the printing data is lowered. And a unit (30).

프린팅 데이터 변환부(31)에서는, 컴퓨터의 응용프로그램(11)을 통해 작성된 각종 문서 파일과 이미지 파일과 같은 프린팅 데이터를 프린터에서 해석가능한 포스트 스크립트와 PLC와 같은 프린터 제어용 언어로 변환시킨다. 이렇게 프린팅 데이터를 프린터 제어용 언어로 변환시키는 과정에서, 윈도우즈에서 지원하는 GDI 기능이 호출되어 명령어가 생성되며, 복잡한 이미지나 문자가 집중되어 있는 영역에서는 GDI 기능에 대한 호출이 수만 내지 수십만에 이르게 된다. The printing data conversion unit 31 converts printing data such as various document files and image files created through the application program 11 of the computer into a printer control language such as PostScript and PLC that can be interpreted by the printer. In the process of converting the printing data into the language for controlling the printer, the GDI function supported by Windows is called to generate a command, and the call to the GDI function reaches tens of thousands to hundreds of thousands in an area where a complex image or character is concentrated.

카운팅 프로그램(35)에서는 프린팅 데이터 변환부(31)에서 프린팅 데이터의 변환시 발생하는 명령어의 수, 즉 GDI 기능에 대한 호출 수를 카운트한다. 이 때, 카운팅 프로그램(35)은 문서 또는 이미지 파일의 밴드 단위 또는 페이지 단위 또는 파일 단위로 발생한 명령어의 수를 카운트하게 된다. 일반적으로, 프린터에서 프린팅 데이터를 해석하고 다시 원래의 파일 형태로 복원할 때, 그리고 프린팅할 때에도 거의 대부분의 과정이 밴드 단위로 이루어진다. In the counting program 35, the number of instructions generated when the printing data conversion unit 31 converts the printing data, that is, the number of calls to the GDI function is counted. At this time, the counting program 35 counts the number of instructions generated in band units, page units, or file units of the document or image file. In general, when the printer interprets the printing data, restores it back to the original file form, and prints, most of the process is performed in band units.

이렇게 데이터의 변환시 생성되는 명령어의 수가 일정 이상을 초과하면, 프린터에서 프린팅 데이터를 해석하고 원래 형태로 복귀시킬 때, 메모리(25)를 과도하게 사용하게 되어 메모리(25) 부족으로 인한 밴드 에러나 메모리(25) 오버플로우가 발생하게 된다. 이에 따라, 메모리(25)에는 밴드에러나 메모리 오버플로우가 발생할 가능성이 있는 GDI 기능의 호출 수, 즉 명령어 수의 한도치에 대한 정보가 저장되어 있다. 이 때, 메모리(25)에는 명령어의 한도치는 밴드에러나 메모리 오버플로우가 발생할 가능성이 있는 한계치로서 하나의 한도치만이 설정되어 저장되어 있을 수도 있고, 명령어의 한도치와 해상도를 다단계로 설정하여 상호 매칭되도록 설정할 수도 있다. 이러한 명령어의 한도치는 프린터의 전반적인 성능, 예를 들면, 인터페이스(17)의 전송속도, 프린터의 처리속도, 메모리(25)의 용량 등에 따라 결정되며, 이중에서 메모리(25)의 용량이 명령어의 한도치를 결정하는데 가장 중요한 요소가 된다. When the number of instructions generated during data conversion exceeds a certain level, the printer 25 uses excessively the memory 25 when interpreting the printing data and returning to the original form, resulting in a band error or memory caused by insufficient memory 25. (25) An overflow occurs. Accordingly, the memory 25 stores information on the limit of the number of calls of the GDI function, that is, the number of instructions, in which a band error or a memory overflow may occur. In this case, the limit value of the instruction may be stored in the memory 25 as a limit value in which a band error or a memory overflow may occur, and only one limit value may be set. It may be set to match each other. The limit of such a command is determined by the overall performance of the printer, for example, the transmission speed of the interface 17, the processing speed of the printer, the capacity of the memory 25, and the like, of which the capacity of the memory 25 is the limit of the command. Is the most important factor in determining value.

해상도 조절부(40)는, 프린팅 데이터의 해상도를 조절하는 역할을 하며, 해상도 조절부(40)는 데이터 전체에 대한 해상도를 조절할 수도 있고, 밴드 단위 또는 페이지 단위로 조절할 수도 있다. 즉, 특정 밴드의 명령어 수가 명령어의 한도치를 초과하는 경우, 해상도 조절부(40)는 데이터 전체의 해상도를 낮춘다. The resolution adjusting unit 40 serves to adjust the resolution of the printing data, and the resolution adjusting unit 40 may adjust the resolution of the entire data or may adjust the band unit or page unit. That is, when the number of instructions of a specific band exceeds the limit of the instructions, the resolution adjusting unit 40 lowers the resolution of the entire data.

제어부(30)는, 카운팅 프로그램(35)에 의해 미리 설정된 영역별로 카운트된 명령어의 수를 지속적으로 모니터링하며, 카운팅 프로그램(35)에 의해 카운트된 명령어의 수가 메모리(25)에 저장된 명령어의 한도치를 초과하는지 여부를 판단한다. 그리고, 특정 영역의 명령어의 수가 명령어의 한도치를 초과하는 경우, 해상도 조절부(40)를 제어하여 프린팅 데이터의 해상도를 낮추게 된다. 예를 들어, 특정 밴드에서의 GDI 기능을 호출하는 수, 즉 명령어의 수가 10만에 이르면, 해상도 조절부(40)에서는 프린팅 데이터의 해상도를 600dpi 에서 300dpi로 낮추도록 할 수 있다. 만약, 메모리(25)에 저장된 명령어의 한도치가 다단계로 분류되어 있고 그에 대한 해상도도 다단계로 설정되어 있는 경우라면, 제어부(30)는 명령어의 수가 어느 범위에 속하는지 파악하고 이에 대응되는 해상도로 조절되도록 해상도 조절부(40)를 제어할 수 있다. The control unit 30 continuously monitors the number of instructions counted for each area preset by the counting program 35, and the number of instructions counted by the counting program 35 increases the limit of the instructions stored in the memory 25. Determine if exceeded. When the number of commands in a specific area exceeds the limit of the commands, the resolution adjusting unit 40 is controlled to lower the resolution of the printing data. For example, when the number of calling GDI functions in a specific band, that is, the number of instructions reaches 100,000, the resolution controller 40 may reduce the resolution of the printing data from 600 dpi to 300 dpi. If the limit values of the instructions stored in the memory 25 are classified in multiple stages and the resolution thereof is set in the multiple stages, the controller 30 determines which range the number of instructions falls within and adjusts to the corresponding resolution. The resolution adjusting unit 40 may be controlled so as to be possible.

이렇게 프린팅 데이터의 해상도를 낮추게 되면, 프린터에서 프린팅 데이터의 해석 및 복귀시 상대적으로 적은 메모리를 필요로 하게 되므로, 밴드에러나 메모리 오버플로우를 방지할 수 있고, 인쇄속도도 향상시킬 수 있다. When the resolution of the printing data is reduced in this way, the printer requires relatively little memory when interpreting and returning the printing data, thereby preventing a band error or a memory overflow and improving the printing speed.

한편, 해상도 조절부(40)에서 조절된 해상도에 대한 정보는, 압축된 파일인 경우에는 헤더에 포함된 다음, 데이터 전송부(33)를 통해 스풀러(15)로 제공된 다음 인터페이스(17)를 통해 프린터로 제공된다. 그러나, 헤더를 갖지 아니한 RAW 데이터 파일인 경우에는 별도의 정보로서 프린팅 데이터와 함께 스풀러(15)에 제공된 다음, 인터페이스(17)를 통해 프린터로 제공된다. On the other hand, the information about the resolution adjusted by the resolution adjusting unit 40 is included in the header in the case of a compressed file, and then provided to the spooler 15 through the data transmission unit 33 and then through the interface 17. It is provided by a printer. However, in the case of a RAW data file having no header, it is provided to the spooler 15 together with printing data as separate information and then to the printer through the interface 17.

이러한 구성에 의한 프린터 드라이버(20)의 프린팅 데이터 변환과정을 도 3을 참조하여 설명하면 다음과 같다. The printing data conversion process of the printer driver 20 having such a configuration will be described with reference to FIG. 3 as follows.

사용자가 응용프로그램을 이용하여 문서 또는 이미지 등의 데이터를 형성한 다음, 인쇄 명령을 선택하면, CPU(10)에서는 프린팅할 데이터를 프린터 드라이버(20)로 제공한다(S310). 프린터 드라이버(20)의 프린팅 데이터 변환부(31)에서는 GDI 기능을 호출하여 프린팅 데이터에 대한 명령어를 생성한다. 이렇게 명령어를 생성하는 중, 카운팅 프로그램(35)은 지속적으로 명령어의 수를 카운트하며(S320), 이 때, 밴드, 페이지, 데이터 전체 등 미리 설정된 영역별로 명령어의 수를 카운트한다. 밴드 단위로 명령어의 수를 카운트하도록 설정된 경우, 카운팅 프로그램(35)은 밴드가 시작될 때마다 새로이 명령어의 수를 카운트하게 된다. 제어부(30)에서는 카운팅 프로그램(35)에 의해 카운트되는 명령어의 수가 명령어의 한도치를 초과하는지 지속적으로 모니터링하고(S330), 특정 밴드의 명령어의 수가 미리 메모리(25)에 저장된 명령어의 한도치를 초과하면, 해상도 조절부(40)를 작동시켜 해당 데이터 전체에 대한 해상도를 낮추게 된다(S340). If the user forms data such as a document or an image using an application program and then selects a print command, the CPU 10 provides the printer driver 20 with data to be printed (S310). The printing data converter 31 of the printer driver 20 calls a GDI function to generate a command for printing data. While generating the instructions, the counting program 35 continuously counts the number of instructions (S320), and at this time, counts the number of instructions for each preset area such as a band, a page, and data. When set to count the number of instructions in units of bands, the counting program 35 counts a new number of instructions each time the band starts. The controller 30 continuously monitors whether the number of instructions counted by the counting program 35 exceeds an instruction limit value (S330), and when the number of instructions of a specific band exceeds a threshold value of instructions previously stored in the memory 25. By operating the resolution adjusting unit 40, the resolution of the entire data is lowered (S340).

이렇게 낮추어진 해상도에 대한 정보는 프린팅 데이터와 함께 스풀러(15)에 제공되어 스풀링된 다음(S350), 인터페이스(17)를 통해 프린터로 전송된다(S360). The information about the lowered resolution is provided to the spooler 15 together with the printing data, spooled (S350), and then transmitted to the printer through the interface 17 (S360).

프린터에서는 프린터 펌웨어를 이용하여 프린팅 데이터를 해석하고, 프린팅 데이터를 렌더링(rendering)하여 원래의 형태로 복귀시킨다. 이 때, 프링팅 데이터의 해상도가 원 데이터보다 낮게 설정되어 있으므로, 메모리(25)의 용량부족에 따른 밴드에러나 메모리 오버플로우의 발생을 미연에 방지할 수 있다. The printer interprets the printing data using the printer firmware, renders the printing data and returns it to its original form. At this time, since the resolution of the printing data is set lower than the original data, occurrence of a band error or memory overflow due to insufficient capacity of the memory 25 can be prevented in advance.

이와 같이, 본 프린터 드라이버(20)는, 프린팅할 데이터를 프린터 제어용 언어로 변환시킬 때, GDI 기능이 호출되는 수, 즉 명령어의 수를 영역별로 카운트하며, 특정 영역에서 카운트한 명령어의 수가 미리 설정된 명령어의 한도치를 초과하면 해당 데이터의 해상도를 낮게 설정한다.  In this way, when the printer driver 20 converts the data to be printed into a language for printer control, the printer driver 20 counts the number of GDI functions to be called, that is, the number of commands for each area, and the number of commands counted in a specific area is preset. If the command limit is exceeded, the resolution of the data is set lower.

이에 따라, 프린터에서 프린터 제어용 언어로 변환된 데이터를 해석하고, 다시 원래 형태로 복귀시키는 과정에서 과도하게 메모리(25)를 사용하는 일을 방지할 수 있다. 따라서, 프린터에서 메모리(25)의 상대적인 용량 부족으로 발생하는 밴드 에러 또는 메모리 오버플로우의 발생을 방지하여 사용자의 편의를 도모할 수 있게 될 뿐만 아니라, 해상도가 낮아짐에 따라 프린팅 속도도 향상시킬 수 있다. Accordingly, it is possible to prevent excessive use of the memory 25 in the process of interpreting the data converted by the printer into the printer control language and returning it to its original form. Therefore, not only can the band error or memory overflow occur due to the relative lack of memory 25 in the printer, but also the user's convenience, and the printing speed can be improved as the resolution is lowered. .

이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시형태에 관해 설명하였으나, 이는 예시적인 것으로 받아들여져야 하며, 본 발명의 기술적 사상에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 형태에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. As described above, in the detailed description of the present invention, specific embodiments have been described, but it should be taken as exemplary, and various modifications may be made without departing from the technical spirit of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below, but also by the equivalents of the claims.

이상에서 설명한 바와 같이, 본 발명에 따르면, 프린팅할 데이터를 프린터 제어용 언어로 변환시킬 때 생성되는 명령어의 수를 영역별로 카운트하고, 특정 영역에서 카운트한 명령어의 수가 미리 설정된 명령어의 한도치를 초과하면 해당 데이터의 해상도를 낮게 설정함으로써, 프린터에서의 밴드 에러 및 메모리 오버플로우의 발생을 방지하여 사용자의 편의를 도모할 수 있을 뿐만 아니라, 해상도가 낮아짐에 따라 프린팅 속도도 향상시킬 수 있다. As described above, according to the present invention, the number of instructions generated when converting the data to be printed into the language for controlling the printer is counted for each area, and if the number of commands counted in a specific area exceeds the preset command limit, By setting the resolution of the data low, not only the band error and memory overflow occurring in the printer can be prevented, but also the user's convenience can be improved, and the printing speed can be improved as the resolution is lowered.

도 1는 프린팅 작업을 위해 컴퓨터 측에 구비되는 시스템의 구성 블럭도,1 is a configuration block diagram of a system provided on the computer side for a printing operation,

도 2는 본 발명에 따른 프린터 드라이버의 구성 블럭도, 2 is a block diagram of a printer driver according to the present invention;

도 3은 도 2의 프린터 드라이버를 이용한 데이터의 변환과정을 도시한 흐름도이다. 3 is a flowchart illustrating a process of converting data using the printer driver of FIG. 2.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

20 : 프린터 드라이버 25 : 메모리 20: printer driver 25: memory

30 : 제어부 31 : 프린팅 데이터 변환부30: control unit 31: printing data conversion unit

33 : 데이터 전송부 35 : 카운팅 프로그램 33: data transmission unit 35: counting program

40 : 해상도 조절부 40: resolution control unit

Claims (8)

컴퓨터에 설치되어 프린팅할 데이터를 프린터 제어 언어로 변환시키는 프린터 드라이버에 있어서, A printer driver installed in a computer and converting data to be printed into a printer control language, 프린팅할 데이터를 프린터에서 인식가능한 프린터 제어 언어로 변환시키는 프린팅 데이터 변환부; A printing data conversion unit for converting data to be printed into a printer control language recognizable by the printer; 상기 프린팅 데이터 변환부에 의해 프린팅 데이터가 변환될때 생성되는 명령어의 수를 미리 설정된 영역별로 나누어 카운트하는 카운팅 프로그램; A counting program for counting the number of instructions generated when the printing data is converted by the printing data converter for each preset area; 상기 카운팅 프로그램에서 카운트되는 명령어의 수에 대한 한도값인 명령어 한도치에 정보를 저장하고 있는 메모리; A memory for storing information in an instruction limit value which is a limit value for the number of instructions counted in the counting program; 상기 프린팅 데이터의 해상도를 조절하는 해상도 조절부; 및,A resolution adjusting unit that adjusts the resolution of the printing data; And, 상기 프린팅 데이터의 특정 영역에서 생성되는 명령어의 수가 미리 설정된 명령어의 한도치를 초과하면 상기 프린팅 데이터의 해상도를 낮추도록 제어하는 제어부를 포함하는 것을 특징으로 하는 프린터 드라이버. And a control unit which controls to lower the resolution of the printing data when the number of commands generated in a specific area of the printing data exceeds a preset limit of the command. 제 1 항에 있어서, The method of claim 1, 상기 메모리에 저장된 명령어 한도치는, 상기 프린터의 성능과 메모리 용량을 고려하여 설정되는 것을 특징으로 하는 프린터 드라이버. The command limit value stored in the memory is set in consideration of the performance and memory capacity of the printer. 제 1 항에 있어서,The method of claim 1, 상기 카운팅 프로그램은 밴드 단위로 명령어의 수를 카운팅하며, 상기 메모리에 저장된 명령어의 한도치도 밴드 단위로 설정되는 것을 특징으로 하는 프린터 드라이버.The counting program counts the number of commands in band units, and the limit value of the commands stored in the memory is set in band units. 제 1 항에 있어서, The method of claim 1, 상기 해상도 조절부는 상기 프린팅 데이터의 해상도를 낮추는 것을 특징으로 하는 프린터 드라이버.And the resolution adjusting unit lowers the resolution of the printing data. 컴퓨터에 설치되어 프린팅할 데이터를 프린터 제어 언어로 변환시키는 프린터 드라이버를 이용한 프린터 에러방지방법에 있어서, In the printer error prevention method using a printer driver installed on a computer to convert the data to be printed to a printer control language, 프린팅할 데이터를 프린터에서 인식가능한 프린터 제어 언어로 변환시키는 단계; Converting data to be printed into a printer control language recognizable by the printer; 프린팅 데이터가 변환될때 생성되는 명령어의 수를 미리 설정된 영역별로 나누어 카운트하는 단계; Counting and dividing the number of instructions generated when the printing data is converted for each preset area; 특정 영역에서 생성되는 명령어의 수가 미리 설정된 명령어의 한도치를 초과하는지를 판단하는 단계; Determining whether the number of instructions generated in the specific region exceeds a preset limit of the instruction; 판단결과, 상기 명령어의 한도치를 초과하는 경우, 상기 프린팅 데이터의 해상도를 낮추는 단계를 포함하는 것을 특징으로 하는 프린터 드라이버를 이용한 프린터 에러방지방법.And determining, when exceeding the limit value of the command, lowering the resolution of the printing data. 제 5 항에 있어서, The method of claim 5, 상기 명령어의 한도치는, 상기 프린터의 메모리 용량을 포함하는 프린터 성능을 고려하여 설정되는 것을 특징으로 하는 프린터 드라이버의 프린터 에러방지방법. The limit value of the command is set in consideration of printer performance including the memory capacity of the printer. 제 5 항에 있어서, The method of claim 5, 상기 명령어의 수를 카운트하는 단계는, 밴드 단위 별로 명령어의 수를 카운트하는 단계인 것을 특징으로 하는 프린터 드라이버의 프린터 에러방지방법. The counting of the number of commands comprises: counting the number of commands in units of bands. 제 5 항에 있어서,The method of claim 5, 상기 프린팅 데이터의 해상도를 낮추는 단계는, 상기 프린팅 데이터의 해상도를 낮추는 단계인 것을 특징으로 하는 프린터 드라이버의 프린터 에러방지방법.Lowering the resolution of the printing data, the printer error prevention method of the printer driver, characterized in that for lowering the resolution of the printing data.
KR10-2004-0001922A 2004-01-12 2004-01-12 Printer driver and error prevention method for printer KR100530374B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-0001922A KR100530374B1 (en) 2004-01-12 2004-01-12 Printer driver and error prevention method for printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2004-0001922A KR100530374B1 (en) 2004-01-12 2004-01-12 Printer driver and error prevention method for printer

Publications (2)

Publication Number Publication Date
KR20050073824A KR20050073824A (en) 2005-07-18
KR100530374B1 true KR100530374B1 (en) 2005-11-22

Family

ID=37262727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-0001922A KR100530374B1 (en) 2004-01-12 2004-01-12 Printer driver and error prevention method for printer

Country Status (1)

Country Link
KR (1) KR100530374B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579485A (en) * 2020-12-19 2021-03-30 深圳市广和通无线通信软件有限公司 Data interaction method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
KR20050073824A (en) 2005-07-18

Similar Documents

Publication Publication Date Title
US7471419B2 (en) Image processing device
US8422041B2 (en) Image processing apparatus, method, and program for converting postscript data with variable print data into a PDF format considering an attribute of plural drawing objects
US20010043358A1 (en) Method and apparatus for selecting print stategy for optimal performance
US8605326B2 (en) Print control apparatus, printing apparatus, print control method and computer readable medium storing program for controlling parallel print processing
US7248386B2 (en) Printing apparatus, print instruction apparatus, image forming apparatus, printing method and a computer-readable recording medium storing a program for inputting a minimum character size for N-up mode printing
JP2002041261A (en) Information processing device, information processing method, and storage medium which stores computer- readable program
US8705132B2 (en) Printing apparatus, data processing method for printing apparatus and storage medium
US20170364317A1 (en) Information processing apparatus, information processing method, and storage medium
US9158485B2 (en) Image processing device that performs image processing for variable printing and host data generating device
KR100772376B1 (en) Apparatus and method for direct printing of meta data
JP5490757B2 (en) Printer driver and printing method using the same
KR20070089587A (en) Printer driver, printing method, and printing device
US9430170B2 (en) Image processor that generates image data used in printing
JP7102955B2 (en) Information processing equipment and programs
KR100530374B1 (en) Printer driver and error prevention method for printer
JP6384259B2 (en) Image processing apparatus, image forming apparatus, image processing method, and program
US7812974B2 (en) Image processing apparatus for arranging content onto a reduced number of output pages
EP1176549B1 (en) Image processing method and apparatus for performing processing according to the type of rendering command
JP2019098580A (en) Image forming apparatus
JP4132634B2 (en) Document printing processing system and recording medium recording the program
US11836407B2 (en) Information processing apparatus and control method thereof, and non- transitory computer-readable storage medium
JP3483350B2 (en) Output device, output method and output system, and print data generation device and print data generation method
JP2006218819A (en) Image formation apparatus, image processing apparatus, program, and image processing method
JP2009232171A (en) Host device for sending printing job
JP2009226752A (en) Printer for printing image data after performing image correction of the image data

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee