US10795622B2 - Information processing apparatus, printing method, and computer-readable medium - Google Patents
Information processing apparatus, printing method, and computer-readable medium Download PDFInfo
- Publication number
- US10795622B2 US10795622B2 US16/297,209 US201916297209A US10795622B2 US 10795622 B2 US10795622 B2 US 10795622B2 US 201916297209 A US201916297209 A US 201916297209A US 10795622 B2 US10795622 B2 US 10795622B2
- Authority
- US
- United States
- Prior art keywords
- setting
- print setting
- allowing
- setting value
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 15
- 238000007639 printing Methods 0.000 title claims description 63
- 238000000034 method Methods 0.000 title claims description 34
- 238000004891 communication Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 32
- 238000010200 validation analysis Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1238—Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1222—Increasing security of the print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1239—Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1254—Automatic configuration, e.g. by driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1286—Remote printer device, e.g. being remote from client or server via local network
Definitions
- the present invention relates to an information processing apparatus, a printing method, and a computer-readable medium.
- a technology capable of setting user IDs and passwords in an image forming apparatus, such as a printer, to manage, for example, printing performed by different departments has been known.
- an information processing apparatus is configured to perform communication with an apparatus connected via a network.
- the information processing apparatus includes a print setting information storage and circuitry.
- the print setting information storage is configured to store a print setting and a setting value in an associated manner.
- the circuitry is configured to perform: first allowing a setting value for a print setting to be specified; second allowing a setting value for a print setting to be specified; specifying a setting value for a print setting through any one of the first allowing or the second allowing; generating print data; determining whether the setting value for the print setting is specified through the first allowing or the second allowing; writing the print setting and the setting value specified through one of the first allowing and the second allowing in the print setting information storage in an associated manner; reading the setting value associated with the print setting from the print setting information storage; and transmitting the print data to which a print command corresponding to the print setting including the setting value is added, to the apparatus.
- FIG. 1 is a diagram illustrating an example of a configuration of a system according to an embodiment
- FIG. 2 is a block diagram illustrating a hardware configuration of a printer according to the embodiment
- FIG. 3 is a diagram illustrating an example of a hardware configuration of a client personal computer (PC) according to the embodiment
- FIG. 4 is a diagram illustrating an example of a functional configuration and operation of the client PC according to the embodiment
- FIG. 5 is a diagram for explaining the basis of “Library Validation”
- FIG. 6 is a diagram illustrating an example of print settings that are displayed in a print dialog when “Library Validation” is enabled
- FIG. 7 is a diagram illustrating an example of print settings that are displayed in the print dialog when “Library Validation” is disabled;
- FIG. 8 is a diagram illustrating an example of a functional configuration of a driver according to the embodiment.
- FIG. 9 is a sequence diagram illustrating an example of print operation in which a printer driver of the client PC according to the embodiment is used.
- FIG. 10 is a diagram illustrating an example of the flow of a determination process performed by an UI setting determining unit
- FIG. 11 is a diagram illustrating a concrete example of print settings according to the embodiment.
- FIG. 12 is a diagram illustrating a concrete example of print settings of a PostScript printer description (PPD) according to the embodiment
- FIG. 13 is a diagram illustrating another example of the functional configuration and the operation of the client PC according to the embodiment.
- FIG. 14 is a sequence diagram illustrating an example of print operation in which the printer driver of the client PC according to the embodiment is not used;
- FIG. 15 is a flow diagram illustrating an example of the flow of a printing process performed by the client PC according to the embodiment.
- FIG. 16 is a diagram illustrating an example of a functional configuration of a driver according to a modification of the embodiment.
- FIG. 17 is a flow diagram illustrating an example of the flow of a printing process performed by a client PC according to the modification of the embodiment.
- An embodiment has an object to provide an information processing apparatus, a printing method, and a computer-readable medium capable of using the same print settings as in the case of using a printer driver, even when printing is performed via an application that does not use the printer driver.
- FIG. 1 to FIG. 17 Exemplary embodiments of an information processing apparatus, a printing method, and a computer-readable medium according to the present invention will be described in detail below with reference to FIG. 1 to FIG. 17 .
- the present invention is not limited by the embodiments below, and components in the embodiments described below include one that can easily be thought of by a person skilled in the art, one that is practically identical, and one that is within an equivalent range. Further, within the scope not departing from the gist of the following embodiments, various omission, replacement, modifications, and combinations of the components may be made.
- FIG. 1 is a diagram illustrating an example of a configuration of a system 1 according to an embodiment.
- a client personal computer (PC) 200 as an information processing apparatus included in the system 1 according to the embodiment is the client PC 200 that performs communication with a printer 100 that is an apparatus connected thereto via a network, and includes a print dialog 240 serving as a setting specifying unit for allowing a setting value for a print setting to be specified, a print queue storage unit 212 serving as a print setting information storage unit that stores therein the print setting and the setting value in an associated manner, applications 250 a and 250 b serving as data generating units that generate print data, a user interface (UI) setting determining unit D 2 serving as a determining unit that determines whether the setting value is set for the print setting, a PPD writing unit D 1 serving as a writing unit that writes the print setting and the setting value in the print queue storage unit 212 in an associated manner, a PPD reading unit D 3 serving as a reading unit that reads the setting value associated with the print setting
- the system 1 of the embodiment includes the client PC 200 and the printer 100 .
- the client PC 200 and the printer 100 are connected to each other via a network 90 .
- the network 90 is, for example, an internal computer network, such as an internal local area network (LAN), used in a business office or the like.
- LAN local area network
- the printer 100 as an apparatus has, for example, a printing function.
- the client PC 200 as an information processing apparatus transmits print data, such as image data, and print settings to the printer 100 via the network 90 and causes the printer 100 to perform printing.
- print data such as image data
- print settings to the printer 100 via the network 90 and causes the printer 100 to perform printing.
- the single client PC 200 and the single printer 100 are illustrated, but embodiments are not limited to this example, and it is possible to provide arbitrary numbers of the client PCs 200 and the printers 100 .
- FIG. 2 is a block diagram illustrating a hardware configuration of the printer 100 according to the embodiment.
- the printer 100 includes a controller 110 and an engine unit 160 that are connected to each other via a peripheral component interface (PCI) bus.
- PCI peripheral component interface
- the engine unit 160 is a printer engine that is connectable to the PCI bus, and includes, for example, a black and white plotter, a 1-drum color plotter, and a 4-drum color plotter. Meanwhile, the engine unit 160 includes an image processing part for performing error diffusion, gamma correction, and the like, in addition to what is called an engine part, such as a plotter.
- the controller 110 controls the entire printer 100 , drawing, communication, and input from an operation display device 120 included in the printer 100 .
- the controller 110 includes a central processing unit (CPU) 111 , a north bridge (NB) 113 , a system memory (MEM-P) 112 , a south bridge (SB) 114 , a local memory (MEM-C) 117 , an application specific integrated circuit (ASIC) 116 , and a hard disk drive (HDD) 103 .
- CPU central processing unit
- NB north bridge
- MEM-P system memory
- SB south bridge
- MEM-C local memory
- ASIC application specific integrated circuit
- HDD hard disk drive
- the CPU 111 controls the entire printer 100 .
- the CPU 111 is connected to other apparatuses via a chipset that includes the NB 113 , the MEM-P 112 , and the SB 114 .
- the NB 113 and the ASIC 116 are connected to each other via an accelerated graphics port (AGP) bus 115 .
- the ASIC 116 may be directly connected to the client PC 200 via a Centronics cable, for example.
- the NB 113 is a bridge for connecting the CPU 111 to the MEM-P 112 , the SB 114 , and the AGP bus 115 .
- the NB 113 includes a memory controller for controlling read and write with respect to the MEM-P 112 , and includes a PCI master and an AGP target.
- the SB 114 is a bridge for connecting the NB 113 to a PCI device and a peripheral device.
- the NB 113 is connected to the SB 114 via the PCI bus.
- a network interface (I/F) 170 and the like that perform communication with the client PC 200 are also connected to the PCI bus.
- the MEM-P 112 is a system memory used as a memory for storing programs and data, a memory for loading programs and data, a drawing memory for the printer 100 , and the like.
- the MEM-P 112 includes a read only memory (ROM) 112 a and a random access memory (RAM) 112 b.
- the ROM 112 a is a read only memory used as a memory for storing programs and data.
- the RAM 112 b is a writable and readable memory used as a memory for loading programs and data, a drawing memory for the printer 100 , and the like.
- the ASIC 116 is an integrated circuit (IC) that includes hardware components for image processing and is used for image processing.
- the ASIC 116 serves as a bridge for connecting the AGP bus 115 , the PCI bus, the HDD 103 , and the MEM-C 117 to one another.
- the ASIC 116 includes a PCI target, an AGP master, an arbiter (ARB) that is a central core of the ASIC 116 , a memory controller for controlling the MEM-C 117 , a plurality of direct memory access controllers (DMACs), and a PCI unit.
- the DMACs perform rotation of image data or the like using hardware logic.
- the PCI unit transfers data to and from the engine unit 160 via the PCI bus.
- a facsimile control unit (FCU) 130 , a universal serial bus (USB) 140 , and an Institute of Electrical and Electronics Engineers 1394 (IEEE1394) interface 150 are connected to the ASIC 116 via the PCI bus.
- the operation display device 120 is directly connected to the ASIC 116 .
- the MEM-C 117 is used as a copy image buffer and a code buffer.
- the HDD 103 is a storage for storing image data, programs, font data, and forms.
- the HDD 103 stores therein a license file of an application that is executed by the printer 100 .
- the AGP bus 115 is a bus interface for a graphics accelerator card that is introduced to accelerate graphics operation.
- the AGP bus 115 allows direct access to the MEM-P 112 at high throughput to thereby accelerate operation of the graphics accelerator card.
- FIG. 3 is a diagram illustrating an example of a hardware configuration of the client PC 200 according to the embodiment.
- the client PC 200 includes a CPU 201 , a RAM 202 , a ROM 203 , an HDD 204 , a device I/F 205 , and a network I/F 208 , all of which are connected to one another via a system bus.
- a display unit 206 and an operating unit 207 are connected to the device I/F 205 .
- the CPU 201 is an arithmetic means and integrally controls entire operation of the client PC 200 .
- the RAM 202 is a volatile storage medium, with respect to which information is readable and writable at a high speed, and used as a working area when the CPU 201 processes information.
- the ROM 203 is a read-only non-volatile storage medium and stores therein programs of firmware and the like.
- the HDD 204 is a non-volatile storage medium, with respect to which information is readable and writable, and stores therein an operating system (OS), various control programs, various application programs, and the like.
- OS operating system
- the HDD 204 stores therein files, data, and the like that are needed to implement various functions of the client PC 200 .
- the device I/F 205 is an interface for connecting each of the display unit 206 and the operating unit 207 to the system bus.
- the display unit 206 is a visual user interface for displaying various kinds of information, and is configured using, for example, a liquid crystal display (LCD) or the like.
- the operating unit 207 is a user interface, such as a keyboard or a mouse, which allows a user to input various kinds of information to the client PC 200 .
- the network I/F 208 is an interface for connecting the client PC 200 to the network 90 .
- a program for the client PC 200 may be distributed by being recorded in a computer readable recording medium, such as a recording media, in a computer-installable or computer-executable file format.
- FIG. 4 is a diagram illustrating an example of a functional configuration and operation of the client PC 200 according to the embodiment.
- the client PC 200 includes, on an OS 220 , a print dialog extension (PDE) 230 , the print dialog 240 , the application 250 a , the application 250 b to be described later, a printing system (Common Unix (registered trademark) printing system (CUPS)) 210 .
- PDE print dialog extension
- CUPS Common Unix (registered trademark) printing system
- the printing system 210 includes a generating unit 211 , the print queue storage unit (Config Files) 212 , a spooler (cupsd) 213 , a conversion information storage unit (mime.convs and mime.types) 214 , a converting unit 215 , and the communication executing unit 216 .
- the generating unit 211 is one mode of Autosetup Tool, and is a program for rewriting the print queue storage unit 212 to generate a print queue.
- the generating unit 211 checks an IP address of the printer 100 serving as a connection destination when generating a print queue, and stores correspondence information, in which the IP address is associated with the print queue, in the print queue storage unit 212 .
- the generating unit 211 stores correspondence information, which indicates that the IP address is not present for the print queue, in the print queue storage unit 212 .
- the Autosetup Tool is generally developed and provided by a printer vendor.
- the print queue storage unit 212 serving as the print setting information storage unit stores therein, for example, the printing system 210 and printer settings including a print protocol to be used and an address of a connection destination on the protocol. Further, the print queue storage unit 212 holds a printer description file (PostScript Printer Description (PPD)), in which information is recorded for each type of a PostScript (registered trademark) printer. The PPD is referred to by a driver of the PostScript printer at the time of printing.
- PPD PostScript Printer Description
- the spooler 213 is one mode of cupsd.
- the spooler 213 generates, with reference to the conversion information storage unit 214 , a filter pipeline with low processing costs in order to convert, at the time of performing printing, a format of the print data received from the application 250 a to a format of print data to be output to the printer 100 that is written in the print queue storage unit 212 , and feeds print data to the filter pipeline.
- To “generate the filter pipeline” is to sequentially arrange filters (for example, filters and drivers of the converting unit 215 and backends of the communication executing unit 216 ) to which print data is to be fed.
- the filter includes a driver and a backends.
- a weighting value as information on the processing costs is assigned to each of the filters by comprehensively evaluating items, such as a processing load, low degradation of image quality, or high processing efficiency, and, by arranging the filters in such order that weighting values are minimized, it is possible to generate a filter pipeline with low processing costs.
- the conversion information storage unit 214 is one mode of mime.convs and mime.types, and is held, from the beginning, in the printing system 210 as information for generating a filter pipeline.
- An input data format, an output data format, information on processing costs, and the like are stored for each of the filters included in the printing system 210 .
- “/usr/share/cups/mime/apple.convs” and “/usr/share/cups/mime/mime.convs” correspond to this.
- mime.types a rule for distinguishing file types of print data is defined.
- a rule for distinguishing file types of print data is defined.
- “/usr/share/cups/mime/apple.types” and “/usr/share/cups/mime/mime.types2” correspond to this.
- the converting unit 215 includes filters A to H and drivers a to d.
- the filters convert print data formats.
- the printing system 210 includes, from the beginning, various filters to deal with various input formats and various output formats.
- a filter for converting PDF data to PostScript data a filter for converting PDF data to Raster data
- a filter for converting Raster data to tiff data a filter for converting Raster data to tiff data, and the like are included.
- Mac OS X registered trademark
- filters included in the printing system 210 from the beginning are stored in “/usr/libexec/cups/filter/”.
- the drivers are filters that are generally provided by a printer vendor, and used for performing conversion to a print data format unique to the printer vendor and adding a print command unique to the printer vendor to print data after data conversion using a filter is completed.
- a print queue defines a driver to be used for printing.
- the communication executing unit 216 serving as the transmitting unit includes a plurality of backends.
- the communication executing unit 216 includes a backends USB to a backends SMB.
- Each of the backends included in the communication executing unit 216 has a communication module function for performing communication with the printer 100 .
- Each of the backends included in the communication executing unit 216 is an independent executable file.
- each of the backends included in the communication executing unit 216 is associated with a communication protocol. In other words, a single backends is present for a single corresponding communication protocol.
- the application 250 a serving as the data generating unit is a general application that is used by being installed in the OS 220 .
- the application 250 a performs printing using a printer driver, unlike the application 250 b to be described later.
- the print dialog 240 serving as a first setting specifying unit or serving to perform first allowing a setting value for a print setting to be specified is provided by the OS 220 .
- the print dialog 240 provides a user interface for allowing a user to select a printer function that the user wants to use, such as input of setting values in various print setting items (for example, duplex printing and the like) that are print settings.
- contents described in the PPD are basically displayed by the OS 220 .
- the PDE 230 is a plug-in module provided by a printer vendor, and is a module for providing a user interface unique to the printer vendor.
- the PDE 230 is displayed as a part of the print dialog 240 (serving as a second setting specifying unit or serving to performing second allowing a setting value for a print setting to be specified) by extending the print dialog 240 using a plug-in. It is possible to extend settings of the PPD using the PDE 230 .
- user authentication using a user ID and a password may be extended. The user authentication may be extended in order to prevent information leakage and manage printing performed by different departments, for example.
- Library Validation is a system that is provided by mac OS to enhance security, and is enabled when an application creator provides an application with an electronic signature.
- FIG. 5 is a diagram for explaining the basis of “Library Validation”.
- the application 250 a when “Library Validation” is enabled with respect to the application 250 a , the application 250 a is only allowed to activate modules with the same signature or modules manufactured by Apple Inc.
- the application 250 a which is manufactured by an A company and for which “Library Validation” is enabled, is able to call a module that is manufactured by Apple Inc., such as the print dialog 240 , but is not able to call a module that is manufactured by a B company and that is not provided with the signature of the A company.
- the module that is manufactured by the A company and called by the application which is manufactured by the A company and for which “Library Validation” is enabled, is not able to call a module (for example, the PDE 230 or the like) that is manufactured by a C company and that is not provided with the signature of the A company.
- the application 250 a for which “Library Validation” is enabled is not able to display a user interface (UI) that is extended by the PDE 230 . Display control of print settings in the print dialog 240 in each of a case where “Library Validation” is enabled and a case where “Library Validation” is disabled will be described below.
- FIG. 6 is a diagram illustrating an example of print settings that are displayed in the print dialog 240 when “Library Validation” is enabled.
- the print dialog 240 refers to the PPD regardless of the setting of “Library Validation”, and displays print setting items, such as a user ID (PPD), duplex printing, and color printing, which are print settings of the PPD. Further, the print dialog 240 is not able to download the PDE 230 because “Library Validation” is enabled, and therefore, the print dialog 240 displays only print setting items that are provided by the PPD. For example, the UserID (PPD) provided by the PPD is displayed as a UserID.
- PPD UserID
- FIG. 7 is a diagram illustrating an example of print settings that are displayed by the print dialog 240 when “Library Validation” is disabled.
- the print dialog 240 refers to the PPD regardless of the setting of “Library Validation”, and displays print settings in the print dialog 240 in the same manner as in the case where “Library Validation” is enabled. Further, in this case, the print dialog 240 loads the PDE 230 because “Library Validation” is disabled. Therefore, the print dialog 240 is able to further display the print settings of the PDE 230 .
- the PDE 230 hides the value that is provided by the PPD with respect to the same print setting item in the print dialog 240 .
- the PDE 230 hides the UserID (PPD) in the print dialog 240 .
- the PDE 230 hides the UserID (PPD) in the print dialog 240 .
- a configuration example of the drivers included in the converting unit 215 will be described below with reference to FIG. 8 .
- FIG. 8 is a diagram illustrating an example of a functional configuration of the drivers according to the embodiment. As illustrated in FIG. 8 , each of the drivers a to d includes the PPD writing unit D 1 , the UI setting determining unit D 2 , the PPD reading unit D 3 , and a command adding unit D 4 .
- the UI setting determining unit D 2 serving as the determining unit determines whether setting values are specified for print settings (print setting items) by the PDE 230 and the print dialog 240 provided by the OS 220 , for each of the print settings (print setting items), such as a user ID, a password, duplex printing, and a sheet size.
- the UI setting determining unit D 2 instructs the PPD writing unit D 1 to write the print settings in the PPD.
- the PPD writing unit D 1 serving as the writing unit stores the print settings in the PPD.
- the UI setting determining unit D 2 instructs the PPD reading unit D 3 to read the print settings from the PPD.
- the PPD reading unit D 3 serving as the reading unit reads the print settings from the PPD, and reflects the read print settings in current print settings, that is, in print settings used for current printing.
- the UI setting determining unit D 2 instructs the command adding unit D 4 to add print commands corresponding to the print settings (print setting items).
- the command adding unit D 4 serving as an adding unit adds print commands corresponding to the print settings (print setting items) to the print data, and sends the print data to the backends of the communication executing unit 216 .
- FIG. 9 is a sequence diagram illustrating an example of print operation in which the printer driver of the client PC 200 according to the embodiment is used.
- the print dialog 240 and the PDE 230 are sequentially called ( 1 to 1 . 1 in FIG. 9 ). Meanwhile, when “Library Validation” described above as an example is enabled, the PDE 230 is not called.
- the PDE 230 returns setting values including a user ID, a password, and the like set by the user interface to the print dialog 240 .
- the application 250 a generates print data ( 2 in FIG. 9 ).
- the print settings and the print data are sent to the spooler 213 ( 3 in FIG. 9 ).
- the spooler 213 generates a filter pipeline ( 3 . 1 to 3 . 2 in FIG. 9 ).
- a file format of the print data is converted using a filter of the converting unit 215 ( 3 . 2 . 1 to 3 . 2 . 2 in FIG. 9 ).
- a driver converts the print data to a unique print data format.
- the UI setting determining unit D 2 of the driver determines whether the print settings, such as the user ID and the password, are specified by the user interface ( 3 . 2 . 2 . 1 in FIG. 9 ). More specifically, the UI setting determining unit D 2 determines whether the print settings are specified for the print setting items of the print dialog 240 or the PDE 230 . This determination process will be described later with reference to FIG. 10 .
- the application 250 a that performs printing using the printer driver has print settings including setting values of the user ID, the password, and the like that are set by the user interface (see FIG. 11 and FIG. 12 ), and therefore, the PPD writing unit D 1 stores the print settings (the setting values of the print setting items) in the PPD ( 3 . 2 . 2 . 2 in FIG. 9 ).
- the command adding unit D 4 adds a command to the print data ( 3 . 2 . 2 . 3 in FIG. 9 ).
- the driver repeats the sequence for all of the print settings (print setting items).
- the print data is transmitted to and printed by the printer 100 by the backends included in the communication executing unit 216 ( 3 . 2 . 2 . 3 . 1 in FIG. 9 ).
- FIG. 10 is a diagram illustrating an example of the flow of the determination process performed by the UI setting determining unit D 2 .
- the UI setting determining unit D 2 determines whether the print settings are specified by the UI (the PDE 230 ) provided by the PDE 230 in the following manner.
- the UI setting determining unit D 2 examines received parameters, and determines whether a value is set in “com.ricoh.printsettings.11AUserID” (see FIG. 11 ). If a value is set in “com.ricoh.printsettings.11AUserID” (Yes), the UI setting determining unit D 2 determines that the value is set by the UI (the PDE 230 ), and terminates the determination process.
- the UI setting determining unit D 2 checks a value in “RIUserIDStrings” (see FIG. 12 ) and determines whether the value is set by the UI (PPD) that is provided by the PPD. Meanwhile, while the value specified by the PPD is set in “RIUserIDStrings”, it is impossible to leave a default value blank due to the behavior of the PPD with respect to control of inputting a character string, such as a user ID. Therefore, “None” or the like is set as the default value.
- the UI setting determining unit D 2 determines that the value is set by the UI (PPD), and terminates the determination process. Further, if the value of “RIUserID” is equal to the default value (Yes), the UI setting determining unit D 2 determines that the value is not set by the UI (PPD), and terminates the determination process.
- FIG. 11 is a diagram illustrating a concrete example of the print settings according to the embodiment.
- the filters, the drivers, and the backends receive, from the spooler 213 , values as illustrated in FIG. 11 as parameters of command lines.
- N in “argv[N]” corresponds to an n-th parameter.
- “argv[5]” that is a fifth parameter all of print settings specified by the user interface are listed.
- “com.ricoh.printsettings.11AUserID” is a print setting (print setting item) for a “user ID” that is specified by the plug-in.
- “RIUserID” is a “user ID” that is specified by the PPD.
- FIG. 12 illustrates the PPD in which the print settings are stored.
- FIG. 12 is a diagram illustrating a concrete example of the print settings of the PPD according to the embodiment.
- the PPD is a text file in which information unique to a printer is written.
- Mac OS X registered trademark
- a PPD corresponding to a print queue is generated in a directory of “/etc/cups/ppd”.
- the print settings are stored in an associated PPD for each of print queues.
- a character string starting with an asterisk is referred to as a keyword.
- the keyword may be defined in advance as PPD specifications, or may be freely defined by a printer vendor or a user under a predetermined rule. For example, “*PPD-Adobe” indicates a version of PPD specifications to which the PPD conforms. By specifying a value following the keyword after a colon, it is possible to associate the value with the keyword. By using this method, print settings are stored in the PPD. Meanwhile, rows starting with “*%” are ignored as comments.
- the second row of “*RIUserIDString:userid” in FIG. 12 is an example in which a print setting is stored in the PPD.
- “*RIUserIDString” is a keyword indicating a user ID
- “userid” is a value that is specified as the user ID.
- the drivers are able to read and write the value of each of the print settings from the PPD via the keyword.
- FIG. 13 is a diagram illustrating another example of the functional configuration and the operation of the client PC 200 according to the embodiment.
- FIG. 14 is a sequence diagram illustrating an example of print operation in which the printer driver of the client PC 200 according to the embodiment is not used.
- the application 250 b serving as the data generating unit illustrated in FIG. 13 is an application that does not use the printer driver.
- the application 250 b When the application 250 b performs printing, the application 250 b itself directly transmits print settings and print data to the spooler 213 without calling the print dialog 240 ( 1 to 4 in FIG. 14 ).
- the print dialog 240 is not called, functions of the printer driver displayed by the plug-in of the print dialog 240 are not available.
- the print settings transmitted from the application 250 b to the spooler 213 do not include setting values, such as a user ID and a password.
- the application 250 b itself may display a screen for performing print settings, instead of calling the print dialog 240 .
- the spooler 213 generates a filter pipeline ( 4 . 1 to 4 . 2 in FIG. 14 ).
- a file format of the print data is converted using a filter of the converting unit 215 ( 4 . 2 . 1 to 4 . 2 . 2 in FIG. 14 ).
- a driver converts the print data to a unique print data format.
- the UI setting determining unit D 2 of the driver determines whether print settings, such as a user ID and a password, are specified by the user interface ( 4 . 2 . 2 . 1 in FIG. 14 ). If the print settings do not include the setting values, in the application 250 b that performs printing without using the printer driver, the PPD reading unit D 3 reads the print settings including the user ID and the password from the PPD ( 4 . 2 . 2 . 2 in FIG. 14 ). If the print settings include the setting values, the PPD writing unit D 1 stores the print settings in the PPD. The command adding unit D 4 adds a command to the print data ( 4 . 2 . 2 . 3 in FIG. 14 ). The driver repeats the sequence for all of the print settings.
- print settings such as a user ID and a password
- the print data is transmitted to and printed by the printer 100 by the backends included in the communication executing unit 216 ( 4 . 2 . 2 . 3 . 1 in FIG. 14 ).
- FIG. 15 is a flow diagram illustrating an example of the flow of the printing process performed by the client PC 200 according to the embodiment.
- Step S 101 a when the application 250 a performs printing at Step S 101 a , print settings including a user ID and a password are made from the print dialog 240 at Step S 102 a .
- Step S 103 a the application 250 a generates print data and sends the generated print data to the spooler 213 .
- the spooler 213 sends the print data received from the application 250 a to a filter.
- the filter converts a format of the print data.
- the UI setting determining unit D 2 of the driver determines whether the print settings are specified by the user interface. In this case, the printing is performed via the application 250 a (Yes), and therefore, at Step S 107 , the PPD writing unit D 1 stores the print settings in the PPD.
- the command adding unit D 4 adds a command to the print data. The driver repeats the processes from Step S 106 to Step S 109 for all of the print settings.
- Step S 110 the driver sends the print data to the backends.
- Step S 111 the backends transmits the print data to the printer 100 .
- the printing process via the application 250 a is completed.
- Step S 101 b when the application 250 b performs printing at Step S 101 b , a print dialog provided by the application 250 b for example is displayed and print settings are made at Step S 102 b .
- the print settings do not include settings of a user ID and a password.
- the application 250 b At Step S 103 b , the application 250 b generates print data and sends the generated print data to the spooler 213 .
- the spooler 213 sends the print data received from the application 250 b to a filter.
- the filter converts a format of the print data.
- the UI setting determining unit D 2 of the driver determines whether the print settings are specified by the user interface. In this case, the printing is performed via the application 250 b , and the print settings are not made in some cases (No), and therefore, at Step S 108 , the PPD reading unit D 3 reads the print settings from the PPD. At Step S 109 , the command adding unit D 4 adds a command to the print data. The driver repeats the processes from Step S 106 to Step S 109 for all of the print settings.
- Step S 110 the driver sends the print data to the backends.
- Step S 111 the backends transmits the print data to the printer 100 .
- the printing process via the application 250 b is completed.
- the printer driver when a user ID and a password are set by a printer driver, the user ID and the password are stored in a PPD in association with information on a login user.
- the printer driver reads and sets the user ID and the password stored as above, to thereby allow the user to omit settings in each printing.
- the printer driver is not called and it is impossible to read the user ID and the password stored as above.
- the driver determines whether print settings are made by the user interface, and even when the print settings are not made by the user interface, the drive reads print settings from the PPD and reflects the print settings in current print settings. Therefore, even when printing is performed via an application that does not use a printer driver, it is possible to perform user authentication. Consequently, it is possible to allow a user to use a user authentication function more broadly and easily.
- the UI setting determining unit D 2 of the driver determines presence or absence of print settings.
- a client PC of a modification of the embodiment is different from the embodiment as described above in that whether to the read print settings from the PPD is determined based on whether a flag is on in the PPD.
- the client PC of the modification of the embodiment is configured such that a flag is turned on when printing is performed via the application 250 b that does not use a printer driver.
- a driver of the modification of the embodiment includes, for example, a PPD flag determining unit D 5 serving as a flag determining unit, instead of the UI setting determining unit D 2 or in addition to the UI setting determining unit D 2 .
- the PPD flag determining unit D 5 determines whether a flag is on in the PPD. If the flag is off in the PPD (No), it is determined that the printing is performed via the application 250 a that uses the printer driver, and print settings are made by the user interface. Then, the PPD writing unit D 1 stores the settings in the PPD.
- the PPD reading unit D 3 reads the print settings from the PPD.
- the client PC of the modification of the embodiment it is possible to use a user authentication function using a driver as, for example, undocumented feature.
- the printer 100 is described as the image forming apparatus in the above-described embodiment, embodiments are not limited to this example.
- the image forming apparatus may be a copier, a scanner, a facsimile machine, or a multifunction peripheral (MFP) that includes at least two of a printing function, a copying function, a scanner function, and a facsimile function.
- MFP multifunction peripheral
- setting values related to user authentication are mainly described as an example of print settings that are available when the printer driver is not used; however, embodiments are not limited to this example.
- the settings that are available when a driver, such as a printer driver, is not used and that are made for forming an image (for outputting an image) include various settings that may be used in the image forming apparatus, such as the printer 100 .
- a program executed by a computer of the embodiment is provided by being incorporated in a ROM or the like in advance. Further, the program may be provided by being recorded in a computer readable recording medium, such as a compact disc-ROM (CD-ROM), a flexible disk (FD), a compact disc-recordable (CD-R), or a digital versatile disk (DVD), in a computer-installable or computer-executable file format.
- a computer readable recording medium such as a compact disc-ROM (CD-ROM), a flexible disk (FD), a compact disc-recordable (CD-R), or a digital versatile disk (DVD)
- the program executed in the embodiment may be stored in a computer that is connected to a network, such as the Internet, and may be provided by being downloaded via the network. Moreover, the program executed in the embodiment may be provided or distributed via a network, such as the Internet.
- any of the above-described apparatus, devices or units can be implemented as a hardware apparatus, such as a special-purpose circuit or device, or as a hardware/software combination, such as a processor executing a software program.
- any one of the above-described and other methods of the present invention may be embodied in the form of a computer program stored in any kind of storage medium.
- storage mediums include, but are not limited to, flexible disk, hard disk, optical discs, magneto-optical discs, magnetic tapes, nonvolatile memory, semiconductor memory, read-only-memory (ROM), etc.
- any one of the above-described and other methods of the present invention may be implemented by an application specific integrated circuit (ASIC), a digital signal processor (DSP) or a field programmable gate array (FPGA), prepared by interconnecting an appropriate network of conventional component circuits or by a combination thereof with one or more conventional general purpose microprocessors or signal processors programmed accordingly.
- ASIC application specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate array
- Processing circuitry includes a programmed processor, as a processor includes circuitry.
- a processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA) and conventional circuit components arranged to perform the recited functions.
- ASIC application specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate array
Abstract
Description
Claims (9)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047337 | 2018-03-14 | ||
JP2018-047337 | 2018-03-14 | ||
JP2018197928A JP7183688B2 (en) | 2018-03-14 | 2018-10-19 | Information processing device, printing method, and program |
JP2018-197928 | 2018-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190286392A1 US20190286392A1 (en) | 2019-09-19 |
US10795622B2 true US10795622B2 (en) | 2020-10-06 |
Family
ID=67904515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/297,209 Active US10795622B2 (en) | 2018-03-14 | 2019-03-08 | Information processing apparatus, printing method, and computer-readable medium |
Country Status (1)
Country | Link |
---|---|
US (1) | US10795622B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7255209B2 (en) * | 2019-01-31 | 2023-04-11 | ブラザー工業株式会社 | Support program, information processing device, and printing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012014345A (en) | 2010-06-30 | 2012-01-19 | Ricoh Co Ltd | Information processor, program and storage medium |
US20130308156A1 (en) * | 2012-05-21 | 2013-11-21 | Canon Kabushiki Kaisha | Printing apparatus, printing apparatus control method, and program |
JP2015111376A (en) | 2013-12-06 | 2015-06-18 | キヤノン株式会社 | Information processing apparatus, program, and control method |
-
2019
- 2019-03-08 US US16/297,209 patent/US10795622B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012014345A (en) | 2010-06-30 | 2012-01-19 | Ricoh Co Ltd | Information processor, program and storage medium |
US20130308156A1 (en) * | 2012-05-21 | 2013-11-21 | Canon Kabushiki Kaisha | Printing apparatus, printing apparatus control method, and program |
JP2015111376A (en) | 2013-12-06 | 2015-06-18 | キヤノン株式会社 | Information processing apparatus, program, and control method |
Also Published As
Publication number | Publication date |
---|---|
US20190286392A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8861001B2 (en) | Output control system, output control method, and output control apparatus for determining whether to store or transmit target data based on use state | |
US20140293312A1 (en) | Information processing apparatus, print control program and print system | |
US20150081757A1 (en) | Information processing system and information processing method | |
JP2011154552A (en) | Information processing device, print control program, computer readable recording medium, print device, and print system | |
JP2023073347A (en) | Support program, information processing device, and printing method | |
US10761789B2 (en) | Information processing apparatus, printing method, and recording medium | |
CN114846440A (en) | Support program, information processing apparatus, and printing method | |
US10795622B2 (en) | Information processing apparatus, printing method, and computer-readable medium | |
US10592180B2 (en) | Information processing device, information processing method, and recording medium | |
US9280727B2 (en) | Information processing unit, printing control method for printer driver, and computer program product | |
JP6303667B2 (en) | Program, information processing apparatus and information processing system | |
JP6281343B2 (en) | Authority delegation system, authority delegation method, and authority delegation program | |
JP7351126B2 (en) | Information processing system, server device and information processing method | |
JP7200632B2 (en) | Printing Systems, Printers and Support Programs | |
US9430173B2 (en) | Information processing device, setting method, and computer program product | |
JP7183688B2 (en) | Information processing device, printing method, and program | |
JP2014056424A (en) | Printing control device, printing control method, and printing control system | |
US9434195B2 (en) | Printing instruction apparatus, printing system, printing instruction method, and computer readable medium | |
JP6753090B2 (en) | Fax transmitter, fax transmission system, fax transmission method and program | |
JP6519942B2 (en) | Image forming apparatus and program | |
JP2015166927A (en) | Program, information processing apparatus, and system | |
JP2019053398A (en) | Information processing system, information processing method, information processing device, and information processing program | |
JP2014029633A (en) | Information processing device and printing system | |
JP7013977B2 (en) | Image processing equipment, image processing systems, and programs | |
JP2016177694A (en) | Program, information processing device, print data generation method, and image forming system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: RICOH COMPANY, LTD, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARADA, KOHTAROH;REEL/FRAME:048550/0934 Effective date: 20190220 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |