Printing system and control method to generate a print job from a mobile device

A terminal apparatus downloads a file from a file server, generates a print job using the downloaded file, and transmits the generated print job toward an MFP. In the terminal apparatus, an application for downloading the file to be printed from the file server (a first application) accepts input of information which specifies the file to be downloaded, and thereafter initiates an application for transmitting the print job toward the MFP (a second application). After the second application accepts input of print setting, the first application starts download of the file.

This application is based on Japanese Patent Application No. 2014-010437 filed with the Japan Patent Office on Jan. 23, 2014, the entire content of which is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information terminal, a printing system, a control method for a printing system, and a storage medium. In particular, the present invention relates to an information terminal for outputting a printing instruction to an image formation device, a printing system including the information terminal, a control method for the printing system including the information terminal, and a storage medium.

2. Description of the Related Art

Systems which print printing data generated by using a mobile terminal as an example of an information terminal, through a network, have been known (Japanese Laid-Open Patent Publication No. 2006-185009). For example, it has been disclosed that, in a case where plural pieces of software configure a workflow and processing of a piece of software cannot be performed in the workflow, the processing of the piece of software is temporarily stopped, as described in Japanese National Patent Publication No. 2009-522647. However, a mobile terminal may have limitations in the processing ability of a CPU (Central Processing Unit) and the capacity of a memory. Thus, unlike a personal computer, it may be impossible for a mobile terminal to establish a large-scale print application, that is, to install and use a large-scale print application.

On the other hand, also in MFP (Multi-Functional Peripheral) applications for mobile terminals, for example, multi-functionality such as pull-print capability is required.

When the function of an application is expanded, it is common to redistribute the application having an additional function. In order to suppress bloating of an application, it is useful to configure a print application for a mobile terminal as a combination of a basic function (cooperation source) application and an expanded function (cooperation destination) application, that is, as a combination of a plurality of applications.

Various functions can be added to an MFP application for a mobile terminal by changing a cooperation destination application. However, it may be impossible for a cooperation source application and a cooperation destination application to perform processing simultaneously, due to limitations of a mobile OS (Operation System). In such a case, the cooperation source application performs a portion of processing, then passes required data to the cooperation destination application and is terminated, and thereafter the cooperation destination application is initiated and takes over the processing.

In the MFP application for a mobile terminal, when a file to be processed is downloaded from an external server, an application which is performing the download cannot be terminated until the download of the file is completed, due to limitations of the OS in the mobile terminal. This is because, if the application is terminated, the download itself is interrupted.

Accordingly, when download of a file is instructed to the cooperation source application, a user cannot move on to an operation for next processing (such as transmission of the file to be downloaded to an MFP) until the download is completed. Thus, the mobile terminal has had a problem in terms of operability.

More specifically, there have been cases where, even when a file to be printed has been determined and the contents of the file do not have to be confirmed, the user cannot perform a next operation (such as selection of a printer, printing setting, and the like) on the cooperation destination application until the download is completed, that is, until the mobile terminal acquires the file, and the user has to wait for a longer time.

SUMMARY OF THE INVENTION

The present disclosure has been made in view of such circumstances, and one object of the present disclosure is to further shorten a user's waiting time for downloading a file.

According to an aspect of the present disclosure, provided is an information terminal including an execution unit for executing a first application for downloading a file and a second application for transmitting a print job including the file downloaded by the first application toward an image formation device, wherein the second application is executed by being invoked by the first application, and is in a suspended state when the first application is executed, and the first application is in a suspended state when the second application is executed, the information terminal further including a memory for storing data used for the first application and data used for the second application, wherein the first application accepts input of first data which is information specifying the file to be downloaded, stores the first data in the memory, invokes the second application, and shifts to the suspended state before starting download processing of the file specified by the first data and after invoking the second application, when the second application is invoked by the first application, the second application accepts input of second data which is information for print setting for the file specified by the first data, stores the second data in the memory, invokes the first application, and thereafter shifts to the suspended state, and, when the first application is invoked by the second application, the first application starts download of the file specified by the first data.

Preferably, when download of the first data is completed, the first application invokes the second application, and, when the second application is invoked by the first application after the download of the first data is completed, the second application generates a print job for the file specified by the first data using the second data, and transmits the print job to the image formation device.

