A printer driver, which is a part of an operating system that changes a printing job target into a form printable by a printer, is a program that converts a command to be delivered from an application to the printer into a command for controlling the printer.
A printer has a different operating scheme according to a type and a model thereof, such that a printer driver offered by a vendor may differ with the type and the model of the printer. Thus, to perform printing using printers, a printer driver corresponding to each printer needs to be installed in a printer control device.
The above and other aspects, features, and advantages of various examples of the disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, parts, components, and structures.
Hereinafter, various examples will be described with reference to the accompanying drawings. The examples described hereinafter may be modified in many different forms. To more clearly describe features of examples, matters well known to one of ordinary skill in the art to which the below examples pertain will not be described in detail.
In the specification, an “image forming job” may denote any one of various jobs (for example, printing, copying, scanning, and faxing) related to an image, such as forming of an image or generating/storing/transmitting of an image file, and a “job” may denote not only an image forming job, but may also denote a series of processes required to perform the image forming job.
Referring to
An apparatus for configuring the printer filter pipeline may be a separate device or may be included in the device 200 for controlling the image forming apparatus 100. The following description is made of an example in which the apparatus for configuring a printer filter pipeline is included in a device for controlling the image forming apparatus.
Referring to
The user interface device 110 may include an input unit for receiving an input for performing an image forming job, or the like from the user and an output unit for displaying information such as a result of performing the image forming job, a state of the image forming apparatus 100, or the like. For example, the user interface device 110 may have the form of a touch screen including an operation panel that receives a user input, a display panel that displays a screen, and so forth.
The processor 120 may control an operation of the image forming apparatus 100, and may include at least one processing unit such as a central processing unit (CPU), or the like. The processor 120 may control other components included in the image forming apparatus 100 to perform an operation corresponding to the user input received through the user interface device 110. The processor 120 may include at least one specialized processing unit corresponding to each unit or may have an integral form.
The processor 120 may execute a program stored in the memory 130, read data or a file stored in the memory 130, or store a new file in the memory 130.
The memory 130 may install and store a program such as an application and various types of data such as a file or the like. The processor 120 may access and use data stored in the memory 130 or store new data in the memory 130. The processor 120 may execute a program installed in the memory 130. The processor 120 may also install an application, which is received from an external source through the communication interface 140, in the memory 130.
The communication interface 140 may perform wireless/wired communication with another device or a network. To this end, the communication interface 140 may include a communication module (e.g., transceiver) supporting at least one of various wireless/wired communication methods. For example, a communication module may have the form of a chipset or may be a sticker/barcode (e.g., a sticker including a near field communication (NFC) tag), or the like.
The wireless communication may include, for example, wireless fidelity (Wi-Fi), WiFi Direct, Bluetooth, ultra-wide band (UWB), NFC, and so forth. The wired communication may include, for example, ethernet, universal serial bus (USB), a high definition multimedia interface (HDMI), and so forth.
The communication interface 140 may be connected with an external device located outside the image forming apparatus 100 and transmit and receive a signal or data to and from the external device. The communication interface 140 may deliver the signal or the data received from an external device to the processor 120 or transmit a signal or data generated in the processor 120 to the external device. For example, once the communication interface 140 receives a print command signal and a printing job target from the external device, the processor 120 may output the received printing job target through a printing unit 151.
The image forming job unit 150 may perform an image forming job such as printing, copying, scanning, faxing, and the like. While it is illustrated in
The printing unit 151 may form an image on a recording medium by using various printing schemes such as an electrophotography scheme, an inkjet scheme, a thermal transfer scheme, a direct thermal scheme, and the like. The scanning unit 152 may read in an image recorded on a manuscript by irradiating light onto the manuscript and receiving light reflected therefrom. The faxing unit 153 may share a component for scanning an image with the scanning unit 152, share a component for printing a received file with the printing unit 151, and transmit a scanned file to a destination or receive a file from an external source.
The apparatus 200 for configuring the printer filter pipeline according to an example may include a memory 210, a processor 220, and a communication interface 230. The apparatus 200 for configuring the printer filter pipeline may be the device for controlling the image forming apparatus 100.
The memory 210 may store instructions executable by the processor 220. Also, the memory 210 may store an operating system and application programs.
The processor 220 may execute instructions stored in the memory 210 to generate a printer filter pipeline. The printer filter may perform predetermined processing with respect to the printing job target such that the printer performs printing. The printer filter may perform different types of processing depending on a type of the printer filter. For example, the types of the printer filter may include an N-up printer filter, a watermark/overlay printer filter, a rendering printer filter, and so forth. The printing job target may be converted into a final form printable by the printer after sequentially undergoing a printer filter pipeline, that is, a series of printer filters.
For example, the processor 220 may drive a printer filter pipeline manager to load a custom printer filter manager and may load the custom printer filter manager based on a printer filter configuration file provided by the printer driver. Based on the printer filter configuration file, according to an operating order of printer filters provided by the printer driver and the custom printer filter manager, the processor 220 may load the printer filters together with the custom printer filter manager. The processor 220 may drive the custom printer filter manager to load a custom printer filter based on custom printer filter configuration information including information related to a user-defined custom printer filter. The processor 220 may configure a printer filter pipeline by loading a printer filter and/or a custom printer filter.
The communication interface 230 may transmit the printing job target processed by the printer filter pipeline in the apparatus 200 for configuring the printer filter pipeline to the image forming apparatus 100.
Referring to
Referring to
The printer filter configuration file may include information related to a printer filter required for configuration of a printer filter pipeline. For example, the printer filter configuration file may include an order of printer filters in the printer filter pipeline, printer filter interface information, input and output format information of each filter, and the like. According to an example as illustrated in
Referring to
Referring back to
The custom printer filter configuration information may include information about a custom printer filter and interface information about an input and an output of the custom printer filter. For example, the custom printer filter configuration file may include an order of custom printer filters in the printer filter pipeline, custom printer filter interface information, input and output format information of each custom filter, and the like.
Referring to
According to the custom printer filter configuration information shown in
The custom printer filter manager may identify a rendering filter and load “rendering.dll” as the second custom printer filter. The custom printer filter manager may deliver the XPS-format printing job target output from a previous printer filter, that is, the first custom printer filter “company_watermark.dll” to the second custom printer filter “rendering.dll”, and deliver the XPS-format printing job target output from “rendering.dll” to the next custom printer filter.
The custom printer filter manager may identify a post-filter and load “Cloud_connect.dll” as the third custom printer filter. The custom printer filter manager may deliver the XPS-format printing job target output from the second custom printer filter “rendering.dll” to the third custom printer filter “Cloud_connector.dll”. “Cloud_connector.dll” may upload the delivered XPS-format printing target to a cloud server.
Referring back to
Referring to
As illustrated in
Referring to
The apparatus 200 for configuring the printer filter pipeline may load a custom printer filter based on custom printer filter configuration information including information related to a user-defined custom printer filter by driving the custom printer filter manager in operation 5820. The custom printer filter configuration information may include information about the custom printer filter and interface information about an input and an output of the custom printer filter. The custom printer filter may be added by the user to the custom printer filter configuration information after release of the printer driver, and may have been authorized by a vendor of the printer driver.
The printer filter pipeline configured using the method for configuring the printer filter pipeline may be customized for the user. The vendor offering the printer driver may offer one printer driver for each type and model of the image forming apparatus 100, and the user may develop the printer driver to configure the printer filter pipeline as desired. Thus, the apparatus 200 for configuring the printer filter pipeline may dynamically configure the printer filters constituting the printer filter pipeline to satisfy a user's demands.
The foregoing disclosure may be implemented in the form of a non-transitory computer-readable storage medium having stored therein instructions or data executable by a computer or a processor. The foregoing disclosure may also be written as programs executable on computers, and may be implemented on general-purpose digital computers operating the programs by using computer-readable storage media. Examples of the computer-readable storage media may include read-only memory (ROM), random-access memory (RAM), flash memory, compact disc (CD)-ROMs, CD-recordables (CD-Rs), CD+Rs, CD-rewritables (RWs), CD+RWs, digital versatile disc (DVD)-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RAMs, Blueray (BD)-ROMs, BD-recordables (Rs), BD-R low-to-high (LTHs), BD-rewritables (REs), magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid state disks (SSDs), and any device capable of storing instructions or software, related data, data files, and data structures, and providing the instructions or the software, the related data, the data files, and the data structures to a processor or a computer to enable the processor or the computer to execute the instructions.
While this disclosure has been shown and described with reference to examples thereof, it will be understood by one of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure. That is, the scope of the disclosure is defined not by the description of the disclosure but by the appended claims, and all differences within the scope will be construed as being included in the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2018-0102877 | Aug 2018 | KR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/KR2019/000183 | 1/7/2019 | WO | 00 |