Terminal device that selectively displays identification information designation screens

A computer readable device storing instructions configured to be executed by a control unit of a terminal device, the instructions, when executed by the control unit, may cause the control unit to function as a display controlling module, an identification information acquiring module and a supplying module. The display controlling module may be configured to cause, upon a user's first operation on a first file prepared for an application software installed in the terminal device, a display device to display an identification information designation screen for designating printer identification information so as to identify a printer to perform printing for the first file. The identification information acquiring module may be configured to acquire the printer identification information designated via the identification information designation screen. The supplying module may be configured to supply the printer identification information and first target data for the first file to a server.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to Japanese Patent Application No. 2010-077443, filed on Mar. 30, 2010, the contents of which are hereby incorporated by reference into the present application.

TECHNICAL FIELD

The present specification discloses a terminal device configured to connect with a server.

DESCRIPTION OF RELATED ART

There is a conventional art in which a user designates an IP address of a specific printer and a specific content for causing the specific printer to perform print via a specific screen displayed on a displaying unit of a terminal device. The terminal device sends the IP address of the specific printer and the specific content to a print server. The print server converts the specific content into print data having a format that the specific printer is capable of interpreting. The printer server sends the print data to the specific printer. The specific printer performs printing in accordance with the print data. According to the conventional art described above, the terminal device can cause the specific printer to perform printing without installing a printer driver in the terminal device for converting a print object content into print data

SUMMARY

A user may desire to print a file designated in accordance with an application program (e.g., word-processing software, spreadsheet software, and mailer software of e-mails) installed on a terminal device (e.g., a file performed in accordance with the application program). For example, a known application program causes a screen presenting data included in a print target file to be displayed, causes a menu screen including a print button to be displayed on the screen, and enables the user to operate the print button. Therefore, the user accustomed to using the known application program normally desires printing of the print target file designated in accordance with the application program to be performed when an operation in accordance with the same application program (in the example described above, the operation of the print button) is performed.

In the conventional art, the print target content selected via the specific screen of the terminal device is a content outside of the terminal device and is not a content designated in accordance with the application program installed in the terminal device. That is, with the conventional art, no consideration is given to causing a printer to perform printing of a file designated in accordance with the application program in the terminal device.

The present specification discloses an art for performing printing of a print target file without installing a driver program in a terminal device for generating a print data to be processed by a printer. In particular, an art is provided which enables a user to perform, on a print target file designated in accordance with an application program of the terminal device, an operation for print in accordance with the same application program.

The art disclosed in the present specification is a computer readable device. The computer readable device may store instructions configured to be executed by a control unit of a terminal device. The instructions, when executed by the control unit, may cause the control unit to function as a display controlling module, an identification information acquiring module and a supplying module. The display controlling module may be configured to cause, upon a user's first operation on a first file prepared for an application software installed in the terminal device, a display device to display an identification information designation screen for designating printer identification information so as to identify a printer to perform printing for the first file. The identification information acquiring module may be configured to acquire the printer identification information designated via the identification information designation screen. The supplying module may be configured to supply the printer identification information and first target data for the first file to a server.

Moreover, a method, a computer program, and a non-transitory computer readable medium storing the computer program for realizing the terminal device are also novel and useful. A storage unit may be a non-transitory medium, such as static memory, non-volatile memory, volatile memory, a CD, a DVD, a hard drive, a flash drive and so on. Furthermore, the terminal device comprising the controlling device and a network system comprising the terminal device, the server and the printer is novel and useful.

EMBODIMENT

An embodiment will now be described with reference to the drawings. As illustrated inFIG. 1, a network system2comprises a PC10, a server50, and a plurality of printers70,80, and90. The PC10may be portable. The PC10is temporarily connected to a LAN4. The PC10may be connected to the Internet6via the LAN4. The server50is connected to the Internet6. That is, the PC10is connected to and is capable of communicating with the server50via the LAN4and the Internet6. The first printer70and the second printer80are connected to a LAN8different from the LAN4. The first printer70and the second printer80are connected to and are capable of communicating with the server50via the LAN8and the Internet6. The third printer90is connected to the LAN4. The third printer90is connected to and is capable of communicating with the server50via the LAN4and the Internet6. Moreover, “PRI70”, “PRI80”, and “PRI90” respectively indicated in the printers70to90are printer names such as node names of the respective printers70to90.