Preferably, at least one of processing for indicating that the first application is performing the download of the file specified by the first data and processing for indicating that the second application is transmitting the print job for the file specified by the first data to the image formation device is performed.

Preferably, when the download of the first data has an error, the first application is terminated without invoking the second application.

Preferably, information specifying the second application is stored in the memory, wherein the first application invokes an application specified by the information stored in the memory, as the second application.

According to another aspect of the present disclosure, provided is a printing system including a printer and an information terminal for transmitting a print job toward the printer, the information terminal including an execution unit for executing a first application for downloading a file and a second application for transmitting the print job including the file downloaded by the first application toward an image formation device, wherein the second application is executed by being invoked by the first application, and is in a suspended state when the first application is executed, and the first application is in a suspended state when the second application is executed, the information terminal further including a memory for storing data used for the first application and data used for the second application, wherein the first application accepts input of first data which is information specifying the file to be downloaded, stores the first data in the memory, invokes the second application, and shifts to the suspended state before starting download processing of the file specified by the first data and after invoking the second application, when the second application is invoked by the first application, the second application accepts input of second data which is information for print setting for the file specified by the first data, stores the second data in the memory, invokes the first application, and thereafter shifts to the suspended state, and, when the first application is invoked by the second application, the first application starts download of the file specified by the first data.

According to still another aspect of the present disclosure, provided is a control method for a printing system including a printer and an information terminal for transmitting a print job toward the printer, executed by a computer of the information terminal, the computer including a memory, the control method including the steps of executing a first application for downloading a file, and executing a second application for transmitting the print job including the file downloaded by the first application toward an image formation device, wherein the second application is executed by being invoked by the first application, and is in a suspended state when the first application is executed, the first application is in a suspended state when the second application is executed, the first application accepts input of first data which is information specifying the file to be downloaded, stores the first data in the memory, invokes the second application, and shifts to the suspended state before starting download processing of the file specified by the first data and after invoking the second application, when the second application is invoked by the first application, the second application accepts input of second data which is information for print setting for the file specified by the first data, stores the second data in the memory, invokes the first application, and thereafter shifts to the suspended state, and, when the first application is invoked by the second application, the first application starts download of the file specified by the first data.

According to still another aspect of the present disclosure, provided is a non-transitory computer-readable storage medium recording a program to be executed, in a printing system including a printer and an information terminal for transmitting a print job toward the printer, by a computer of the information terminal, wherein the computer includes a memory, the program causes the computer to execute a first application for downloading a file, the first application invokes a second application which is an application for transmitting the print job including the downloaded file toward an image formation device and which is in a suspended state when the first application is executed, the first application is in a suspended state when the second application is executed, and the first application accepts input of first data which is information specifying the file to be downloaded, stores the first data in the memory, invokes the second application, and shifts to the suspended state before starting download processing of the file specified by the first data and after invoking the second application, the suspended state continues at least until the second application accepts input of second data which is information for print setting for the file specified by the first data, stores the second data in the memory, and invokes the first application, and, when the first application is invoked by the second application, the first application starts download of the file specified by the first data.

According to still another aspect of the present disclosure, provided is a non-transitory computer-readable storage medium recording a program to be executed, in a printing system including a printer and an information terminal for transmitting a print job toward the printer, by a computer of the information terminal, wherein the computer includes a memory, the program causes the computer to execute a second application for transmitting the print job including a file downloaded by a first application for downloading the file toward an image formation device, the second application is in a suspended state when the first application is executed, the first application being in a suspended state when the second application is executed, the second application is initiated by being invoked by the first application before start of download of the file specified by first data which is information specifying the file to be downloaded and is stored in the memory, and the second application accepts input of second data which is information for print setting for the file specified by the first data, stores the second data in the memory, invokes the first application to start the download of the file specified by the first data, and thereafter shifts to the suspended state.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, a printing system in accordance with the present invention will be described with reference to the drawings. It is noted that components having the same actions and functions will be designated by the same reference numerals in the drawings, and the description thereof will not be repeated.

[Outline of Configuration of Printing System]

