Information processing device, control method thereof, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2023-05-18
- Publication Date
- 2026-05-21
AI Technical Summary
Compressing print data in certain formats can be inefficient due to the lack of significant data reduction, wasting time and resources in the compression process.
An information processing device that determines whether to compress print data based on the printing device's capabilities, requesting compressed data if necessary, and converting data formats if printing fails, thereby optimizing print processing efficiency.
Enhances the efficiency of print processing by reducing unnecessary compression and minimizing data transmission size, ensuring successful printing while minimizing resource usage.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing apparatus, a control method thereof, and a program. [Background technology]
[0002] It is desirable to efficiently transmit print data from an information processing device to a printing device. In Patent Document 1, a printer driver compresses print data and transmits the compressed data to a printing device. This reduces the amount of data communication. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2004-291595 A Summary of the Invention [Problem to be solved by the invention]
[0004] Depending on the format of print data, even if the print data is compressed, the amount of data may remain almost the same. If print data of such a format is compressed, the time and load required for the compression process are wasted, and the efficiency of the print process may decrease. An object of some aspects of the present invention is to provide a technique for efficiently executing the print process. [Means for solving the problem]
[0005] According to some embodiments, there is provided an information processing device comprising: an acquisition means for acquiring from a user a specification of print data to be printed by a printing device; a compression means for generating compressed data by compressing the print data if the format of the print data is to be compressed; and a request means for requesting the printing device to print the compressed data if the format of the print data is to be compressed, and for requesting the printing device to print the print data if the format of the print data is not to be compressed. Effect of the Invention
[0006] According to the above embodiment, the printing process can be efficiently executed. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of the configuration of a printing system according to some embodiments. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a computer according to some embodiments. [Diagram 3] FIG. 2 is a block diagram illustrating an example of the functional configuration of a print server according to some embodiments. [Figure 4] FIG. 2 is a block diagram illustrating an example of the functional configuration of an information processing apparatus according to some embodiments. [Diagram 5] FIG. 2 is a block diagram illustrating an example of the hardware configuration of a printing apparatus according to some embodiments. [Figure 6] FIG. 2 is a block diagram illustrating an example of the functional configuration of a printing apparatus according to some embodiments. [Figure 7] FIG. 11 is a sequence diagram illustrating an overall process of cloud printing according to some embodiments. [Figure 8] FIG. 4 illustrates examples of printer attributes according to some embodiments. [Figure 9] FIG. 11 is a flow diagram illustrating an example of a control method for an information processing apparatus according to some embodiments. [Figure 10] 11A and 11B are schematic diagrams illustrating an example of a screen for acquiring a specification of a compression target format according to some embodiments. [Figure 11] FIG. 11 is a sequence diagram illustrating an overall process of local printing according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.
[0009] [Printing system configuration example] An example of the configuration of a printing system according to some embodiments will be described with reference to Fig. 1. The printing system includes, for example, an information processing device 110, printing devices 120A and 120B, and a printing server 130. The number of components of the printing system is not limited to the example of Fig. 1. For example, the printing system may not include one of the printing devices 120A and 120B. Furthermore, the printing system may have components not shown in Fig. 1.
[0010] The information processing device 110 and the printing device 120B are connected to the same local area network (LAN) 101. The LAN 101 may be a wired LAN, a wireless LAN, or a combination of both. The LAN 101 is connected to a wide area network 103 (e.g., the Internet) through a firewall 102. A print server 130 is also connected to the wide area network 103. The information processing device 110 and the printing device 120B can communicate with each other within the LAN 101 (i.e., without going through the wide area network 103). The information processing device 110 and the printing device 120B can communicate with the print server 130 through the LAN 101, the firewall 102, and the wide area network 103. Alternatively or in addition to this, the information processing device 110 and the printing device 120B may be connected to the wide area network 103 through a cellular network (e.g., a network conforming to the fourth generation communication standard (4G) or the fifth generation communication standard (5G)).
[0011] The printing device 120A is connected to the LAN 105. The LAN 105 may be a wired LAN, a wireless LAN, or a combination of both. The LAN 105 is connected to the wide area network 103 through a firewall 104. The LAN 105 is a LAN different from the LAN 101. The printing device 120A can communicate with the print server 130 through the LAN 105, the firewall 104, and the wide area network 103. Alternatively or in addition, the printing device 120A may be connected to the wide area network 103 through a cellular network. The information processing device 110 can communicate with the printing device 120A through the LANs 101 and 105, the firewalls 102 and 104, and the wide area network 103.
[0012] The printing devices 120A and 120B have a printing function that performs printing based on a print job. The printing devices 120A and 120B may include at least one of a scanner function and a fax function in addition to the printing function. A printing device having multiple functions in this way may be called a multifunction peripheral (MFP). Alternatively, the printing devices 120A and 120B may be a dedicated machine (SFP: Single Function Peripheral) that has only a printing function. The printing may be printing on a sheet-like recording medium such as paper, or may be forming a three-dimensional object (so-called three-dimensional printing).
[0013] The print server 130 provides a print service that transmits a print job to any printing device (e.g., the printing device 120A) according to a print job generated by the information processing device 110. For example, the print server 130 provides a logical printer to the information processing device 110 and accepts a print job for the logical printer. A logical printer is a virtual printing device (e.g., a printer object) provided by the print server 130. A logical printer may also be called a cloud printer. In contrast to a logical printer, a physical printing device such as the printing device 120A may also be called a physical printer. In the following description, a logical printer and a physical printer are collectively referred to simply as a printer. A physical printer may also be called a local printer when it is connected to the same LAN as the information processing device that inputs the print job.
[0014] The print server 130 may be a server in an on-premise environment connected to the wide area network 103, or may be a server in a cloud computing environment (hereinafter simply referred to as cloud). The print service provided by the print server 130 in the cloud may be called a cloud print service (hereinafter referred to as CPS). One example of a cloud print service is Universal Print (registered trademark) provided by Microsoft Corporation. In the following description, a case where the print server 130 is in the cloud will be described. However, the following description also applies to a case where the print server 130 is in an on-premise environment.
[0015] The information processing device 110 provides a printing function to a user of the information processing device 110. The information processing device may be a personal computer (PC), a smartphone, or another device. The information processing device 110 may specify a physical printer (e.g., the printing device 120B) connected to the same LAN 101 as the output destination, or may specify a logical printer provided by the print server 130 as the output destination. When a logical printer is specified as the output destination, a physical printer (e.g., the printing device 120A) associated with the logical printer performs printing. The information processing device 110 using the CPS may be called a client or a client terminal. Printing performed by inputting a print job to a logical printer may also be called cloud print, remote print, or remote printing. Printing by cloud print may be performed by the printing device 120B connected to the same LAN 101 as the information processing device 110, or may be performed by a printing device (e.g., the printing device 120A) not connected to the LAN 101. Printing performed by directly inputting a print job to a physical printer (i.e., within the LAN) may also be called local print or local printing.
[0016] The information processing device 110 may have a printing function that is included as standard in the operating system (OS). Such a printing function is called a standard printing function. The standard printing function may also be called an OS standard printing function or a native printing function. The information processing device 110 having the standard printing function does not require separate software (e.g., a driver) to use a printing device that supports the standard printing function. Examples of the standard printing function include AirPrint (registered trademark), which is included as standard in iOS, macOS (registered trademark), and the like, and Mopria (registered trademark), which is included as standard in Android and the like.
[0017] [Example of computer hardware configuration] An example of a hardware configuration of a computer 200 according to some embodiments will be described with reference to Fig. 2. The computer 200 may be used as the information processing device 110 or as the print server 130. The computer 200 may have the components shown in Fig. 2.
[0018] The central processing unit (CPU) 201 is a general-purpose processing circuit that controls the overall operation of the computer 200. The random access memory (RAM) 202 is a volatile memory circuit, and is used as a temporary storage area such as a work area for processing by the CPU 201. The read-only memory (ROM) 203 is a non-volatile memory circuit, and stores programs and data used in the processing by the CPU 201. The storage device 204 is a non-volatile storage device, and stores programs and data used in the processing by the CPU 201. The storage device 204 may be, for example, a hard disk drive (HDD) or a solid state drive (SSD). The storage device 204 may also be called a secondary storage device. The operations of the computer 200 may be realized by the CPU 201 executing a program read from the storage device 204 to the RAM 202.
[0019] The input interface (I / F) 205 is an I / F for exchanging signals with the input device 210. The input device 210 is a device that obtains input from a user of the computer 200. The input device 210 may be, for example, a keyboard, a touch panel, a microphone, a mouse, or any combination thereof. The output I / F 206 is an I / F for exchanging signals with the output device 220. The output device 220 is a device that provides information to a user of the computer 200. The output device 220 may be, for example, a display, a speaker, or any combination thereof. The network I / F 207 is an I / F for communicating with a device outside the computer 200. Each of the CPU 201, the RAM 202, the ROM 203, the storage device 204, the input I / F 205, the output I / F 206, and the network I / F 207 is connected to a system bus 208. In the example of FIG. 2, the input device 210 and the output device 220 are shown as devices separate from the computer 200. Alternatively, computer 200 may include input device(s) 210 and output device(s) 220 .
[0020] [Example of print server configuration] An example of the functional configuration of the print server 130 will be described with reference to Fig. 3. The print server 130 may have the functional units shown in Fig. 3. The print server 130 may have functional units not shown in Fig. 3. Each functional unit in Fig. 3 may be realized by the CPU 201 executing a program read into the RAM 202. Alternatively, some or all of the functional units in Fig. 3 may be realized by a dedicated processing circuit such as an application specific integrated circuit (ASIC).
[0021] The registration control unit 301 performs processing for registering a logical printer. For example, in response to a registration start request from a printing device, the registration control unit 301 generates a logical printer associated with a physical printer and registers it in the printer information 311. A logical printer registered in the printer information 311 is recognized as a printer by the information processing device 110. The physical printer associated with a logical printer may be a physical printer that performs printing according to a print job submitted to the logical printer. A logical printer may be associated with only one physical printer. A physical printer may be associated with only one logical printer, or may be associated with multiple logical printers.
[0022] The print control unit 302 performs processing related to a print job for a logical printer. For example, the print control unit 302 receives a print job for the logical printer from the information processing device 110, and transmits the print job to a physical printer associated with the logical printer based on the received print job. The print control unit 302 may also control events related to the print job. The events related to the print job may include, for example, reception of a print job. In response to receiving an event request from a physical printer, the print control unit 302 may respond with an event related to the physical printer.
[0023] The printer management unit 303 manages information about the logical printers registered in the print server 130 as printer information 311. The printer information 311 includes information about the capabilities of the physical printer associated with the logical printer, a cloud printer ID uniquely assigned to the logical printer, and information about the print queue in which the print job is spooled.
[0024] The job management unit 304 manages information related to the print job received from the information processing device 110 as job information 312. The job information 312 includes information and status of the print job, print data specified in the print job, and the like.
[0025] The storage control unit 310 stores information in the RAM 202 or the storage device 204 in accordance with instructions from other functional units, and reads information from the RAM 202 or the storage device 204. According to some embodiments, the storage control unit 310 stores printer information 311 and job information 312.
[0026] [Example of functional configuration of information processing device] An example of the functional configuration of the information processing device 110 will be described with reference to Fig. 4. The information processing device 110 may have the functional units shown in Fig. 4. The information processing device 110 may have functional units not shown in Fig. 4. Each functional unit in Fig. 4 may be realized by the CPU 201 executing a program read into the RAM 202. Alternatively, some or all of the functional units in Fig. 4 may be realized by a dedicated processing circuit such as an ASIC.
[0027] The input acquisition unit 401 acquires an input from a user of the information processing device 110 using the input I / F 205. The information output unit 402 outputs information to the user of the information processing device 110 using the output I / F 206.
[0028] The registration control unit 403 performs processing for registering a logical printer in the print server 130. The print control unit 404 performs processing related to printing by a printer. For example, the print control unit 404 may send a print job to a logical printer registered in the print server 130 in accordance with a print instruction from a user of the information processing device 110. The print control unit 404 may send a print job directly to a physical printer (i.e., within the same LAN) in accordance with a print instruction from a user of the information processing device 110.
[0029] The printer management unit 405 manages information about printers to which the information processing device 110 can submit print jobs as printer information 411. The printer information 411 includes printer capability information, etc. The printer management unit 405 may search for printers to which the information processing device 110 can submit print jobs.
[0030] The format conversion unit 406 converts the format of print data specified by the user. For example, assume that the format of print data specified by the user is PDF (Portable Document Format), and the printing device specified by the user cannot print PDF data. In this case, the format conversion unit 406 may convert the format of this print data into a format (e.g., raster) that the printing device can print.
[0031] The data compression unit 407 compresses the print data designated by the user. For example, if the printing device designated by the user has a data decompression function, the data compression unit 407 may generate compressed data by compressing the print data into a zip format, a gzip format, or the like. The data compression function is a function for decompressing data compressed into a specific format. The compressed data may be decompressed by the printing device and printed.
[0032] The storage control unit 410 stores information in the RAM 202 or the storage device 204, or reads information from the RAM 202 or the storage device 204, according to instructions from other functional units. According to some embodiments, the storage control unit 410 stores printer information 411, an operating system 412, and a print support application 413. The operating system 412 is installed as standard on the information processing device 110 (i.e., when the information processing device 110 is shipped). The operating system 412 may be updated. The operating system 412 has functions for basic management and control of the information processing device 110. As described above, the operating system 412 may include a standard print function.
[0033] The print support application 413 is an application that runs on the operating system 412. The print support application 413 provides functions related to printing. A part or all of the input acquisition unit 401, the information output unit 402, the registration control unit 403, the print control unit 404, the printer management unit 405, the format conversion unit 406, and the data compression unit 407 may be realized by the print support application 413. Alternatively, a part or all of the input acquisition unit 401, the information output unit 402, the registration control unit 403, the print control unit 404, the printer management unit 405, the format conversion unit 406, and the data compression unit 407 may be realized by the operating system 412 (for example, as a standard print function).
[0034] [Example of hardware configuration of printing device] An example of a hardware configuration of a printing device 500 according to some embodiments will be described with reference to Fig. 5. The printing device 500 may be used as either the printing device 120A or 120B. The printing device 500 may have the components shown in Fig. 5. Since the printing device 500 is a physical printing device, it may also be called a physical printer.
[0035] The CPU 501 is a general-purpose processing circuit that controls the overall operation of the printing device 500. The RAM 502 is a volatile memory circuit, and is used as a temporary storage area such as a work area for processing by the CPU 501. The ROM 503 is a non-volatile memory circuit, and stores programs and data used in the processing by the CPU 501. The storage device 504 is a non-volatile storage device, and stores programs and data (e.g., print jobs, image data, setting information) used in the processing by the CPU 501. The storage device 504 may be, for example, an HDD or SSD. The storage device 504 may also be called a secondary storage device. The operations of the printing device 500 may be realized by the CPU 501 executing a program read from the storage device 504 to the RAM 502.
[0036] Printer I / F 505 is an I / F for exchanging signals with printer engine 520. Printer engine 520 performs printing based on signals (e.g., image signals and print commands) supplied from control unit 510 via printer I / F 505. Printing may be electrophotographic printing in which toner is transferred to paper and fixed thereon, inkjet printing in which ink is ejected onto paper to print, or three-dimensional printing.
[0037] Scanner I / F 506 is an I / F for exchanging signals with scanner engine 530. Scanner engine 530 supplies a signal (e.g., an image signal) obtained by reading an original to control unit 510 through scanner I / F 506. CPU 501 may process the image signal supplied from scanner engine 530 and supply a recording image signal obtained thereby to printer engine 520. CPU 501 may also generate image data based on the image signal supplied from scanner engine 530 and transmit this to an external device.
[0038] The operation unit I / F 507 is an I / F for exchanging signals with the operation unit 540. The operation unit 540 is a device that acquires input from a user of the printing device 500 and provides information to the user of the printing device 500. The operation unit 540 may be configured with, for example, a display panel (e.g., a liquid crystal display), a speaker, a touch panel, a keyboard, buttons, a touch screen, or any combination of these.
[0039] The network I / F 508 is an I / F for communicating with devices external to the printing device 500. A control unit 510 is configured with the CPU 501, RAM 502, ROM 503, storage device 504, printer I / F 505, scanner I / F 506, operation unit I / F 507, and network I / F 508. Each component included in the control unit 510 is connected to a system bus 509.
[0040] [Example of functional configuration of printing device] An example of the functional configuration of the printing device 500 will be described with reference to Fig. 6. The printing device 500 may have the functional units shown in Fig. 6. The printing device 500 may have functional units not shown in Fig. 6. Each functional unit in Fig. 6 may be realized by the CPU 501 executing a program read into the RAM 502. Alternatively, some or all of the functional units in Fig. 6 may be realized by a dedicated processing circuit such as an ASIC.
[0041] The input acquisition unit 601 acquires input from the user of the printing device 500 using the operation unit I / F 507. The information output unit 602 outputs information to the user of the printing device 500 using the operation unit I / F 507. For example, the information output unit 602 displays an operation menu on the operation unit 540. The input acquisition unit 601 acquires input for the operation menu, and notifies the other functional units of the input instruction content. The information output unit 602 displays the results acquired from the other functional units on the operation unit 540.
[0042] The image processing unit 603 renders the print job into image data for printing. The print processing unit 604 prints the image data rendered by the image processing unit 603.
[0043] The registration control unit 605 performs processing for registering the logical printer associated with the printing device 500 in the print server 130. The printer management unit 606 manages information related to the printing device 500 as printer information 621. The printer information 621 may include, for example, the state of the printing device 500, the capabilities of the printing device 500, and a cloud printer ID uniquely assigned by the print server 130 to the logical printer associated with the printing device 500. The printer information 621 may also include a local printer ID that allows the information processing device 110 to identify a printing device within the same LAN 101.
[0044] A cloud print (CP) control unit 607 performs processing related to cloud print. For example, the CP control unit 607 may execute printing according to a print job transmitted from the print server 130 by transferring print data included in the print job received from the print server 130 to the image processing unit 603. The CP control unit 607 may also transmit an event request to the print server 130.
[0045] A local print (LP) control unit 608 performs processing related to local printing. For example, the LP control unit 608 may respond to a printer search from the information processing device 110. The LP control unit 608 may also execute printing according to a print job transmitted from the information processing device 110 by transferring print data included in the print job directly received from the information processing device 110 to the image processing unit 603. A job management unit 609 manages information related to the print job as job information 622. The job information 622 may include the processing status and processing result of the print job.
[0046] When data included in a print job is compressed (i.e., compressed data), the data decompressor 610 decompresses the data to generate print data. The print job may include information indicating the compression format (e.g., zip or gzip) of the compressed data. The compressed data is printed after being decompressed by the data decompressor 610.
[0047] The storage control unit 620 stores information in the RAM 502 or the storage device 504, or reads information from the RAM 502 or the storage device 504, in accordance with instructions from other functional units. According to some embodiments, the storage control unit 620 stores printer information 621 and job information 622. The storage control unit 620 may manage data as a file system. The storage control unit 620 may allocate the storage destination of each data between the storage device 504, which is a non-volatile area, and the RAM 502, which is a volatile area. For example, the storage control unit 620 may store the printer information 621 and the job information 622 in a non-volatile area.
[0048] [Overall processing sequence for Cloud Print] With reference to FIG. 7, the overall processing sequence for performing cloud printing will be described. In the example of FIG. 7, a case will be described in which the information processing device 110 registers the printing device 120A in the print server 130 and inputs a print job to a logical printer associated with the printing device 120A. Registering the printing device 120A in the print server 130 may mean registering a logical printer associated with the printing device 120A in the print server 130. In the following example, it is assumed that the printing device 120A supports a web user interface (UI) function for operating the printing device 120A from the information processing device 110. It is also assumed that the information processing device 110 supports a web UI client function. Mutual communication between the information processing device 110, the printing device 120A, and the print server 130 may be performed using the Internet Printing Protocol (IPP).
[0049] In S701, the registration control unit 403 of the information processing device 110 transmits a registration start request to the printing device 120A in accordance with an instruction from the user of the information processing device 110. The registration start request may be a request to start a process for registering the printing device 120A in the print server 130. The registration start request may be transmitted using a web UI client function of the information processing device 110.
[0050] In S702, the registration control unit 605 of the printing device 120A transmits a registration start request to the print server 130 in response to receiving the registration start request from the information processing device 110. The registration start request may be a request to start processing for registering the printing device 120A in the print server 130.
[0051] In S703, in response to receiving the registration start request from the printing device 120A, the registration control unit 301 of the print server 130 transmits a registration start response to the printing device 120A. The registration start response includes a uniform resource locator (URL) of a web page for the user of the information processing device 110 to input information for registering the printing device 120A in the print server 130.
[0052] In S704, in response to receiving the registration start response from the print server 130, the registration control unit 605 of the printing device 120A transmits registration information to the information processing device 110. The registration information includes a URL included in the registration start response. In response to receiving the registration information from the printing device 120A, the information output unit 402 of the information processing device 110 displays a web page to the user.
[0053] In S705, the registration control unit 403 of the information processing device 110 transmits a registration approval request to the print server 130 in response to the user of the information processing device 110 accessing the URL and inputting information required for registration. The registration approval request includes a cloud account of the user of the information processing device 110. The cloud account is an account for the user to use a cloud tenant including the print server 130.
[0054] In S706, the registration control unit 301 of the print server 130 checks whether the cloud account included in the registration approval request belongs to a user who has the authority to register the printing device 120A on the print server 130. If the user has the authority, the registration control unit 301 of the print server 130 sends a registration approval response to the information processing device 110. The registration approval response may be a message notifying the result of the confirmation that the user of the information processing device 110 is a user who has the authority to register the printing device 120A.
[0055] In S707, in response to receiving the registration start response from the print server 130, the printer management unit 606 of the printing device 120A transmits a registration confirmation request to the print server 130. The registration confirmation request is a request regarding registration of the printing device 120A with the print server 130, and specifically may be a request to register the printing device 120A with the print server 130.
[0056] In S708, in response to receiving the registration confirmation request from the printing device 120A, the printer management unit 303 of the print server 130 generates a new logical printer and adds the logical printer to the printer information 311 in association with the printing device 120A. This causes the printing device 120A to be registered in the print server 130, and the information processing device 110 becomes able to perform cloud printing using the logical printer. In addition, the printer management unit 303 of the print server 130 assigns a unique cloud printer ID to the generated logical printer, and adds the cloud printer ID to the printer information 311 in association with the logical printer. Thereafter, the registration control unit 301 of the print server 130 transmits a registration confirmation response to the printing device 120A. The registration confirmation response includes the cloud printer ID of the printing device 120A.
[0057] In S709, the printer management unit 606 of the printing device 120A transmits an information update request to the print server 130 in response to the completion of registration of the printing device 120A with the print server 130. The information update request may be a request to update information related to the printing device 120A. The information update request includes the printer attributes of the printing device 120A. The information update request may be transmitted in an update-output-device-attributes request message defined by IPP.
[0058] In S710, the printer management unit 303 of the print server 130 updates the information of the printing device 120A included in the printer information 311 based on the printer attributes included in the received information update request, and transmits an information update response to the printing device 120A. The information update response may be a message notifying that the update of the information of the printing device 120A has been completed successfully.
[0059] In S711, in response to receiving the registration confirmation response from the print server 130, the CP control unit 607 of the printing device 120A transmits an event request to the print server 130. The event request may be a request to notify the printing device 120A when an event related to the printing device 120A occurs. The event request may also be related to an event that a print job has been submitted to a logical printer associated with the printing device 120A.
[0060] In S712, the printer management unit 405 of the information processing device 110 transmits an information request to the print server 130 in accordance with an instruction from the user of the information processing device 110. The information request may be a request for information on logical printers available to the user of the information processing device 110. The information request includes a cloud account of the user of the information processing device 110. The information request may be transmitted in a Get-Printer-Attributes Request message defined by IPP.
[0061] In S713, in response to receiving the information request from the information processing device 110, the printer management unit 303 of the print server 130 transmits an information response to the information processing device 110. The information response includes a cloud printer ID and printer attributes for each of one or more logical printers available to the user of the information processing device 110. The printer management unit 405 of the information processing device 110 updates the printer information 411 based on the information response. The information response may be transmitted in a Get-Printer-Attributes Response message defined by IPP.
[0062] In S714, the printer management unit 405 of the information processing device 110 sends a print request to the print server 130 according to an instruction from the user of the information processing device 110. The print request includes a cloud printer ID, a print job, and a cloud account of the user of the information processing device 110. The print job may include print data and print settings. The print request may be a request to print the print data included in the print request to a logical printer having the cloud printer ID included in the print request. The print request may be sent in a Send-Document Request message defined by IPP.
[0063] In S715, the print control unit 302 of the print server 130 transmits an event response to the printing device 120A associated with the logical printer in response to receiving the print request from the information processing device 110. The event response is a response to the event request received in S711. The event response is a response for notifying that an event of the type specified in the event request has occurred.
[0064] In S716, in response to receiving the event response from the print server 130, the CP control unit 607 of the printing device 120A transmits a print job request to the print server 130. The print job request may be a request for a print job to be executed by the printing device 120A.
[0065] In S717, in response to receiving the print job request from the printing device 120A, the print control unit 302 of the print server 130 sends a print job response to the printing device 120A. The print job response includes a cloud account and a print job. Thereafter, in response to receiving the print job response from the print server 130, the printing device 120A performs printing based on the print job. The print job response received by the printing device 120A from the print server 130 may be an IPP Fetch-Job Response.
[0066] In the description of FIG. 7, the registration of the printing device 120A in steps S701 to S706 and the cloud printing in steps S712 to S717 may be performed by the same user or by different users.
[0067] [Printer Attributes] An example of printer attributes sent by printing device 120A in S709 and S713 in Fig. 7 will be described with reference to Fig. 8. In the example of Fig. 8, printer attributes 800 are expressed in a table format. Alternatively, printer attributes 800 may be expressed in other formats. Printer attributes 800 include columns 801 and 802. Column 801 indicates the name of the attribute. Column 802 indicates the value of the attribute.
[0068] Record 811 indicates whether printing device 120A supports color printing. The name of the attribute is "color-supported." The value of the attribute is "true" if printing device 120A supports color printing, and is "false" if printing device 120A does not support color printing. Printer attribute 800 indicates that printing device 120A supports color printing.
[0069] Record 812 indicates the paper sizes supported by printing device 120A. The name of the attribute is "media-supported". The value of the attribute is a string assigned to an individual paper size. Printer attribute 800 indicates that printing device 120A supports A4 paper, represented by iso_a4_210x297mm, and A3 paper, represented by iso_a3_297x420mm.
[0070] Record 813 indicates the data formats that printing device 120A can print. The name of the attribute is "document-format-supported". The value of the attribute is a string assigned to an individual format. Printer attribute 800 indicates that printing device 120A can print data in PDF format, JPEG format, raster format, and text format.
[0071] Record 814 indicates the data format that printing device 120A can decompress. The name of the attribute is "compression-supported". The value of the attribute is a character string assigned to an individual format. Printer attribute 800 indicates that printing device 120A can decompress data in zip format and gzip format. If printing device 120A does not have a data decompression function, printer attribute 800 may not include record 814, or may include a value (e.g., null) in column 802 of record 814 indicating that printing device 120A does not have a data decompression function.
[0072] Record 815 indicates the number of copies that printing device 120A supports. The name of the attribute is "copies-supported." The value of the attribute is a numeric range. Printer attribute 800 indicates that printing device 120A supports the number of copies from 1 to 99.
[0073] [Operation flow when an information processing device requests printing in cloud print] With reference to Fig. 9, an example of a control method for controlling the information processing device 110 so that the information processing device 110 executes a process for requesting printing in cloud printing will be described. The method of Fig. 9 may be started in response to, for example, obtaining a print instruction from a user of the information processing device 110 in S714 of Fig. 7. The print instruction may include a designation of print data to be printed by the printing device. The print data is data representing the print contents. When the information processing device 110 manages data by a file system, the print data may be a file in a specific format.
[0074] 9 may be performed by the CPU 201 of the information processing device 110 executing a program loaded into a memory (e.g., RAM 202) of the information processing device 110. Alternatively, some or all of the steps of the method of FIG 9 may be performed by a dedicated integrated circuit such as an ASIC.
[0075] In S901, the information processing device 110 (for example, its print control unit 404) identifies print data specified by a user (hereinafter simply referred to as the user) of the information processing device 110 in a print instruction and a printing device that should print the print data. In the following description, the print data specified in S901 is simply referred to as the print data. The printing device that should print the print data may be specified by the user together with the designation of the print data. For example, the user may designate one of one or more logical printers managed by the print server 130, thereby designating that the printing device associated with this logical printer prints the print data. Alternatively, the printing device that should print the print data may be a printing device determined in advance (for example, a default printing device). In the following description, it is assumed that the printing device that should print the print data is the printing device 120A.
[0076] In S902, the information processing device 110 (e.g., its print control unit 404) refers to the printer information 411 to determine whether the printing device 120A has a data decompression function. If the information processing device 110 determines that the printing device 120A has a data decompression function ("YES" in S902), it transitions the process to S903, and otherwise ("NO" in S902), it transitions the process to S905. As described above, the printer information 411 can include the information indicated in the printer attributes 800 in FIG. 8. Record 814 of the printer attributes 800 indicates whether the printing device has a data decompression function.
[0077] The printer information 411 may be acquired by the information processing device 110 sending an information request to the print server 130 in the above-mentioned S713. The information processing device 110 may send the information request at any time before the execution of S902. For example, when the information processing device 110 discovers a printer that can be used by the information processing device 110 (e.g., its printer management unit 405), the information processing device 110 may send an information request regarding the printer that can be used by the information processing device 110 when the user opens a screen for instructing printing. Alternatively or in addition to this, the information processing device 110 (e.g., its printer management unit 405) may send an information request regarding a printer that can be used by the information processing device 110 when the user opens a screen for instructing printing.
[0078] S903 is executed when it is determined that the printing device 120A has a data decompression function. In S903, the information processing device 110 (e.g., its print control unit 404) determines whether the format of the print data is to be compressed. If it is determined that the format of the print data is to be compressed ("YES" in S903), the information processing device 110 transitions the process to S904, and otherwise ("NO" in S903) transitions the process to S906.
[0079] The formats to be compressed may be designated in advance by, for example, the manufacturer of the operating system 412 or the print support application 413, and may be stored in the memory of the information processing device 110. Formats with low compression efficiency, such as PDF format and JPEG format, may be designated as not to be compressed, and formats with high compression efficiency, such as text format and raster format, may be designated as not to be compressed. The information processing device 110 may store a list of data formats not to be compressed (e.g., including PDF format and JPEG format), not to compress formats included in this list, and to compress formats not included in this list. Alternatively, the information processing device 110 may store a list of data formats to be compressed (e.g., including raster format and text format), to compress formats included in this list, and not to compress formats not included in this list. By not compressing print data of a specific format in this way, time loss due to compression processing is suppressed.
[0080] The information processing device 110 (for example, the input acquisition unit 401) may acquire, from the user, a designation of the format of the print data to be compressed. With reference to Fig. 10, an example of a screen 1000 displayed on the output device 220 of the information processing device 110 for acquiring, from the user, a designation of the format of the print data to be compressed will be described.
[0081] The screen 1000 includes a plurality of graphical objects 1001 to 1004 for designating whether or not a particular format is to be compressed. For example, the graphical object 1001 is a graphical object for designating whether or not data in PDF format is to be compressed. The user can designate that the PDF format is to be compressed by selecting a button labeled "Compress." On the other hand, the user can designate that the PDF format is not to be compressed by selecting a button labeled "Compress." The information processing device 110 stores the user's designation in a storage (for example, the RAM 202 or the storage device 204) and uses it in the determination of S903.
[0082] S904 is executed when it is determined that the printing device 120A has a data decompression function and that the format of the print data is to be compressed. In S904, the information processing device 110 (for example, its data compression unit 407) generates compressed data by compressing the print data. The information processing device 110 compresses the print data into data in a format that the printing device 120A can decompress and the information processing device 110 can compress. For example, when the printing device 120A can decompress data in zip format and the information processing device 110 can compress the print data into data in zip format, the information processing device 110 may compress the print data into data in zip format. When there are multiple formats that the printing device 120A can decompress and the information processing device 110 can compress, the information processing device 110 may compress the print data into data in one format selected according to some selection criteria (for example, a priority determined in advance). If there is no format that the printing device 120A can decompress and that the information processing device 110 can compress, the information processing device 110 may execute S906 instead of executing S904 and S905.
[0083] In S905, the information processing device 110 (e.g., its print control unit 404) requests printing of the compressed data by the printing device 120A. Specifically, the information processing device 110 transmits a request for printing of the compressed data by the printing device 120A (i.e., the print request of S714) to the print server 130. The print request may include compressed data. By including compressed data instead of print data in the print request in this manner, the data size of the print request is reduced. The print request may be transmitted in a Send-Document Request message defined by IPP. The print request may include an indication of the format of the compressed data (e.g., zip). The format of the compressed data may be specified in a compression attribute of the Send-Document Request message. The inclusion of the compression attribute in the Send-Document Request message indicates that the data included in the print request is compressed data. The format of the print data (i.e., data obtained by decompressing the compressed data) (e.g., raster or text) may be specified in the document-format attribute of the Send-Document Request message.
[0084] S906 is executed when it is not determined that the printing device 120A has a data decompression function or when it is determined that the print data is not to be compressed. This may include a case where it is determined that the printing device 120A does not have a data decompression function and a case where it cannot be determined whether the printing device 120A has a data decompression function. For example, when it is clearly stated in the printer information 411 that the printing device 120A does not have a data decompression function, it may be determined that the printing device 120A does not have a data decompression function. When the printer information 411 does not include information about the printing device 120A (for example, information about the data decompression function), it may not be determined that the printing device 120A has a data decompression function.
[0085] In S906, the information processing device 110 (for example, its print control unit 404) requests printing of the print data by the printing device 120A. Specifically, the information processing device 110 transmits a request for printing of the print data by the printing device 120A (i.e., the print request of S714) to the print server 130. In this case, the information processing device 110 does not request printing of the compressed data by the printing device 120A. The print request may include the print data. The print request may be transmitted by a Send-Document Request message defined by IPP. The fact that the Send-Document Request message does not include a compression attribute indicates that the data included in the print request is not compressed data but print data (i.e., data not compressed by the information processing device 110 at the time of the print request). The document-format attribute of the Send-Document Request message may specify the format of the print data (for example, raster or text).
[0086] In S907, the information processing device 110 (for example, its print control unit 404) judges whether printing based on the print request made in S905 or S906 has been successful. If the information processing device 110 judges that printing has been successful ("YES" in S907), it ends the process, and otherwise ("NO" in S907), it transitions the process to S908. The information processing device 110 may make the judgment in S907 based on a notification sent by the print server 130. This notification may be sent in a Send-Document Response message defined by IPP. If printing of the print data or compressed data has been successful, the printing device 120A may send a Send-Document Response message with a Status-Code attribute value of Successful to the print server 130. The print server 130 may send this message to the information processing device 110. The information processing device 110 may judge that printing has been successful if the value of the Status-Code attribute of the Send-Document Response message is Successful.
[0087] S908 is executed when it is determined that printing based on the print request made in S905 or S906 has failed. The information processing device 110 may determine that printing has failed when a notification from the print server 130 indicates that printing by the print device 120A has failed. When printing of the print data or compressed data has failed, the print device 120A may send a Send-Document Response message with a Status-Code attribute value other than Successful to the print server 130. For example, when decompression of compressed data has failed, the print device 120A may set the value of the Status-Code attribute to client-error-compression-error. When the format of the print data or compressed data is not a printable format, the print device 120A may set the value of the Status-Code attribute to document-format-error. The print server 130 may send this message to the information processing device 110. The information processing device 110 may determine that printing has failed when the value of the Status-Code attribute of the Send-Document Response message is other than Successful. In addition, the information processing device 110 may determine that printing has failed if a notification from the print server 130 is not received within a predetermined time.
[0088] S908 is executed when it is determined that the printing device 120A has failed to print the print data or the compressed data. In S908, the information processing device 110 (for example, its format conversion unit 406) generates new print data by converting the format of the print data. After that, the information processing device 110 processes this new print data. The format of the new print data is selected from the formats of data printable by the printing device 120A. As described above, the formats of data printable by the printing device 120A are included in the printer information 411. For example, when the format of the print data designated by the user is the PDF format and the printing device 120A is capable of printing data in a raster format, the information processing device 110 may convert the print data in the PDF format into print data in a raster format. When there are multiple other formats printable by the printing device 120A, the information processing device 110 may convert the print data into data in one format selected by some selection criterion (for example, a priority determined in advance). When there are no other formats printable by the printing device 120A, the information processing device 110 may end the process. At this time, the information processing apparatus 110 may notify the user that the printing has failed.
[0089] After S908, the information processing device 110 executes the processes from S902 onwards for the new print data (i.e., print data whose format has been converted). If it is determined that the printing device 120A has a data decompression function and that the format of the new print data is to be compressed, the information processing device 110 generates new compressed data in S904 and requests printing of this compressed data in S905. If it is determined that the printing device 120A does not have a data decompression function or that the format of the new print data is not to be compressed, the information processing device 110 requests printing of the new print data in S905.
[0090] For example, assume that the format of the print data specified by the user is PDF format. Since PDF format is not a compression target, the information processing device 110 transmits the print data in PDF format to the print server 130 in S906. Then, assume that the printing device 120A fails to print the print data in PDF format. In response to this failure, the information processing device 110 converts the print data to a format other than PDF format (here, raster format) in S908, and executes the processes from S902 onwards with this raster format print data as the processing target. Since the raster format is a compression target, the information processing device 110 generates compressed data by compressing the raster format print data in S904, and transmits this compressed data to the print server 130 in S905.
[0091] By requesting printing again in this manner, it is possible to prevent the print request from ending in an error. Furthermore, by resending print data in a different format (i.e., print data in a format different from the initially requested print data) when decoding fails, it is possible to prevent the decoding from failing again. Furthermore, by determining again whether the print data is subject to compression when resending the print data, the amount of data in the print request at the time of resending is reduced. The information processing device 110 may resend the print data without the involvement of the user.
[0092] In the method of FIG. 9, the information processing device 110 transmits the print data designated by the user to the print server 130 without converting the format, and converts the format of the print data in S908 when the printing device 120A fails to print the print data. Alternatively, the information processing device 110 may determine whether the format of the print data designated by the user is printable by the printing device 120A between S901 and S902. When the information processing device 110 determines that the format of the print data designated by the user is printable by the printing device 120A, it may execute the process from S902 onwards for the print data. When the information processing device 110 determines that the format of the print data designated by the user is not printable by the printing device 120A, it may convert the format of the print data into a format printable by the printing device 120A by performing the same process as S908. Thereafter, the information processing device 110 may execute the process from S902 onwards for the new print data whose format has been converted as the processing target. In this manner, by verifying which formats printing device 120A can execute before making the first print request, the likelihood of printing failure may be reduced.
[0093] 9, the determination in S902 may be omitted. In this case, the information processing device 110 may transition to S903 after executing S901. If the printing device 120A does not have a data decompression function, a failure in printing the compressed data is notified, so that "NO" is determined in S907, and the print data or compressed data is resent in the following S905 or S906.
[0094] [Overall process sequence for local printing] The overall processing sequence for performing local printing will be described with reference to Fig. 11. The example of Fig. 11 deals with a case where the information processing device 110 submits a print job to the printing device 120B connected to the same network (i.e., the LAN 101) as the information processing device 110. The communication between the information processing device 110 and the printing device 120B may be performed using IPP. The communication between the information processing device 110 and the printing device 120B is performed within the LAN 101 and does not go through the wide area network 103.
[0095] In S1101, the printer management unit 405 of the information processing device 110 transmits a printer search request to the network (i.e., the LAN 101) to which the information processing device 110 is connected, in accordance with an instruction from the user of the information processing device 110. This printer search request may be performed by broadcasting to the LAN 101.
[0096] In S1102, the LP control unit 608 of the printing device 120B responds to the printer search request by transmitting a printer search response to the information processing device 110. The printer search response may include an Internet Protocol (IP) address of the printing device 120B. The printer management unit 405 of the information processing device 110 stores the IP address of the printing device 120B that transmitted the printer search response in the storage control unit 410 as a part of the printer information 411. In addition, the information output unit 402 of the information processing device 110 may present a list of discovered printing devices to the user.
[0097] In S1103, the printer management unit 405 of the information processing device 110 transmits an information request to the printing device 120B. The information request may be a request for information about the printing device 120B. The information request may be transmitted in a Get-Printer-Attributes Request message defined by IPP.
[0098] In S1104, in response to receiving the information request from the information processing device 110, the printer management unit 606 of the printing device 120B transmits an information response to the information processing device 110. The information response includes the printer attributes of the printing device 120B (for example, the printer attributes 800 in FIG. 8). The printer management unit 405 of the information processing device 110 updates the printer information 411 based on the information response. The information response may be transmitted in a Get-Printer-Attributes Response message defined by IPP.
[0099] In S1105, the print control unit 404 of the information processing device 110 transmits a print request to the printing device 120B in accordance with an instruction from the user of the information processing device 110. The print request includes a print job. The print job may include print data and print settings. The print request may be a request to the printing device 120B to print the print data included in the print request.
[0100] In S1106, the LP control unit 608 of the printing apparatus 120B executes printing according to the received print job. The LP control unit 608 of the printing apparatus 120B transmits the result of the printing to the information processing apparatus 110 as a print response.
[0101] [Operation flow when an information processing device requests printing in local printing] A control method for controlling the information processing device 110 so that the information processing device 110 executes a process for requesting printing in local printing may be the same as the method in Fig. 9, and therefore a duplicated description will be omitted. In local printing, the information processing device 110 transmits a print request to the printing device 120B instead of to the print server 130 in S905 and S906.
[0102] <Other embodiments> The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0103] <Summary of the embodiment> [Item 1] An information processing device, An acquisition means for acquiring, from a user, a designation of print data to be printed by the printing device; a compression unit that generates compressed data by compressing the print data when the format of the print data is a target for compression; An information processing device comprising: a request means for requesting the printing device to print the compressed data when the format of the print data is to be compressed, and for requesting the printing device to print the print data when the format of the print data is not to be compressed. [Item 2] a conversion unit that converts a format of the print data to generate second print data when the printing device fails to print the print data or the compressed data, the compression means further generates second compressed data by compressing the second print data when the format of the second print data is a compression target; The information processing device described in item 1, wherein the request means further requests the printing device to print the second compressed data if the format of the second print data is to be compressed, and further requests the printing device to print the second print data if the format of the second print data is not to be compressed. [Item 3] 3. The information processing apparatus according to item 1 or 2, wherein the acquisition unit further acquires from the user a designation of a format of the print data to be compressed. [Item 4] A determination means for determining a format that the printing device can print; a conversion unit that generates third print data by converting a format of the print data into a format printable by the printing device when the format of the print data is not printable by the printing device, the request means requests printing of the print data or the compressed data by the printing device when the format of the print data is printable by the printing device; the compression means generates third compressed data by compressing the third print data when the format of the third print data is a target for compression; An information processing device described in any one of items 1 to 3, wherein the request means requests the printing device to print the third compressed data if the format of the third print data is to be compressed, and requests the printing device to print the third print data if the format of the third print data is not to be compressed. [Item 5] The printing device further includes a determination unit for determining whether the printing device has a data decompression function, The information processing device according to any one of items 1 to 4, wherein the request means requests the printing device to print the compressed data when it is determined that the printing device has the data decompression function and the format of the printing data is to be compressed. [Item 6] 6. The information processing device according to item 5, wherein the request means, when it is not determined that the printing device has the data decompression function, does not request the printing device to print the compressed data, but requests the printing device to print the print data. [Item 7] 7. The information processing device according to any one of items 1 to 6, wherein a request for printing the print data or the compressed data by the printing device is made using a message defined by the Internet Printing Protocol (IPP). [Item 8] 8. The information processing device according to any one of claims 1 to 7, wherein the request unit transmits a request for printing the print data or the compressed data by the printing device to the printing device. [Item 9] the information processing device is capable of communicating with a print server through a wide area network; 8. The information processing device according to any one of claims 1 to 7, wherein the request unit transmits a request for printing the print data or the compressed data by the printing device to the print server. [Item 10] A program for causing a computer to function as each of the means of the information processing device according to any one of items 1 to 9. [Item 11] A method for controlling an information processing device, comprising: An acquisition means acquires from a user a designation of print data to be printed by the printing device; a compression unit that generates compressed data by compressing the print data when the format of the print data is a target for compression; A control method comprising: a request means for requesting printing of the compressed data by the printing device when the format of the print data is to be compressed, and a step for requesting printing of the print data by the printing device when the format of the print data is not to be compressed.
[0104] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0105] 110 information processing device, 120A printing device, 120B printing device, 130 print server
Claims
1. An information processing device, A means for obtaining the specification of print data to be printed by the printing device from the user, When the format of the print data is subject to compression, a compression means generates compressed data by compressing the print data, An information processing apparatus comprising: request means for requesting the printing device to print the compressed data when the format of the print data is subject to compression, and requesting the printing device to print the print data when the format of the print data is not subject to compression.
2. The printing device further comprises a conversion means for generating second print data by converting the format of the print data if the printing device fails to print the print data or the compressed data. The compression means, when the format of the second print data is subject to compression, further generates a second compressed data by compressing the second print data. The information processing apparatus according to claim 1, wherein the request means further requests the printing device to print the second compressed data when the format of the second print data is subject to compression, and further requests the printing device to print the second print data when the format of the second print data is not subject to compression.
3. The information processing apparatus according to claim 1, wherein the acquisition means further acquires from the user the format of the print data to be compressed.
4. The printing device includes a means for identifying the format that can be printed, The system further comprises a conversion means for generating a third print data by converting the format of the print data to a format that can be printed by the printing device if the format of the print data is not printable by the printing device, The requesting means requests the printing device to print the print data or the compressed data if the format of the print data is printable by the printing device. The compression means generates third compressed data by compressing the third print data when the format of the third print data is to be compressed. The information processing apparatus according to claim 1, wherein the request means requests the printing device to print the third compressed data when the format of the third print data is subject to compression, and requests the printing device to print the third print data when the format of the third print data is not subject to compression.
5. The printing device further comprises a determination means for determining whether or not it has a data decompression function. The information processing apparatus according to claim 1, wherein the request means requests the printing device to print the compressed data when it is determined that the printing device has the data decompression function and the format of the print data is subject to compression.
6. The information processing apparatus according to claim 5, wherein the request means, when it is determined that the printing device does not have the data decompression function, does not request the printing of the compressed data by the printing device, but requests the printing of the print data by the printing device.
7. The information processing apparatus according to claim 1, wherein a request for printing of the print data or compressed data by the printing device is made using a message defined in the Internet Printing Protocol (IPP).
8. The information processing apparatus according to claim 1, wherein the request means transmits a request to the printing apparatus for printing the print data or the compressed data.
9. The aforementioned information processing device is capable of communicating with a print server via a wide-area network. The information processing apparatus according to claim 1, wherein the request means transmits a request to the print server for the printing device to print the print data or the compressed data.
10. A program for causing a computer to function as one of the means of an information processing device according to any one of claims 1 to 9.
11. A method for controlling an information processing device, The acquisition method involves a process of obtaining the specification of print data to be printed by the printing device from the user, The compression means includes the step of generating compressed data by compressing the print data when the format of the print data is to be compressed, A control method comprising the steps of: requesting the printing device to print the compressed data when the format of the print data is subject to compression; and requesting the printing device to print the print data when the format of the print data is not subject to compression.