As illustrated inFIG. 6, from each of the first to third printers70to90, the server50acquires printer relation information and a printer ID200for each printer. The printer relation information includes model information such as model name of the printer, printer name information such as node name information, and location information. The server50includes a printer driver for each printer model, and by acquiring printer model information from each of the first to third printers70to90, the server50is able to determine data format information related to a data format which can be interpreted by each printer. For each of the first to third printers70to90, the server50associates the various types of information (e.g., printer relation information, printer ID, and data format information) acquired from each printer and stores the associated information in a memory in the server50(S202). Moreover, when power is turned on or when printer relation information is modified, each of the printers70to90supply the printer ID and modified printer relation information to the server50. Then, the server50updates the aforementioned various types of information of each printer70to90in the server50.

The PC10comprises an operating unit12, a displaying unit14, a network interface16, a storage unit20, and a controlling unit30. The operating unit12includes a keyboard and a mouse. The displaying unit14is for displaying various information. The network interface16is used by the PC10to establish a wired or wireless connection to the LAN4. The controlling unit30performs various processes in accordance with an application program22and a universal cloud driver24stored in the storage unit20. A display controlling module32, an identification information acquiring module34, a supplying module36, a relation information acquiring module38, and a registering module40are functioned as a result of the controlling unit30performing processes in accordance with the universal cloud driver24.

The storage unit20stores the application program22and the universal cloud driver24to be performed by the controlling unit30. The user may install the application program22and the universal cloud driver24in the PC10. The universal cloud driver24may be installed on the PC10from a computer readable medium storing the universal cloud driver24or from a driver distribution server on the Internet6. In another embodiment, a manufacturer or a provider of the PC10may pre-install the universal cloud driver24in the PC10. Moreover, methods such as installation from the non-transitory computer readable medium or the Internet and installation by the manufacturer or the provider of the PC10may similarly be used for the application program22.

The universal cloud driver24is a driver for converting the print target file (e.g., print object file) into target data (e.g., object data) such as EMF data (Enhanced Metafile Format data) having a format such that the server50is capable of interpreting the converted target data. The server50converts the target data generated by the universal cloud driver24into final print data having a format such that a printer is capable of interpreting the final print data. That is, the universal cloud driver24is not a driver unique to a printer of a specific model, but rather a universal driver which can be used for printing to be performed on printers of various models. The PC10supplies the converted target data to the server50. Then the server50converts the target data into print data having the format such that the target printer is capable of interpreting the print data. While a detailed description will be given later, when a new printer ID27and a printer name28are associated with each other and registered in a printer registering table26, the controlling unit30generates a dedicated cloud driver for the registered printer in accordance with the universal cloud driver24. In the present embodiment, the storage unit20stores a certain cloud driver for the printer PRI70and a certain cloud driver for the printer PRI90in addition to the universal cloud driver24.

The application program22is known application software. For example, the application program22may be text editing software such as word-processing software and spreadsheet software. Alternatively, for example, the application program22may be mailer software for e-mails.

The storage unit20also stores the printer registering table26. The printer ID27and the printer name28are associated with each other and registered in the printer registering table26. In the present embodiment, the printer ID27and the printer name28are associated with each other and registered in the printer registering table26for each of the first printer70and the third printer90.

Next, processes performed by the controlling unit30of the PC10will be described with reference toFIG. 2. The controlling unit30initiates the processes illustrated inFIG. 2when an operation for activating the application program22is performed by the user on the operating unit12. The controlling unit30activates the application program22(S12). The user may operate the application program22and then a file may be displayed in the display unit14. In the example illustrated inFIG. 3, a screen100represented by a file having a file name “AAA” is displayed on the displaying unit14. In the following description, the file with the file name “AAA” will be referred to as the “file AAA”. The screen100includes a display field100afor displaying contents of data of the file AAA and an instruction input field100bfor inputting instructions to perform various commands in accordance with the application program22. The user can edit data of the file AAA displayed in the display field100aby operating the operating unit12in accordance with the application program22.

By further operating the operating unit12, the user can perform a menu selection operation for selecting a “file” menu102in the instruction input field100b. When the “file” menu102is selected by the user, the controlling unit30causes the displaying unit14to display a menu selection screen103in accordance with the application program22. By operating the operating unit12, the user can select one of a plurality of items displayed in the menu selection screen103. Then, the user can perform an item selection operation for selecting a [print] button104displayed in the menu selection screen103. A combination of the menu selection operation and the item selection operation will be referred to as a “print start operation”.