FIG. 1is a view for illustrating an outline of an example of a configuration of a printing system of the present embodiment.

As shown inFIG. 1, the printing system in accordance with the present embodiment includes an MFP100as an example of a printer, a terminal apparatus300as an example of an information terminal, and a file server500. MFP100is communicably connected with terminal apparatus300in a wired or wireless manner. Terminal apparatus300is communicably connected with file server500in a wired or wireless manner.

In the printing system of the present embodiment, terminal apparatus300downloads a file from file server500, generates a print job by using the downloaded file, and transmits the generated print job toward MFP100. In the present embodiment, the transmission toward MFP100is implemented through a print server (not shown). That is, terminal apparatus300transmits the print job to the print server, and the print server transmits the print job to MFP100. It is noted that terminal apparatus300may directly transmit the print job to MFP100.

In terminal apparatus300, an application for downloading the file to be printed from file server500(a first application), and an application for transmitting the print job toward MFP100(a second application) are installed.

It is noted that, in the printing system of the present embodiment, the first application accepts input of information which specifies the file to be downloaded, and thereafter initiates the second application. Then, the first application waits for the second application to accept input of print setting, and thereafter starts download of the file specified by the above information. That is, after the first application accepts the input of the above information, the first application suspends download processing until the input of the print setting to the second application is completed.

FIG. 2is a view showing an example of hardware configurations of MFP100and terminal apparatus300.

As shown inFIG. 2, MFP100includes a CPU (Central Processing Unit)10for controlling the entire device, a ROM (Read Only Memory)11as a memory for storing programs and the like executed by CPU10, a RAM12as a memory serving as a working area when CPU10executes a program and the like, an HDD (Hard Disk Drive)13as a memory for storing image data and the like, a printer14, a scanner15, an operation panel16, and a communication controller17for controlling communication with terminal apparatus300.

Terminal apparatus300includes a CPU30for controlling the entire apparatus, a ROM31as a memory for storing programs and the like executed by CPU30, a RAM32as a memory storing various types of data and serving as a working area when CPU30executes a program, a display33, an input device34such as a button, a communication controller35for controlling communication with MFP100, a GPS sensor36for acquiring positional information, a gyro sensor37for detecting a rotation angle of terminal apparatus300and the like, and a magnetic sensor38for detecting strength of a magnetic field for detection of approach of an object and the like.

FIG. 3is a view showing an example of a functional configuration of terminal apparatus300.

As shown inFIG. 3, in terminal apparatus300, an OS (Operating System)3000as a basic program, a first application3100, and a second application3200are installed. These programs are stored in ROM31, for example. In terminal apparatus300, CPU30executes OS3000, first application3100, and second application3200. In the drawings such asFIG. 3, the “application” is abbreviated as an “APP” as appropriate.

It is noted that at least one of OS3000, first application3100, and second application3200may be installed by being downloaded to terminal apparatus300through a network, or by reading a program from a removable storage medium into terminal apparatus300, after shipment of terminal apparatus300.

Terminal apparatus300further includes a first storage unit3110for storing information which specifies a file to be downloaded by first application3100(hereinafter referred to as “file-specifying information”), a file storage unit3120for storing the file downloaded by first application3100, and a second storage unit3210for storing information based on which second application3200generates a print job (hereinafter referred to as “job-setting information”). First storage unit3110, file storage unit3120, and second storage unit3210are formed by RAM32, for example.

Terminal apparatus300also includes a setting information storage unit3300for storing information for specifying second application3200(hereinafter referred to as “application-specifying information”). Setting information storage unit3300is formed by RAM32, for example.

FIG. 4is a flowchart of processing performed by the first application and the second application in terminal apparatus300. Processing of the first application is shown on the left side ofFIG. 4. Processing of the second application is shown on the right side ofFIG. 4. Referring toFIG. 4, a flow of processing for downloading a file and generating a print job in terminal apparatus300will be described.

In terminal apparatus300, first, the first application is initiated in step S100. The first application is initiated for example by inputting an instruction to initiate the first application, to input device34. Thereby, CPU30executes the first application.

In the present specification, to clarify the relation between the executed application and the realized control, the control executed by CPU30executing an application may be described as the control executed by the application.

