The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2010-270728 filed in Japan on Dec. 3, 2010.
1. Field of the Invention
The present invention relates to an information processing device, an information processing method and a computer program product.
2. Description of the Related Art
In the related art, printer drivers have been known to have a watermark function of adding character data (“Confidential” or the like), graphic data, or image data to data printed by an application.
In general, when an information processing device which uses a page description language such as a PostScript realizes a watermark function, the information processing device sends a printer a command to print watermark. This command includes information on the font and the character string to be added as the watermark. The printer receives the command from the information processing device and rasterizes the watermark using a font installed therein to print the watermark with a device font.
However, in the related art, it was difficult to implement the watermark function with a device font unless the device font is installed in the printer. For example, when an information processing device sends a command to add a watermark with a font C to a printer which does not support the font C, the printer is not able to add the watermark.
As a method of solving this problem, a method of adding a watermark using a TrueType font which is one of the outline font systems installed as a function of an operating system (OS) of personal computers (PC) has been used.
However, although the PostScript can cause an OS to draw an image using the TrueType font of the PC and can send rasterized data, it is difficult to make the data transparent using the raster operation, since it does not support a raster operation. The raster operation is a pixel operation of comparing a drawing color (source) with a drawn color (destination) pixel by pixel when drawing, and of executing a drawing command based on the comparison result.
For example, Japanese Patent Application Laid-open No. 2002-333959 discloses a print system which includes a printer driver capable of implementing a watermark function for the purpose of enabling a printer, which does not have a built-in font and does not support a watermark command, to print marks or patterns which include a watermark. The printer driver of Japanese Patent Application Laid-open No. 2002-333959 designates bitmap data of a ground pattern to be printed on a sheet in advance, generates bitmap data of any image to be printed in an overlapped manner on the sheet having the ground pattern, and supplies the generated bitmap data to a printer so as to be superimposed on the print data.
However, although the method of Japanese Patent Application Laid-open No. 2002-333959 can generate new bitmap data, which makes a watermark appear transparently, on the print data, a printer driver which uses a function such as a mini-driver provided by an OS cannot add a watermark using the TrueType font of the PC so as to appear the watermark on the print data in a transparent manner.
It is an object of the present invention to at least partially solve the problems in the conventional technology.
An information processing device includes: a first generating unit that generates a first command for instructing to paint out a character string, the character string being made of a character font stored in the device and being added to a print data; a first transmitting unit that transmits the first command to a printer driver; a second generating unit that, when receiving the first command, generates a second command for instructing to output the character string in a mask pattern, the mask pattern being made of a painted out part of the character string and a transparent part of the character string, the transparent part being not painted out for making the print data visible through the mask pattern; and a second transmitting unit that transmits the first command and the second command.
An information processing method includes: generating a first command for instructing to paint out a character string, the character string being made of a character font stored in the computer and being added to the print data; and transmitting the first command to a printer driver; when receiving the first command, generating a second command for instructing to output the character string in a mask pattern, the mask pattern being made of a painted out part of the character string and a transparent part of the character string, the transparent part being not painted out for making the print data visible through the mask pattern; and transmitting the first command and the second command.
A computer program product includes a non-transitory computer-readable medium having computer-readable program codes embodied in the medium, the program codes when executed causing a computer to function as: a drawing processor; and a process controller for processing print data. The process controller includes: a first generating unit that generates a first command for instructing to paint out a character string, the character string being made of a character font stored in the computer and being added to the print data; and a first transmitting unit that transmits the first command to the drawing processor. The drawing processor includes: a second generating unit that, when receiving the first command, generates a second command for instructing to output the character string in a mask pattern, the mask pattern being made of a painted out part of the character string and a transparent part of the character string, the transparent part being not painted out for making the print data visible through the mask pattern; and a second transmitting unit that transmits the first command and the second command.
The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings.
First, the general configuration of a print system to which an information processing device according to the present embodiment is connected will be described.
The PC 100 receives a command to add drawing data to print data from a user, generates the drawing data in accordance with the command, transmits a print command to the printer 200 with the print data and the generated drawing data together, and cause the printer 200 to perform printing.
When the printer 200 receives the print command to add the drawing data to the print data from the PC 100, the printer 200 performs printing with the print data and the drawing data in accordance with the print command from the PC 100.
Next, an example of the related art will be described in which a watermark is printed using a device font.
On the other hand, in
Next, the present embodiment which solves the problem of the related art will be described.
First, the UI unit 106a receives a changed printing setting from the user (step S1). For example, the UI unit 106a receives a watermark print setting for a watermark to be added to print data. The watermark print setting includes a designation of a mask pattern that masks part of the print data. Moreover, the mask pattern is made up of the resolution of the print data, a designated character string, and a transparent pattern. The character string is a collection of characters represented in a font installed in the PC 100. The transparent pattern is a pattern made of the painted out part and the transparent part. At the painted out part, the character string is painted out. At the transparent part, the character string is not painted out so that the underlying print data can be viewed.
The application 104 receives the print command from the user (step S2). The application 104 receives the print setting from the user by exchanging data with the UI unit 106a and a structure called DEVMODE which has a print setting therein (steps S3 and S4). In this case, the application 104 receives a designation of print data which is to be printed, and the print setting together. The print data is the data in the enhanced metafile format (EMF) created in the course of processing by the application 104. The conversion from the GDI call sent from the print processor 107 into the DDI call is executed in a spool process by the spooler 105b.
The application 104 delivers the print command of the print data to the GDI 105a using a graphic device interface (GDI) call (step S5). The GDI 105a delivers print data of the EMF format to the spooler 105b as spool data (step S6). The spooler 105b finishes spooling the entire print data created by the application 104, then transmits a notice to the print processor 107 to despool the print data and then despools the print data to the print processor 107 (step S7).
The print processor 107 reads the print data received from the spooler 105b, edits the print data page by page, and delivers the edited content to the GDI 105a using a GDI call (step S8). In this case, the print processor 107 draws an image based on the print data on a device context in accordance with the print setting received by the UI unit 106a and edits the drawn device context.
The GDI 105a delivers the GDI call received from the print processor 107 to the printer driver 106 using a device driver interface (DDI) call which includes pass-through data (step S9). The pass-through data included in the DDI call is an instruction to output the mask pattern to the printer 200 and may be an identifier or the like.
Once receiving the DDI call including the pass-through data received from the GDI 105a, the printer driver 106 converts the print data of the EMF format which is the subject of the print command into a RAW format and transmits the RAW data to the spooler 105b (step S10).
The spooler 105b transmits the RAW data including the pass-through data received from the printer driver 106 to the printer 200 (step S11).
The PC 100 has a hardware configuration using a general computer which includes an input device such as a keyboard and/or a mouse and an output device such as a display, which are not illustrated in
The functional blocks (described later) in the processing unit 101 illustrated in
The storage unit 102 is a storage means which stores various kinds of information. An HDD is a specific example thereof. The information stored in the storage unit 102 includes setting information which defines information (all kinds of information necessary for processing, such as setting values used for processing or display information for changing the setting values) regarding processing to realize the function of the printer driver 106.
The communication unit 103 is a network I/F that transmits and receives information to and from the printer 200 connected through the network 180.
The application 104 is assumed to be software (for example, a word processor) that enables a user to output a print command. In a case that the user wants to print data edited with the application 104, the application 104 receives a print command from the user. In this case, the application 104 does not generate print data to be used by the printer 200 by itself but rather delivers the information of a print subject to the GDI 105a and the UI unit (the printer driver) 106a along with a print request corresponding to the print command as DEVMODE. For example, the application 104 delivers the print data to the GDI 105a of the OS 105 using a graphics device interface (GDI) call.
The OS 105 is a program that controls the hardware and software of the PC 100. The OS 105 controls the startup of programs and the reading and storing of information. MS Windows (registered trademark) is a representative example of the OS. Moreover, the GDI 105a of the OS 105 delivers print subject information (text data, graphics data, image data, and the like) to the printer driver 106 through a device driver interface (DDI) call together with the print request including the setting information delivered from the application 104 through the GDI call. The print data generated by the printer driver 106 is stored sequentially in the spooler 105b and is delivered to the printer 200 through the communication unit 103.
The print processor 107 has the function of a processing control unit that processes the print data and receives the spooled print data from the spooler 105b. Moreover, the print processor 107 generates drawing data to be added to the print data in accordance with the user instruction received by the application 104.
The first generation unit 107a generates a paint-out command in accordance with the instruction of the watermark print setting received by the UI unit 106a. The paint-out command is a command to paint out the character string that makes up the mask pattern.
The transceiver unit 107b has the function of a first transmitting unit which transmits the paint-out command generated by the first generation unit 107a to the printer driver 106 through the GDI 105a. The transceiver unit 107a transmits and receives various kinds of information to and from the printer driver 106 and the GDI 105a.
Next, the details of the printer driver 106 will be described with reference to
The UI unit 106a controls the user interface (UI) which receives the print settings input by the user. For example, the UI unit 106a receives the print setting (resolution, a character string, and a transparent pattern) of the watermark to be added to the print data. The UI unit 106a transmits the received print setting to the print processor 107 through the GDI 105a.
The second generation unit 106c converts the print data created by the application 104 into a format that can be understood by the printer. For example, the drawing unit 106b converts the print data created in the EMF format by the application 104 into a RAW format.
Moreover, once the paint-out command is received from the print processor 107 through the GDI 105a, the second generation unit 106c generates a PostScript command for the mask pattern. The PostScript command for the mask pattern is a command written in PostScript for outputting the mask pattern based on the painted out part and the transparent part, which are included therein. For example, the second generation unit 106c determines the painted out part and the transparent part on the basis of the resolution, the character string, and the transparent pattern of the print data received by the UI unit 106a and uses the determined painted out part and transparent part as the PostScript command for the mask pattern.
The output control unit 106d transmits the PostScript command of the mask pattern generated by the second generation unit 106c to the printer 200 through the transceiver unit 106e and outputs the mask pattern so as to be added to the print data transmitted to the printer 200.
The transceiver unit 106e receives the paint-out command from the print processor 107 through the GDI 105a. Moreover, the transceiver unit 106e transmits and receives various kinds of information to and from the GDI 105a, the print processor 107, the spooler 105b, the printer 200, and the like.
Next, an explanation will be made on a flow of a print command transmission process for transmitting the print command to the printer 200 from the PC 100 having the above-mentioned configuration.
The UI unit 106a receives a watermark print setting from the user (step S101). In this case, the UI unit 106a receives a designation of the resolution of the print data, the character string, and the transparent pattern of the print data as the watermark print setting. The application 104 receives a print command from the user (step S102). In this case, the application 104 delivers DEVMODE to the GDI 105a and the UI unit 106a.
The application 104 delivers the print data including the watermark print setting to the GDI 105a through a GDI call (step S103).
The GDI 105a receives the print data including the print setting through the GDI call from the application 104, converts the print data into EMF data, and delivers the converted EMF data to the spooler 105b (step S104).
The spooler 105b delivers the EMF data to the print processor 107 (step S105). The print processor 107 acquires a path of a character string to be output as watermark and generates a PostScript command to paint out the acquired path of the character string as pass-through data (step S106).
The print processor 107 delivers the pass-through data and the print data including the print setting to the GDI 105a through a GDI call (step S107). Upon receiving the GDI call, the GDI 105a converts the received GDI call into a DDI call and delivers the DDI call to the printer driver 106 (step S108).
The printer driver 106 acquires a designated transparent pattern and generates a PostScript command (step S109). In this case, the printer driver 106 generates a PostScript command including a painted out part and a transparent part.
The printer driver 106 converts the pass-through data received through the DDI call from the GDI 105a into PDL (page description language, PostScript in this case) (step S110).
The printer driver 106 delivers the generated and converted PostScript command and the received pass-through data to the spooler 105b (step S111). The spooler 105b transmits RAW data which is the received print data to the printer 200 (step S112).
If the UI unit 106a receives the user's selection “Basic,” the printer driver 106 determines the painted out part and the transparent part so that the character string “A” has a checkered pattern. If the UI unit 106a receives the user's selection “Vertical Stripes,” the printer driver 106 determines the painted out part and the transparent part so that the character string “A” has a vertical stripe pattern. If the UI unit 106a receives the user's selection “Horizontal Stripes,” the printer driver 106 determines the painted out part and the transparent part so that the character string “A” has a horizontal stripe pattern. If the UI unit 106a receives the user's selection “Manual Setting,” the printer driver 106 determines the painted out part and the transparent part so as to form a mask pattern set by the user. In this case, the printer driver 106 determines the painted out part and the transparent part in accordance with the resolution, the print data, and the like.
Next, the painted out part and the transparent part which are determined by the printer driver 106 in accordance with the transparent pattern of the watermark will be described for each kind of transparent pattern illustrated in
First, the painted out part determined by the printer driver 106 in the case that the resolution of the print data is 1200 dpi and the transparent pattern “Basic” (checkered pattern) (see
In the left figure of
The printer driver 106 transmits the transparent pattern which is made up of the painted out part “1” and the transparent part “0” to the printer 200. The right figure of
The printer 200 prints the path of “A” generated by the print processor 107 by painting out the path on the basis of the transparent pattern illustrated in
Next, the painted out part determined by the printer driver 106 in a case that the resolution of the print data is 600 dpi and the transparent pattern “Horizontal Stripes” (see
The printer driver 106 transmits the transparent pattern which is made up of the painted out part “1” and the transparent part “0” to the printer 200. The right figure of
The printer 200 prints the path of “A” generated by the print processor 107 by painting out the path of the A on the basis of the transparent pattern (vertical stripes) illustrated in
Next, the painted out part determined by the printer driver 106 in a case that the resolution of the print data is 1200 dpi and the transparent pattern “Horizontal Stripes” (see
The printer driver 106 transmits the transparent pattern which is made up of the painted out part “1” and the transparent part “0” to the printer 200. The right figure of
Next, a hardware configuration of the information processing device according to the present embodiment will be described with reference to
The information processing device according to the present embodiment has a hardware configuration using a general computer which includes a control device such as a central processing unit (CPU) 51, a storage device such as a read only memory (ROM) 52 and a random access memory (RAM) 53, a communication I/F 54 that performs communication by being connected to a network, an external storage device such as a hard disk drive (HDD), a compact disc (CD) drive device, a display device such as a display, an input device such as a keyboard or a mouse, and a bus 61 that connects the respective units.
A print program executed by the information processing device according to the present embodiment is recorded in a non-transitory computer-readable recording medium, such as a Compact Disk Read Only Memory (CD-ROM), a flexible disk (FD), a Compact Disk Recordable (CD-R), or a Digital Versatile Disk (DVD), as files in an installable format or an executable format and provided as a computer program product.
Furthermore, the print program executed by the information processing device according to the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded through a network. In addition, the print program executed by the information processing device according to the present embodiment may be provided or distributed through a network such as the Internet.
Furthermore, the print program according to the present embodiment may be provided in a state of being stored in advance in a ROM or the like.
The print program executed by the information processing device according to the present embodiment has a modular configuration which includes the above-described respective units (the first generation unit, the second generation unit, the output control unit, and the transceiver unit), and the CPU 51 (processor) which is an actual hardware configuration reads the print program from the recording medium and executes the print program, whereby the respective units are loaded onto the main storage device, and the respective units are generated on the main storage device.
According to the present invention, it is possible to add a watermark using a font installed in a PC to print data so that the watermark appears transparently on the print data.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2010-270728 | Dec 2010 | JP | national |