As illustrated inFIG. 2, the controlling unit30monitors whether the print start operation is performed by the user (S14). If the print start operation is performed (YES in S14), the controlling unit30causes the displaying unit14to display a printer designation screen105(S16) shown inFIG. 3in accordance with the application program22. The printer designation screen105includes character strings106indicating one or more printer names28(i.e., “PRI70”, “PRI90”) registered in the printer registering table26and character strings108of “new printer”. The user can perform a printer designation operation for designating the character string106indicating one printer name in the printer designation screen105or the character string108indicating “new printer”.

As illustrated inFIG. 2, the controlling unit30monitors whether the printer designation operation is performed by the user (S18). The controlling unit30determines YES in S18if the user selects the character string108indicating “new printer”. The controlling unit30determines NO in S18if the user selects the character string106indicating one printer name (e.g., “PRI70”) from one or more printer names28registered in the printer registering table26. The controlling unit30proceeds to520if YES in S18, and to S19if NO in S18.

In S19, the controlling unit30activates the dedicated cloud driver of the printer selected by the user and proceeds to S38. While a detailed description will be given later, the dedicated cloud driver activated in S19is generated in S37. In S20, the controlling unit30activates the universal cloud driver24and proceeds to S22. The controlling unit30performs the processes of S22to S40in accordance with the universal cloud driver24. In S22, the display controlling module32causes the displaying unit14to display a printer ID designation screen110as illustrated inFIG. 4(S22). By operating the operating unit12, the user can input a printer ID in a field112of the printer ID designation screen110. In addition, by operating the operating unit12after designating the printer ID, the user can operate an OK button114. Moreover, for example, the printer ID may be adhered to a casing of a printer, and the user may input the printer ID by looking at the printer ID adhered to the printer by which the user desires to perform print.

As illustrated inFIG. 2, when the OK button114is operated by the user, the identification information acquiring module34acquires the printer ID designated by the user (S24). The identification information acquiring module34acquires the printer ID inputted in the field112when the OK button114is operated. Next, the relation information acquiring module38supplies the printer ID acquired in S24to the server50(S26).

As illustrated inFIG. 6, upon acquiring the printer ID204supplied from the PC10in S26inFIG. 2, the server50supplies to the PC10printer relation information206(model information, printer name information, and location information) stored in the memory of the server50in association with the printer ID204.

As illustrated inFIG. 2, the relation information acquiring module38acquires the printer relation information206from the server50(S28). Next, as illustrated inFIG. 5, the display controlling module32causes the displaying unit14to display a confirmation screen120(S30).

In the confirmation screen120are displayed character strings corresponding to types of information contained in the printer relation information206acquired in S28. That is, a character string122corresponding to the model information, a character string124corresponding to the printer name information, and a character string126corresponding to the location information are displayed in the confirmation screen120. By viewing the confirmation screen120displayed on the displaying unit14, the user can confirm a printer corresponding to the printer ID inputted in the field112shown inFIG. 4. The confirmation screen120further includes three buttons, namely, a [print] button128, a [register] button130, and a [cancel] button132.

The controlling unit30monitors whether any button of the above three buttons128to132is operated by the user. As illustrated inFIG. 2, the controlling unit30monitors whether or not the [print] button128is operated by the user (S32). If NO in S32, the process proceeds to S34. In534, the controlling unit30monitors whether or not the [register] button130is operated by the user. If NO in S34, that means the [cancel] button132is operated by the user, the display controlling module32closes the confirmation screen120displayed on the display unit14and terminates the process.

If YES in S34, that means, the [register] button130is operated by the user, the registering module40registers a combination of the printer ID acquired in S24and the printer name information among the printer relation information acquired in S28in the printer registering table26(S36). Next, the registering module40generates a dedicated cloud driver for the printer registered in S36(S37). The cloud driver generated in S37is hereinafter referred to as a “specific cloud driver”. The specific cloud driver is activated in S19described above if the printer registered in S36is selected. By performing an operation in accordance with the specific cloud driver, the controlling unit30can identify the printer ID registered in the printer registering table26in combination with the printer name (e.g., “PRI70”) designated in S18. Therefore, the controlling unit30need not perform the processes of S22to S30. After the process of S37is completed, the controlling unit30returns to S32. Moreover, when the processes of S36and S37are being performed, the display controlling module32maintains a state where the confirmation screen120is displayed on the displaying unit14.

On the other hand, if YES in S32, that means the [print] button128is operated by the user, the supplying module36converts data of the file AAA displayed on the displaying unit14into the aforementioned target data (e.g., the object data) in response to a render instruction received from the application program22. When the process of S19is performed (i.e., when the character string106indicating a printer already registered in the printer registering table26is designated in S18), in S38the supplying module36converts the data of the file AAA into target data (e.g., object data) in accordance with the dedicated cloud driver of the printer activated in S19. On the other hand, when the processes of S20to S32are performed (i.e., when the character string108indicating the “new printer” is designated in S18), in S38the supplying module36converts the data of the file AAA into target data (e.g., object data) in accordance with the universal cloud driver24activated in S20.