Next, in step S102, the first application connects to a cloud server (an example of a server on a network).

Next, in step S104, the first application accepts designation of the address and the file name of a file to be printed. In the present embodiment, information which designates the address of the file to be printed and information which designates the file name of the file to be printed are examples of the file-specifying information described above.

The first application receives the information which designates the address of the file to be printed and the information which designates the file name of the file to be printed, for example through input device34. A more specific description will be given with reference toFIGS. 5 and 6.FIGS. 5 and 6are views showing examples of screens displayed on display33.

A default storage area in the cloud server is set in the first application. A screen390ofFIG. 5shows a list of files stored in the default storage area. More specifically, screen390ofFIG. 5includes icons321,322indicating two files, respectively, stored in the storage area. InFIG. 5, icons321,322are displayed in grayout. Further, screen390includes a button311for determining designation of a file to be printed.

A user inputs, to input device34, information which designates at least one of the files displayed on screen390. Thereby, as shown inFIG. 6, the icon corresponding to the designated file (icon321) is displayed brightly (i.e., grayout is canceled) on screen390.

Then, when the user further inputs information which designates button311to input device34, the first application receives information which designates the address and the file name of the file corresponding to icon321.

Returning toFIG. 4, in step S106, the first application stores the information which designates the address and the file name of the file to be printed (file-specifying information) whose input has been accepted in step S104, in first storage unit3110(seeFIG. 3).

Next, in step S108, (when the file set to be printed is not a file stored in terminal apparatus300, but a file stored outside terminal apparatus300, such as a file stored in the cloud server,) the first application sets information which postpones download processing of the file specified by the file-specifying information.

Next, in step S110, the first application selects and initiates a cooperation destination application. The cooperation destination application is selected, for example, based on information stored in setting information storage unit3300. It is noted that, in step S110, the first application may accept input of information for selecting the cooperation destination application, through input device34. Further, at the initiation, the first application transmits information indicating that the download processing of the file has been postponed, to the second application. In the present specification, “initiating” the second application by the first application is also referred to as “invoking”.

After initiating the second application in step S110, the first application causes setting information storage unit3300and the like to store the name of the cooperation destination application in step S112, and thereafter enters a suspended state in step S114. That is, as the cooperation destination application (the second application) is initiated in step S110, the application to be executed by CPU30is switched from the first application to the second application, and the first application (a cooperation source application) is suspended.

After being initiated in step S200, the second application accepts input of print setting in step S202.FIG. 7is an example of a screen displayed on display33to accept input of print setting.

A screen391shown inFIG. 7includes a window351for setting a print server which is a transmission destination of a print job, a window352for setting various printing conditions such as the number of copies to be printed, a window353for setting a printing range in a file, and a printing button354operated when the input of print setting is completed. The user can input setting details and the like to screen391, by operating input device34. In window351, characters “PRINT MANAGER”, which are information specifying one print server, are indicated.

It is noted that, when the second application is designed to allow the user to select a printer from printers associated with the set print server, the screen displayed on the display may shift to a screen for setting a printer.FIG. 8is a view showing an example of the screen for setting a printer. A screen380ofFIG. 8is displayed on display33, for example, by an operation on window351of screen391ofFIG. 7, or the like.

Screen380ofFIG. 8includes icons381,382each indicating information for specifying each of the printers associated with the print server set in window351, and a button389for determining selection of a printer in screen380. Icon381indicates characters “PRINTER (1)” for specifying one printer. Icon382indicates characters “PRINTER (2)” for specifying another printer. The user can set a printer by operating either one of icons381,382and thereafter operating button389. When button389is operated, the display on display33returns to screen391ofFIG. 7.

Returning toFIG. 4, after accepting the input of print setting in step S202, the second application causes second storage unit3210(seeFIG. 3) to store details of the input print setting in step S204.

Next, in step S206, the second application waits until an operation is performed on printing button354(seeFIG. 7), and when the second application determines that the operation has been performed, it advances the control to step S208.

In step S208, the second application determines whether or not the download processing has been postponed in the first application. The determination is made, for example, based on whether or not the second application has received, from the first application, the information that the download processing of the file has been postponed, at the initiation in step S110. Then, when the second application determines that the download processing has been postponed (YES in step S208), it advances the control to step S210, and when the second application determines that the download processing has not been postponed (NO in step S208), it advances the control to step S212.