The process of S40differs in content thereof between a case where the process of S19is performed and a case where the processes of S20to S32are performed. When the process of S19is performed, in S40the supplying module36sends to the server50the printer ID registered in the printer registering table26in combination with the printer name (e.g., “PRI70”) designated in S18and the target data generated in S38in accordance with the dedicated cloud driver of the printer activated in S19. On the other hand, when S20to S32are performed, in S40the supplying module36sends to the server50the printer ID acquired in S24and the target data generated in S38in accordance with the universal cloud driver24activated in S20.

As illustrated inFIG. 6, the server50acquires the printer ID and the target data208supplied from the PC10in540. As described above, the memory of the server50stores, for each of the printers70,80and90, the printer ID and data format information in combination with each other. The data format information may indicate a data format that the printer is capable of interpreting. The server50first identifies data format information associated with the printer ID acquired from the PC10. The server50then converts the target data208acquired from the PC10into print data having a data format indicated by the data format information (S210). Next, the server50stores a combination the generated print data and the printer ID in the memory of the server50.

Each of the printers70,80, and90periodically inquires the server50as to whether or not data to be processed by the printer is stored in the server50(polling212). The polling212includes a printer ID of a printer that is a sending source of the polling212. Upon receiving the polling212, the server50determines whether or not print data combined with the printer ID included in the polling212is stored in the memory of the server50. When a positive result is obtained by the aforementioned determination process, the server50supplies information214indicating “job available” as a response to the polling212to the printer which is the sending source of the polling212. In addition, when a negative result is obtained by the determination process, the server50supplies information indicating “job not available” as a response to the polling212to the printer that is the sending source of the polling212.

Upon acquiring information214indicating “job available”, the printer which is the sending source of the polling212supplies a job request216including the printer's own printer ID to the server50. On the other hand, upon acquiring information indicating “job not available”, the printer which is the sending source of the polling212does not supply a job request216to the server50.

Upon acquiring the job request216, the server50supplies print data218(i.e., the print data generated in S210) associated with the printer ID included in the job request216to the printer which is the sending source of the job request216. Accordingly, the printer which is the sending source of the job request216prints an image represented by the print data218(i.e., an image represented by the file AAA illustrated inFIG. 3) on a print medium (S220).

The present embodiment has been described in detail. When the user performs the print start operation (i.e., the menu selection operation and the item selection operation) and the printer designation operation in accordance with the application program22, the PC10supplies target data (e.g., object data) to the server50in accordance with the universal cloud driver24(refer to S40inFIG. 2). According to the configuration described above, by performing a familiar operation for print (i.e., the print start operation) and subsequently performing an operation according to a screen displayed on the display unit14, the user can have a printer perform printing of the file AAA performed by the application program22(i.e., the file AAA displayed on the displaying unit14).

The server50converts the target data supplied from the PC10into print data having the format which can be interpreted by the printer identified by the printer ID supplied from the PC10(S210inFIG. 6). Therefore, the PC10need not perform the conversion into print data having the format that the printer is capable of interpreting. That is, the PC10need not have a driver program for converting the file AAA, that is the print target, into the final print data.

In addition, the PC10converts the file AAA into the target data (S38) and supplies the target data to the server50(S40). Therefore, the server50need not have an application program corresponding to the file AAA necessary for converting the file AAA into the target data.

The PC10registers in the printer registering table26the combination of the printer ID and the printer relation information (S36). When a printer name of a registered printer is designated in S18, the PC10does not display the printer ID designation screen110. The PC10supplies the printer ID registered in the printer registering table26in combination with the designated printer name to the server50(S50). According to the configuration described above, the user is not required to designate a printer ID when printing is to be performed by a printer already registered in the printer registering table26.

In addition, when a printer name of the registered printer is designated in S18, the PC10does not acquire printer information from the server50and does not display the confirmation screen120. Accordingly, the period of time from the designation of a printer name by the user to the supplying of print data from the PC10to the server50can be reduced.

When the print start operation is performed by the user (YES in S14), the PC10converts the file AAA currently being performed by the application program22into the target data (S38) and supplies the target data to the server50(S40). Therefore, the user is not required to designate the print target file.