In step S210, the second application initiates the cooperation source application (the first application). Thereby, the application to be executed by CPU30is switched from the second application to the first application. Thereafter, the second application enters a suspended state in step S212. In the present specification, “initiating” the first application by the second application is also referred to as “invoking”.

In step S116, the first application initiates a unit of the download of the file in the first application.

Next, in step S118, the first application determines whether or not the download of the file has been postponed in step S110. Then, when the first application determines that the download of the file has been postponed (YES in step S118), it advances the control to step S120, and when the first application determines that the download of the file has not been postponed (NO in step S118), it terminates the control shown inFIG. 4.

In step S120, the first application indicates, on display33, that the download is being processed.FIG. 9is a view showing an example of an indication indicating that the download is being processed. In a screen390ofFIG. 9, a window361indicating that the download is being processed is added to screen390ofFIG. 6.

Returning toFIG. 4, after the indication that the download is being processed is started in step S120, the first application reads out, in step S122, the file whose information has been stored in step S106.

Then, in step S124, the first application starts the download of the file whose information has been read out in step S122.

Next, in step S126, the first application determines whether or not the download of the file started in step S124has been completed. Then, when the first application determines that the download has not been completed (NO in step S126), it advances the control to step S128, and when the first application determines that the download has been completed (YES in step S126), it advances the control to step S134.

In step S128, the first application determines whether or not the download of the file has failed due to timeout or the like. Then, when the first application determines that the download has not failed (NO in step S128), it returns the control to step S126, and when the first application determines that the download has failed (YES in step S128), it advances the control to step S130.

In step S130, the first application terminates the indication that the download is being processed indicated in step S120, and advances the control to step S132.

In step S132, the first application causes display33to indicate that the download has an error, and terminates the processing ofFIG. 4. Thereby, the processing ofFIG. 4is terminated without initiating the second application again.

In step S134, the first application invokes (for example, the name of) the cooperation destination application stored in step S112.

It is noted that, in step S134, the first application switches the display on display33to a preview of the downloaded file.FIG. 10is a view showing an example of a screen including a preview of the downloaded file. A screen394shown inFIG. 10includes a preview362of the downloaded file.

Next, in step S136, the first application initiates the cooperation destination application (the second application), and transmits the downloaded file to the cooperation destination application. As the cooperation destination application (the second application) is initiated, the application to be executed by CPU30is switched from the first application to the second application. Thereby, the first application enters a suspended state in step S138.

The second application is initiated in step S214, based on an instruction for initiation from the first application in step S136.

Next, in step S216, the second application reads out the file transmitted from the cooperation source application (the first application).

Next, in step S218, the second application reads out the details of the print setting stored in second storage unit3210in step S204.

Next, in step S220, the second application generates a print job for the file read out in step S216based on the details of the print setting read out in step S218, transmits the print job to the print server, and terminates the processing. It is noted that the second application initiates the first application simultaneously with the transmission of the print job. Thereby, the application to be executed by CPU30is switched from the second application to the first application.

Based on an instruction in step S220, the first application is initiated in step S140. At the initiation, the first application may cause display33to display information indicating that the print job for the file is being transmitted.FIG. 11is a view showing an example of a screen which displays information indicating that the print job for the file is being transmitted.

A screen395shown inFIG. 11includes, in addition to preview362shown inFIG. 10, a window363indicating that the print job is being transmitted.

Returning toFIG. 4, after being initiated in step S140, the first application waits until the transmission of the print job is completed. Then, when the transmission of the print job is completed, the first application terminates, in step S142, the indication indicating that the print job is being transmitted (window363), and terminates the processing shown inFIG. 4. Thereby, the display on display33returns to screen394shown inFIG. 10.

According to the present disclosure, download of a file by the first application is performed after the second application accepts print setting for the file. Therefore, when a file to be printed has been determined and the contents of the file do not have to be confirmed, the user can perform a next operation (such as selection of a printer, printing setting, and the like) on the cooperation destination application (the second application) without waiting for completion of the download of the file.