If the printer ID acquired in S24is supplied to the server50(S26), the confirmation screen120is displayed on the displaying unit14(S30) before the target data is sent to the server50. According to the configuration described above, the user may confirm the printer relation information206before the printer ID and the target data are supplied to the server50.

Moreover, PC10is an example of the “terminal device”. The printer ID is an example of the “printer identification information”. The file AAA is an example of the “first file” and the “second file”. The print start operation and the operation for selecting the character string108indicating a “new printer” among the printer designation operation are examples of the “first operation”. The operation of the [print] button128on the confirmation screen120by the user is an example of the “second operation”, and the operation of the [register] button130on the confirmation screen120by the user is an example of the “third operation”. The print start operation and the operation for selecting the character string106indicating a registered printer name among the printer designation operation are examples of the “fourth operation”. The printer name information among printer information acquired from the server50is an example of the “specific printer relation information”.

(1) The confirmation screen120need not include the [print] button128. For example, instead of the [print] button128, the confirmation screen120may include a [confirm] button which can be operated by the user. In this case, when the user operates the [confirm] button, the PC10may cause the displaying unit14to display a print instruction screen including a character string which inquires the user for permission to print and a [OK] button which can be operated by the user. When the user operates the [OK] button on the print instruction screen, the PC10may perform the processes of S38and S40inFIG. 2. In the present modification, the operation of the [OK] button on the print instruction screen by the user is an example of the “second operation”.

Similarly, the confirmation screen120need not include the [register] button130. In this case, instead of the [register] button130, the confirmation screen120may include a [confirm] button which can be operated by the user. In this case, when the user operates the [confirm] button, the PC10may cause the displaying unit14to display a registration instruction screen including a character string which inquires the user for permission to register and a registration instruction screen including a [OK] button which can be operated by the user. When the user operates the [OK] button on the registration instruction screen, the PC10may perform the process of S36inFIG. 2. In the present modification, the operation of the [OK] button on the registration instruction screen by the user is an example of the “third operation”.

(2) The PC10may supply the file AAA to the server50instead of converting into the target data. The server50may have a program for converting the file AAA into print data. In the present modification, the file AAA is an example of the “first file”, the “second file”, the “first target data”, and the “second target data”.

(3) The PC10may perform the processes of S38and S40on files other than the file currently being displayed on the displaying unit14. For example, when the user performs the print start operation (S14) in a state where the application program22is being performed but no files are opened, the PC10may display a list of files which can be performed by the application program22on the displaying unit14. The PC10may further allow the user to select a specific file from the files in the list. The PC10may perform the processes of S38and S40on a file designated by the user.

(4) The PC10may be configured to supply only the target data to the server50in S40. In this case, the server50may supply print data to the printer identified by the printer ID supplied from the PC10in S24.

(5) The printer relation information may be information of one or two types among the three types of information described above. Alternatively, the printer information may include information other than the three types of information described above (e.g., an IP address of a printer).

(6) The printer relation information registered in S36may be the entire printer relation information acquired from the server50in S28, or may be location information. The entire printer relation information acquired from the server50in S28may be registered in the printer registering table26and, instead of the character strings106indicating the printer names, all printer relation information i.e., a printer name, a location, and a model name may be displayed. In this manner, by displaying all printer relation information when performing the print start operation, the user can select a printer based on more reliable information as to which printer can be selected without having to display the confirmation screen120.

(7) For registering the printer ID and the printer name information in the printer registering table26, the user may input the printer ID and the printer name information into the PC10by operating the operating unit12. When the printer ID and the printer name information are inputted by the user, the registering module40may register the printer ID and printer name information. In the present modification, the printer ID and the printer name information can be registered without communication between the PC10and the server50.

(8) The art according to the present embodiment can be applied not only to the PC10but also to other terminal devices such as a PDA, a mobile phone, a smart phone and a tablet device.

(9) Instead of generating a dedicated cloud driver for each registered printer, when the print start operation is performed in S14, the controlling unit30may cause the display unit14to display the printer designation screen105(S16) and activate the universal cloud driver24. In addition, in S18the controlling unit30may monitor whether the user performs a printer designation operation in accordance with the universal cloud driver24.

(10) In the foregoing embodiment, each of modules32to40are functioned as a result of the controlling unit30performing the processes according to the universal cloud driver24. Nevertheless, at least one of the modules32to40may alternately be functioned by a hardware resource such as a logic circuit.

(11) The server50may not convert the target data208acquired from the PC10in a case where the target data208acquired from the PC10have already had a data format indicated by the data format information. In the present modification, the target data208acquired from the PC10is an example of the “first target data” and the “first print data”.