WO2010128339A2 - Method and apparatus for printing from a mobile device - Google Patents

Method and apparatus for printing from a mobile device Download PDF

Info

Publication number
WO2010128339A2
WO2010128339A2 PCT/GB2010/050755 GB2010050755W WO2010128339A2 WO 2010128339 A2 WO2010128339 A2 WO 2010128339A2 GB 2010050755 W GB2010050755 W GB 2010050755W WO 2010128339 A2 WO2010128339 A2 WO 2010128339A2
Authority
WO
WIPO (PCT)
Prior art keywords
printer
data
print
output document
capabilities
Prior art date
Application number
PCT/GB2010/050755
Other languages
French (fr)
Other versions
WO2010128339A3 (en
Inventor
Geoffery Hammond Soord
Paul Winwood
Christopher Alan Bearchell
Original Assignee
Software Imaging Group Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Software Imaging Group Limited filed Critical Software Imaging Group Limited
Publication of WO2010128339A2 publication Critical patent/WO2010128339A2/en
Publication of WO2010128339A3 publication Critical patent/WO2010128339A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1214Improving printing performance achieving reduced delay between job submission and print start at the submitting node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces

Definitions

  • the present invention relates to printing from a mobile device.
  • the present invention relates to an efficient method of causing, using a mobile device, a printer to print information that is stored on a server.
  • native format file many different types are used in modern computing. Typically, these may include word processing files, web page files, PDF files and image files such as JPEG, bitmap etc., and may have been created on, or reside on, a computer or portable computer. Alternatively, the files may reside on a server from where they may be transmitted to a user over the Internet.
  • printer driver to convert a native format file into printer-interpretable data for specific printers or groups of printers.
  • functionality for direct printing rendering of the file must be outsourced to some other apparatus.
  • One known approach is to send a file in its native format directly to a printer, with the printer then processing the file into printer-interpretable data.
  • a problem with this approach is that it depends upon the capabilities of the available printer whether or not it is successful. It is possible that a printer which a user desires to use to print a file in a particular native format may not be capable of rendering files in that native format into printer-interpretable data and hence there are significant compatibility problems with this approach.
  • a second known approach is to send a file in its native format to a printer via a proxy, with the proxy processing the file into printer-interpretable data and transmitting the data to the printer (either directly e.g. if the printer is an Internet Printing Protocol 'IPP' printer, or via the mobile phone).
  • a problem with the second approach arises due to the extraneous network traffic involved with transmitting data from a server to a user-selected printer via at least the user's mobile phone and a proxy, and often via the user's mobile phone once more.
  • a purchaser may choose to have the ticket sent as an electronic file, e.g. a PDF file or a JPEG file, to his e-mail address
  • the purchaser may then print the file to a printer.
  • the file that has been e-mailed to the purchaser will be sent in its native format to a printer that is capable of receiving PDF/JPEG files and rendering them into printer interpretable data to be printed.
  • the file that has been e-mailed to the purchaser is sent in its native format to a printer via a proxy, the proxy then rendering the PDF/JPEG file into printer-interpretable data and forwarding the data to the printer.
  • the increased network traffic is likely to be particularly significant in the examples mentioned above because an electronic file that represents a ticket/photograph is large.
  • method of printing an output document comprising: identifying stored data to be incorporated in an output document to be printed; determining the capabilities of a printer selected to be utilised to print the output document; determining a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generating render data suitable for printing by the selected printer for printing an output document including the data corresponding to the identified stored data in the determined format; routing the generated render data to the printer; and printing an output document at the printer using the render data routed to the printer.
  • Generating render data suitable for printing by the selected printer may comprise generating an intermediate document incorporating the identified stored data wherein the format of the intermediate document is determined on the basis of the determined capabilities of a printer selected to be utilised to print the output document; and converting the generated intermediate document into render data suitable for printing by the selected printer.
  • Determining a format for the output document to be printed may comprise: selecting a template for a document on the basis of the determined capabilities of a printer selected to be utilised to print the output document; and incorporating the stored data to be incorporated in an output document to be printed into the template.
  • the method further comprises, before determining the capabilities of a printer selected to be utilised to print a document: invoking at the user device a printer discovery process to discover printers to which the user device can communicate and the properties and capabilities thereof; and selecting, from the discovered printers, the printer to be utilised to print the information.
  • Selecting the printer to be utilised to print a document may comprises: displaying a list of the discovered printers on a display of the mobile device from which a user can select a printer; and receiving user input identifying a selection of a printer from the displayed list.
  • the data to be incorporated in a document may be stored on a remote server and the method may further comprise transmitting, from a user device (1 ) to a remote server, a print request including: an identifier, identifying information to be printed, and printer data identifying the capabilities of the selected printer; wherein said remote server is responsive to receipt of a print request to: determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data suitable for printing by the selected printer for printing an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to a printer for printing.
  • the data identifying information stored at a remote server comprises a web page.
  • the identifier identifying information to be printed comprises an HyperText Transfer Protocol 'HTTP' session ID.
  • the printer data identifying the capabilities of the selected printer comprises a Postscript Printer Description 'PPD' file.
  • the capabilities of the printer could be identified via the inspection of a printer's MIB using the Simple Network Management Protocol 'SNMP'.
  • a printer's capabilities could be identified using a remote procedure call 'RPC from an operating system.
  • a user device comprising: a processor; and a memory storing program code executable by the processor for executing a user print application, wherein when executing the user print application the user device is configured to: identify stored data (3) to be incorporated in an output document to be printed; determine the capabilities of a printer selected to be utilised to print the output document; determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data instructing the selected printer to an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to the printer for printing.
  • a server comprising: a processor; and a memory storing program code executable by the processor for executing a server print application, wherein when executing the server print application the server is configured to: transmit to a user device data identifying data stored at the server; receive from the user device a print request including: an identifier, corresponding to the transmitted data, identifying data stored at the server, and printer data identifying the capabilities of a selected printer; determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data instructing the selected printer to an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to the printer for printing.
  • Figure 1 shows an overview of a system for printing from a mobile device in accordance with a first embodiment of the present invention
  • Figure 2 shows an overview of the dataflow in the systems of Figure 1 ;
  • Figure 3 is a flow diagram showing the steps taken by a user print application of a mobile device in generating a print request
  • Figure 4 is a flow diagram showing the steps taken by a server print application in generating printer-interpretable instructions in response to receiving a print request generated according to the steps of Figure 3;
  • Figure 5 shows an overview of a system for printing from a mobile device in accordance with a second embodiment of the present invention.
  • Figure 6 is a flow diagram of the processing of data undertaken by a mobile device in accordance with a second embodiment of the present invention.
  • a mobile device 1 where a user wishes to cause a printer 2 to print out printable information based on data 3 stored on a remote server 4.
  • the mobile device 1 Stored in the memory of the mobile device 1 are a number of applications 5 that provide standard capabilities including, e.g., Internet browsing, sending and receiving e-mails, WiFi/WLAN (hereafter referred to as WiFi) connectivity and Bluetooth connectivity.
  • the mobile device 1 is arranged to access communications network 6 which in this embodiment comprises an Internet protocol 'IP' network 7 having printers 2 connected thereto.
  • the mobile device 1 has stored thereon a user print application 8.
  • the user print application 8 utilises data in a user print settings 9 stored on the mobile device 1 in order to enable data to be printed out by a printer 2.
  • the communications network 6 includes a mast 10, the Internet 1 1 and one or more devices including printers 2, a gateway server 12, other computers 13, and the remote server 4 connected thereto.
  • the mobile device 1 can be communicably linked via the mast 10 to either the Internet 11 or other mobile devices (not shown in Figure 1 ) for making calls or exchanging data.
  • mobile device 1 can be communicably linked to the IP network 7 via a network access point 14.
  • the IP network 7 has connected thereto a number of personal computers 'PCs' 12, printers 2 and a gateway server 12 via which devices connected to the IP network 7 can connect to the Internet 1 1.
  • the mobile device 1 may be communicably linked to the remote server 4, via IP network 7 or via the mast 10.
  • the data 3 to be printed would be the contents of a specific record in a database of ticket purchases.
  • the mobile device 1 can also be communicably linked to nearby (typically within 10 metres) devices such as printers 2 directly via Bluetooth.
  • the remote server 4 stores in addition to the data 3 which is to be utilized to generate printable output, a server print application 15 and server print settings 16. As will be described in detail later, these server print settings 16 are used by the server print application 15 to generate printer interpretable data from the data 3 stored on the server 4.
  • the mobile device 1 communicates with the remote server 4 over the Internet 11 via the mast 10 and with the printer 2 via Bluetooth transmissions.
  • other methods of communicating may be used e.g. communicating using the IP network 7, the network server 10 and the network access point 14.
  • Figure 2 illustrates the flow of data which occurs when a user of the mobile device 1 has identified some data 3 stored on the remote server 4 and desires to print out information based on the identified data 3. This could occur, when for example a user has visited a website in order to purchase a ticket to a show and has completed the necessary steps to purchase the desired ticket and wishes to print out the ticket. Conventionally at this point in the transaction, the purchaser would select, from a list of ticket-delivery options, to have the ticket e-mailed to him as an electronic file for subsequent printing. Such a ticket may well be specifically tailored for that user (e.g. including the users name and address details) so that the ticket cannot be transferred and used by other people.
  • the data flow shown in Figure 2 provides an alternative ticket-delivery option.
  • the remote server 4 transmits a print prompt 21 to the mobile device 1.
  • the print prompt 21 is data comprising a printable information ID 21 a that identifies the data 3 to be printed.
  • this printable information ID 21 a could be an identifier identifying a record within a database storing the user's ticket request.
  • the print prompt 21 comprises a web page that, when displayed on a display of the mobile device 1 , identifies printable information 3 and includes a selection mechanism such as a button (shown in Figure 2 as a button labelled "print') that facilitates entry of a user input to indicate that the user desires to print the identified information 3.
  • a selection mechanism such as a button (shown in Figure 2 as a button labelled "print') that facilitates entry of a user input to indicate that the user desires to print the identified information 3.
  • Suitable user input may be received via a touch screen, key pad etc., or it may be a received voice command.
  • a print request 22 is sent from the mobile device 1 to the remote server 4.
  • the print request 22 includes a printable information ID 22a and printer data 22b, and is sent over the Internet 11 by the user print application 8 in combination with one or more of the other applications 5.
  • the printable information ID 22a comprises data in a format that is interpretable by the remote server 4 to identify the data 3 which is to be printed.
  • the printer data 22b comprises data interpretable by the server print application 15 which identifies the printing capabilities of the printer 2 to be used to print out the data 3.
  • the mobile device 1 performs a printer discovery operation to identify the properties and capabilities of printers 4 which may be used to print out the selected printable information.
  • a printer discovery operation is a conventional operation which provides the mobile device 1 with information about the capabilities of available printers 4.
  • Typical properties and capabilities which might be identified would include data about the types of print instruction that a printer 2 can understand e.g. the printer driver language or languages that the printer understands such as Postscript or PCL or printer specific languages. Other properties would include whether the printer was able to print colour images or whether the printer was only able to print black and white images and the size of paper e.g. A4 or A5 the printer is designed to handle. Additionally the printer discovery operation might be provided with data about the fonts installed within a particular printer 2.
  • a print request 22 When a print request 22 is to be generated a user is prompted to identify the printer 2 to be utilised so that suitable printer data 22b identifying the capabilities of the selected printer 4 can be included in the print request 22.
  • the remote server 4 proceeds to generate render data 23a to be used by a printer 2 having the capabilities identified by the received printer data 22b to print out an image based on the data 3 identified by the received printable information ID 22a.
  • the remote server 4 utilizes the received printer data 22b to decide upon the formatting of the image to be printed out. Having established the formatting based upon the capabilities of the printer to be utilised, the remote server 4 then accesses the stored data 3 and generates a printable document utilizing the data 3 and the chosen formatting settings. This generated image is then converted into render data 23a of a type understandable to the printer 2 to be used, to print the image.
  • the server print application 15 will initially access the database to retrieve the relevant data 3 for inclusion in the ticket to be printed.
  • relevant data 3 might comprise data identifying the event e.g. the day and time of a performance and seat details, together with personal details for the individual such as name and address details.
  • the server print application 15 then proceeds to generate an intermediate document using the retrieved data and the printer settings 16 which correspond to the printer data 22b for the printer 2 to be utilised.
  • the server print application 3 might select a particular template for a document to be printed based upon whether or not the printer data 22b and the print settings 16 for the identified printer is or is not able to print out colour images.
  • the print server application 16 could chose to format the document to be printed to utilise the installed fonts. In this way the intermediate document is formatted so as to be particularly suitable for output via the identified printer 2.
  • the intermediate document is then converted into render data 23a for the printer 2 being utilised.
  • render data 23a for the identified printable information 3 in the specific printer-interpretable format identified from the printer data 22b has been generated by the server print application 15
  • a print response 23 including the render data 23a is transmitted to the mobile device 1 over the Internet 11.
  • the user print application 8 incorporates the render data 23a in a print job 24 that is transmitted to the specified printer 2.
  • the server print application 15 is able to ensure that the render data 23a is suited for output by the selected printer 2 and also reduce the amount of render data 23a required for a particular print job.
  • generating render data for a black and white print job avoids transmitting extraneous colour instructions.
  • selecting fonts corresponding to those pre-installed on a printer 2 avoids the need for font data to be included in a print job and hence reduces the amount of render data 23a which needs to be transmitted to the printer 2.
  • generating the render data 23a based on the established capabilities of a printer 2 can also ensure that the final output hard copy is suitable for use.
  • formatting render data based on the size of paper a printer 2 can utilise can avoid the output being too small for use.
  • a received print prompt 21 includes a printable information ID 21 a corresponding to data 3 that the user has selected to be included in what is to be printed.
  • the print prompt 21 comprises hypertext markup language 'HTML' code that is interpretable by a web browser on the user mobile device 1 to present on a display of the mobile device 1 information corresponding to the selected data 3.
  • the print prompt 21 also includes means for a mobile device 1 to obtain a user print application 8 in case the mobile device 1 does not have such an application stored thereon. In this embodiment, this would be a hyperlink indicating a location on a server from which a user print application 8 can be obtained.
  • receipt of a user input entered in response to receipt of a print prompt 21 causes the user print application 8 to be called.
  • the user print application 8 then invokes at step s3-1 a printer discovery module.
  • the printer discovery module is part of the user print application 8 in this embodiment, but in other embodiments it may be part of one of the other applications 5 stored on the mobile device 1.
  • the printer discovery module discovers, in a conventional manner, printers 2 with which the mobile device 1 can communicate and the capabilities and properties thereof. In this embodiment the discovery is performed via Bluetooth communication, but in other embodiments it may include discovery of network printers 2 connected to an IP network 7 using WiFi or cabled communication via a network access point 14. In yet another embodiment, the discovery could include discovery of IPP printers connected to the Internet 11.
  • the capabilities and properties of the discovered printers 2 are stored on the mobile device 1 as discovered data 9a in the user print settings 9.
  • the user print application 8 causes to be displayed on a display of the mobile device 1 a list of the discovered printers 2 from which the user can select the printer 2 which he would like to print the selected printable information 3.
  • the list is displayed in the web browser as a new page.
  • the user print application 8 could launch a new graphical user interface to display the list of the discovered printers, or alternatively the user printer settings 7 may indicate a default printer 2 which is automatically selected without requiring the user to select a printer 2 i.e. excluding step s3-2.
  • the user print application 8 Having selected a printer 2, in this embodiment the user print application 8 generates at step s3-3 printer data 22b identifying to the properties and capabilities of the selected printer 2 stored as discovered data 9a in the user print settings 9. As noted previously typical properties and capabilities which might be identified would be the ability to generate colour images, the sizes of paper which can be used and the identification of any fonts pre-installed on the printer 2.
  • a print request 22 is generated and the generated printer data 22b is included therein.
  • the print request also includes a printable information ID 22a.
  • the printable information ID 22a is formatted so as to be interpretable at the remote server 4 to identify the printable information 3 that the user has selected to print.
  • the print request 22 is made in respect of the HTTP session in which printable information 3 was identified by the user, the print request 22 comprising a HTML form including the generated printer data 22b and the printable information ID 22a.
  • the print request 22 could be an e-mail in a conventional format which is sent to an e-mail address associated with the remote server 4.
  • the printable information ID 22a comprises a HTTP session ID.
  • the printable information ID 22a could comprise an IP address or a memory location at which the selected printable information 3 is stored.
  • the generated printer data 22b is formatted to be interpretable at the remote server 4 so the server print application 15 can correctly generate the selected printable information 3 in a format suitable for the selected printer 2.
  • the server print application 15 interprets the printer data 22b included in the received print request 22 and identifies a printer interpretable format in which to generate render data 23a.
  • the printer data 22b identifies the correct printer driver for the selected printer 2.
  • the printer data 22b may additionally, where appropriate, include information to identify the selected printer's capabilities e.g. if the selected printer 2 is a Postscript printer the printer data 22b will include a Postscript Printer Description 'PPD' file to define the entire set of features and capabilities of the selected printer 2.
  • the server print application 15 then identifies a printer interpretable format in which to generate the specified render data 23a based on the received printer data 22b and one or more rules based on the server print settings 16.
  • the server print settings 16 may include one or more entries specifying whether to generate the specified render data 23 as data specific to the selected printer 2 or whether to generate a Postscript or PDF file to represent the selected printable information 3.
  • Other rules that may be used in accordance with an embodiment of the present invention may relate to e.g. colour printing, printing resolution, duplex printing etc.
  • server print application 15 uses the printable information ID 22a included in the received print request 22 to identify the selected printable information 3. In this embodiment, this is achieved by the printable information ID 22a comprising the HTTP session ID and the server print application 15 interpreting and identifying, the selected data 3 that was selected during the identified HTTP session using conventional methods. In other embodiments, the server print application 15 could interpret an I P address or memory location to arrive at a location from which it retrieves the selected printable information 3.
  • the server print application 15 assembles an intermediate document and generates render data 23a for the selected printable information 3.
  • the server print application 15 initially generates an intermediate document incorporating the selected data 3 where the formatting of the intermediate document is based upon the capabilities of the printer 2 as identified by the received printer data 22b.
  • This intermediate document is then converted into render data 23a being a set of print instructions for causing the printer 2 to print the intermediate document which incorporates the selected data where the render data 23a is in a format which is understandable by the printer 2.
  • the selected data 3 is format independent from a user's perspective i.e. the format in which data 3 is stored or printed is not relevant to a user.
  • the assembly of such a document can also ensure that the document includes appropriate ancillary information related to the selected data 3 which may be specific to the individual print request.
  • the server print application 15 might may include in the printed output comprising selected printable information 3 related information such as a specific seat number, instructions/directions or targeted advertising which would be subsequently included in the hard copy output to be printed.
  • the server print application 15 assembles an intermediate document comprising the selected printable information 3 and related ancillary information. This could for example involve incorporating the selected information 3 into a pre-existing template where the template in question was selected on the basis of the capabilities of the printer 2 as identified by the server print application 15.
  • the ancillary information is a pro forma word document template comprising information related to the selected data 3.
  • it may be a word document template defining a pro forma layout of a theatre ticket including a show's name, some advertising text/graphics and/or anti-forging details such as bar codes and the like.
  • assembling s4-3 an intermediate document corresponding to the selected data 3 is performed by selecting the relevant ancillary information stored on the remote server 4 and updating fields within said ancillary information to represent the selected data 3.
  • the pro forma theatre ticket would be updated with the seat number, performance time etc. that was selected by the purchaser.
  • step s4-3 in this embodiment is an intermediate document represented in word format which defines entirely the appearance of the printed output comprising the selected data 3 when printed to the selected printer 2.
  • a template can be selected base upon the identified capabilities of the printer 2.
  • different templates could be provided and utilised dependent upon whether the printer to be used supported colour printing, the size of paper which the printer is arranged to use and the fonts installed on the printer 2.
  • the resultant intermediate document is converted into render data 23a, which is interpretable by the selected printer 2.
  • the conversion is performed in a conventional manner utilising a printer driver, selected based on printer data 22b received included in the print request. That is to say the server invokes a printer driver for the identified printer 2 and the printer driver converts the intermediate document into render data 23a understandable by the identified printer 2.
  • the server print application 15 then generates s4-4 a print response 23 including the generated render data 23a, and outputs the response 23 for forwarding on to the selected printer 2.
  • the generated print response 23 is then transmitted to the mobile device 1 , which incorporates the received render data 24a in a print job 24 which is then sent to the selected printer 2.
  • the render data 24a included in the print job 24 corresponds exactly to the render data 23a included in the print response.
  • the amount of processing which is required to generate the print job 24 is minimal.
  • the render data 24a included in the print job 24 could be varied relative to the render data 23a included in the print response, based on user preferences specified in the user print settings 9.
  • a second embodiment of the present invention will now be described.
  • a system was described where a mobile device 1 interacted with a remote server 4 storing data 3 to be included in hard copy output to be generated by a printer 2.
  • generating hard copy output involved a two-step process where initially the stored data 3 was incorporated into an intermediate document and then the intermediate document was converted into render data 23a.
  • selecting a template for the intermediate document based upon the capabilities of the printer 2 to be used to print out the hard copy enables the content of the render data 23a to be tailored so as to be most suitable for output by the selected printer 2 in terms of the printer's 2 capabilities and enables a print job to be reduced in size as the template can be selected so as to avoid unnecessary instructions having to be included in the render data 23a.
  • Having a two-step process also enables print render data 23a to be generated using existing printer drivers to convert the generated intermediate document into print render data 23a. This is achieved by selecting a common format for the generated intermediate document such as a word document or a PDF format. Where a common format is utilised existing programs can interact with the printer drivers for particular printers to convert an intermediate document into render data 23a for a specific printer 2.
  • FIGS. 5 and 6 are a schematic block diagram of a printing system in accordance with a second embodiment of the present invention and a flow diagram of the processing of data by a mobile device to cause a printer to print out hard copy data.
  • data 20 for printing is stored in a database within a mobile device 1.
  • a modified print application 22 is then also provided and stored on the mobile device 1.
  • the mobile device 1 is arranged to communicate with one or more printers 2 via a communications network including an IP network 7, a mast 10, the internet 1 1 , a gateway server 12, other computers 13 and a network access point 14.
  • the print application 22 performs (s6-1 ) a discovery operation to identify the capabilities of printers 2 that the mobile device 1 can access.
  • This discovery operation causes the print application 22 to receive and store discovered data 9a detailing the capabilities of the available printers 2 including the print languages understood by the printers and other functionality such as fonts installed on the printers 2.
  • the print application receives user input identifying selection of data 20 stored within the mobile device which is to be printed. Examples of such data might include text messages or contacts details stored as database entries within the device 1.
  • the print application 22 Having received an identification of the stored data 20 to be printed, the print application 22 then proceeds (s6-3) to generate render data to print the selected data. More specifically, the print application 22 in this embodiment utilizes the discovered data 9a to determine a template for representing the data and then proceeds to generate render data directly from the template and the stored data 20. Thus for example, where the stored data indicates that a particular printer 2 which is to be utilised is a black and white only printer and has particular fonts installed the print application may choose to utilize a template which causes the selected data to be printed out as black and white copy using the selected font. The print application 22 then generates render data 23a in the form understandable by the selected printer 2 where the language chosen for the render data 23a is based on the discovered data 9a for the printer 2.
  • printer discovery takes place once a transaction has been completed over the course of a HTTP session.
  • the user print application 8 may be operable to invoke a printer discovery process, whether in response to a trigger received from a server or otherwise.
  • the print prompt 21 described above may be sent at any point during a HTTP session, and that the corresponding print request 22 sent in response to receipt of the print prompt 21 may be transmitted at any time thereafter before the HTTP session is completed.
  • a printer's capabilities and properties should be understood to include amongst other things: its maximum printing resolution; whether it supports duplex, colour, draft printing and the like; which, if any, file types it can render; the identity of an appropriate printer driver; whether it is an IPP printer; whether it is operable to receive print jobs by e-mail.
  • Other printer capabilities will be apparent to those skilled in the art and are intended to fall within the scope of the reference to printer capabilities made herein.
  • render data 23a is described as being routed to a printer 2 via the mobile device.
  • the printer 2 is an IPP printer
  • the remote server 4 could send the print response 23 directly to the printer 2 rather than via the mobile device 1. This would have the advantage that the amount of network traffic via the mobile device 1 would be reduced. It will be appreciated that such an embodiment would be applicable not only to IPP printers but any printers where suitable routing information for routing information direct t a printer 2 was available.
  • the render data 23b could be sent directly to the selected printer 2 over the Internet 1 1 using e.g. an HTTP transfer.
  • the selected printer 2 is capable of receiving information to be printed by e-mail
  • the remote server 4 might communicates the print response 23, or the specified render data 23b as an e-mail.
  • intermediate document has been described as being a word document, it will be appreciated that other formats could be utilised for example intermediate documents could be generated so as to be in PDF format prior to being converted into print render data.
  • the embodiments of the invention described herein comprise mobile devices and processes/methods performed in mobile devices.
  • the invention also extends, however, to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of source or object code or in any other form suitable for use in the implementation of the processes according to the invention.
  • the carrier can be any entity or device capable of carrying the program.
  • the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
  • the carrier When a program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
  • the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

A method of printing an output document is disclosed. Initially stored data (3) to be incorporated in an output document to be printed is identified. The capabilities of a printer (2) selected to be utilised to print the output document are then determined. A format for the output document to be printed which is to incorporate the identified stored data (3) is then determined on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document. Render data (23a) suitable for printing by the selected printer (2) for printing an output document including the data corresponding to the identified stored data (3) in the determined format is then generated and the generated render data (23a ) is routed to a printer (2) which prints an output document using the render data (23a).

Description

METHOD AND APPARATUS FOR PRINTING FROM A MOBILE DEVICE
FIELD OF THE INVENTION
The present invention relates to printing from a mobile device. In particular, the present invention relates to an efficient method of causing, using a mobile device, a printer to print information that is stored on a server.
BACKGROUND TO THE INVENTION
Mobile phones have begun to take the place of the personal digital assistant 'PDA'. Traditionally, where users required a range of functions they needed to use a mobile phone in conjunction with portable computers and/or a PDA. Nowadays, with advances in screen technology, e-mail services and Internet connectivity on mobile phones, many of these functions can be achieved using just a phone.
Many different types of native format file are used in modern computing. Typically, these may include word processing files, web page files, PDF files and image files such as JPEG, bitmap etc., and may have been created on, or reside on, a computer or portable computer. Alternatively, the files may reside on a server from where they may be transmitted to a user over the Internet.
Although mobile phone technology has progressed so that it is possible to view many different types of native format directly on the display screen of a mobile phone, it is often still desirable to print files for viewing as hard copy. This can either be because of the display limitations of a mobile phone make a file difficult to view or alternatively a hard copy may be desired for other reasons such as for off-line editing or a file may need to be printed out to be physically handed over to someone else.
Conventionally in the case of a computer or portable computer, when a user wishes to print a file, an application running on the computer generates a file in native format and sends the file in native format to a printer driver installed on the computer. The printer driver translates the file from its native format to printer-interpretable data in a format specific to a particular printer or class of printers. This printer-interpretable data is known as a print job. Once a print job has been created by the computer, it is then transmitted from the computer to a printer in the particular class of printers. When the printer receives the print job, the printer interprets the data included in the print job and prints a copy of the document. Compared with desktop or portable computers, mobile devices have considerable resource constraints with respect to storage capacity, processing speed and available power. Consequently, mobile device vendors do not ordinarily include in mobile phones a printer driver, to convert a native format file into printer-interpretable data for specific printers or groups of printers. Thus, in order to print a file from a mobile phone, unless functionality for direct printing is provided rendering of the file must be outsourced to some other apparatus. One known approach is to send a file in its native format directly to a printer, with the printer then processing the file into printer-interpretable data.
A problem with this approach, is that it depends upon the capabilities of the available printer whether or not it is successful. It is possible that a printer which a user desires to use to print a file in a particular native format may not be capable of rendering files in that native format into printer-interpretable data and hence there are significant compatibility problems with this approach.
A second known approach is to send a file in its native format to a printer via a proxy, with the proxy processing the file into printer-interpretable data and transmitting the data to the printer (either directly e.g. if the printer is an Internet Printing Protocol 'IPP' printer, or via the mobile phone).
A problem with the second approach arises due to the extraneous network traffic involved with transmitting data from a server to a user-selected printer via at least the user's mobile phone and a proxy, and often via the user's mobile phone once more.
Both approaches are particularly inefficient and/or inconvenient when a user desires to print detailed images. This situation frequently arises where for example a user wishes to purchase and print a ticket for an event such as a concert from a web site. In such circumstances it is often desirable for a printed ticket to include anti-forgery details which require detailed printing.. A similar problem arises where a user wishes to print out a photograph as again the file size of a photograph which is to be rendered as a high quality image is quite large.
In these situations a purchaser may choose to have the ticket sent as an electronic file, e.g. a PDF file or a JPEG file, to his e-mail address The purchaser may then print the file to a printer. According to the first approach described above, in this example the file that has been e-mailed to the purchaser will be sent in its native format to a printer that is capable of receiving PDF/JPEG files and rendering them into printer interpretable data to be printed. According to the second approach, in this example the file that has been e-mailed to the purchaser is sent in its native format to a printer via a proxy, the proxy then rendering the PDF/JPEG file into printer-interpretable data and forwarding the data to the printer.
The increased network traffic is likely to be particularly significant in the examples mentioned above because an electronic file that represents a ticket/photograph is large.
Given the resource constraints in current mobile phone technology, implementing a print functionality on a mobile phone capable of generating high-resolution print jobs is difficult.
In view of the above and other similar problems with the state of the art, the applicant has appreciated that an alternative approach would be desirable.
SUMMARY OF THE INVENTION
According to one aspect of the present invention there is provided method of printing an output document comprising: identifying stored data to be incorporated in an output document to be printed; determining the capabilities of a printer selected to be utilised to print the output document; determining a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generating render data suitable for printing by the selected printer for printing an output document including the data corresponding to the identified stored data in the determined format; routing the generated render data to the printer; and printing an output document at the printer using the render data routed to the printer.
Generating render data suitable for printing by the selected printer may comprise generating an intermediate document incorporating the identified stored data wherein the format of the intermediate document is determined on the basis of the determined capabilities of a printer selected to be utilised to print the output document; and converting the generated intermediate document into render data suitable for printing by the selected printer.
Determining a format for the output document to be printed may comprise: selecting a template for a document on the basis of the determined capabilities of a printer selected to be utilised to print the output document; and incorporating the stored data to be incorporated in an output document to be printed into the template.
The determined capabilities of a printer selected to be utilised to print the output document may include the size of paper a printer is operable to use; whether the printer can print colour images; and the identification of fonts installed on the printer. Determining a format for an output document may include selecting the size of an output document; determining whether an output document is a to be a colour document and selecting fonts utilised to represent text in an output document.
In an embodiment the method further comprises, before determining the capabilities of a printer selected to be utilised to print a document: invoking at the user device a printer discovery process to discover printers to which the user device can communicate and the properties and capabilities thereof; and selecting, from the discovered printers, the printer to be utilised to print the information. Selecting the printer to be utilised to print a document may comprises: displaying a list of the discovered printers on a display of the mobile device from which a user can select a printer; and receiving user input identifying a selection of a printer from the displayed list.
In an embodiment, the data to be incorporated in a document may be stored on a remote server and the method may further comprise transmitting, from a user device (1 ) to a remote server, a print request including: an identifier, identifying information to be printed, and printer data identifying the capabilities of the selected printer; wherein said remote server is responsive to receipt of a print request to: determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data suitable for printing by the selected printer for printing an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to a printer for printing.
In an embodiment of the method the data identifying information stored at a remote server comprises a web page.
In an embodiment of the method the identifier identifying information to be printed comprises an HyperText Transfer Protocol 'HTTP' session ID.
In an embodiment of the method the printer data identifying the capabilities of the selected printer comprises a Postscript Printer Description 'PPD' file. In other embodiments the capabilities of the printer could be identified via the inspection of a printer's MIB using the Simple Network Management Protocol 'SNMP'. Alternatively a printer's capabilities could be identified using a remote procedure call 'RPC from an operating system. In accordance with another aspect of the present invention there is provided a user device comprising: a processor; and a memory storing program code executable by the processor for executing a user print application, wherein when executing the user print application the user device is configured to: identify stored data (3) to be incorporated in an output document to be printed; determine the capabilities of a printer selected to be utilised to print the output document; determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data instructing the selected printer to an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to the printer for printing.
In accordance with a further aspect of the present invention there is provided a server comprising: a processor; and a memory storing program code executable by the processor for executing a server print application, wherein when executing the server print application the server is configured to: transmit to a user device data identifying data stored at the server; receive from the user device a print request including: an identifier, corresponding to the transmitted data, identifying data stored at the server, and printer data identifying the capabilities of a selected printer; determine a format for the output document to be printed which is to incorporate the identified stored data on the basis of the determined capabilities of a printer selected to be utilised to print the output document; generate render data instructing the selected printer to an output document including the data corresponding to the identified stored data in the determined format; and route the generated render data to the printer for printing.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention will now be described with reference to the accompanying drawings in which:
Figure 1 shows an overview of a system for printing from a mobile device in accordance with a first embodiment of the present invention;
Figure 2 shows an overview of the dataflow in the systems of Figure 1 ;
Figure 3 is a flow diagram showing the steps taken by a user print application of a mobile device in generating a print request; Figure 4 is a flow diagram showing the steps taken by a server print application in generating printer-interpretable instructions in response to receiving a print request generated according to the steps of Figure 3;
Figure 5 shows an overview of a system for printing from a mobile device in accordance with a second embodiment of the present invention; and
Figure 6 is a flow diagram of the processing of data undertaken by a mobile device in accordance with a second embodiment of the present invention.
SPECIFIC DESCRIPTION
Referring to Figure 1 , in this embodiment a mobile device 1 is provided where a user wishes to cause a printer 2 to print out printable information based on data 3 stored on a remote server 4.
Stored in the memory of the mobile device 1 are a number of applications 5 that provide standard capabilities including, e.g., Internet browsing, sending and receiving e-mails, WiFi/WLAN (hereafter referred to as WiFi) connectivity and Bluetooth connectivity. The mobile device 1 is arranged to access communications network 6 which in this embodiment comprises an Internet protocol 'IP' network 7 having printers 2 connected thereto.
In this embodiment the mobile device 1 has stored thereon a user print application 8. As will be described in detail later, the user print application 8 utilises data in a user print settings 9 stored on the mobile device 1 in order to enable data to be printed out by a printer 2.
The communications network 6 includes a mast 10, the Internet 1 1 and one or more devices including printers 2, a gateway server 12, other computers 13, and the remote server 4 connected thereto. The mobile device 1 can be communicably linked via the mast 10 to either the Internet 11 or other mobile devices (not shown in Figure 1 ) for making calls or exchanging data. Alternatively, mobile device 1 can be communicably linked to the IP network 7 via a network access point 14. In the system shown in Figure 1 , the IP network 7 has connected thereto a number of personal computers 'PCs' 12, printers 2 and a gateway server 12 via which devices connected to the IP network 7 can connect to the Internet 1 1. Thus in use the mobile device 1 may be communicably linked to the remote server 4, via IP network 7 or via the mast 10. In such an example the data 3 to be printed would be the contents of a specific record in a database of ticket purchases. The mobile device 1 can also be communicably linked to nearby (typically within 10 metres) devices such as printers 2 directly via Bluetooth.
The remote server 4 stores in addition to the data 3 which is to be utilized to generate printable output, a server print application 15 and server print settings 16. As will be described in detail later, these server print settings 16 are used by the server print application 15 to generate printer interpretable data from the data 3 stored on the server 4.
In this embodiment, the mobile device 1 communicates with the remote server 4 over the Internet 11 via the mast 10 and with the printer 2 via Bluetooth transmissions. In other embodiments, other methods of communicating may be used e.g. communicating using the IP network 7, the network server 10 and the network access point 14.
Before describing the operation of the server print application 15 and the user print application 8 in more detail, the data flow between the mobile device 1 , the remote server 4 and one or more printers 2 will first be discussed with reference to Figure 2.
Overview of data flow
Figure 2, illustrates the flow of data which occurs when a user of the mobile device 1 has identified some data 3 stored on the remote server 4 and desires to print out information based on the identified data 3. This could occur, when for example a user has visited a website in order to purchase a ticket to a show and has completed the necessary steps to purchase the desired ticket and wishes to print out the ticket. Conventionally at this point in the transaction, the purchaser would select, from a list of ticket-delivery options, to have the ticket e-mailed to him as an electronic file for subsequent printing. Such a ticket may well be specifically tailored for that user (e.g. including the users name and address details) so that the ticket cannot be transferred and used by other people. The data flow shown in Figure 2 provides an alternative ticket-delivery option.
As an initial step once the data 3 stored on the remote server 4 which is to be printed out has been determined e.g. during a HTTP Internet session between mobile device 1 and remote server 4, the remote server 4 transmits a print prompt 21 to the mobile device 1. The print prompt 21 is data comprising a printable information ID 21 a that identifies the data 3 to be printed. Thus for example in the case of printing out a ticket linked to a specific user, this printable information ID 21 a could be an identifier identifying a record within a database storing the user's ticket request. In this embodiment the print prompt 21 comprises a web page that, when displayed on a display of the mobile device 1 , identifies printable information 3 and includes a selection mechanism such as a button (shown in Figure 2 as a button labelled "print') that facilitates entry of a user input to indicate that the user desires to print the identified information 3. Suitable user input may be received via a touch screen, key pad etc., or it may be a received voice command.
In response to user input indicating that a user desires to print the selected printable information 3, a print request 22 is sent from the mobile device 1 to the remote server 4. The print request 22 includes a printable information ID 22a and printer data 22b, and is sent over the Internet 11 by the user print application 8 in combination with one or more of the other applications 5. The printable information ID 22a comprises data in a format that is interpretable by the remote server 4 to identify the data 3 which is to be printed. The printer data 22b comprises data interpretable by the server print application 15 which identifies the printing capabilities of the printer 2 to be used to print out the data 3.
At some time prior to the dispatch of the print request 22, in this embodiment, the mobile device 1 performs a printer discovery operation to identify the properties and capabilities of printers 4 which may be used to print out the selected printable information. Such a printer discovery operation is a conventional operation which provides the mobile device 1 with information about the capabilities of available printers 4.
Typical properties and capabilities which might be identified would include data about the types of print instruction that a printer 2 can understand e.g. the printer driver language or languages that the printer understands such as Postscript or PCL or printer specific languages. Other properties would include whether the printer was able to print colour images or whether the printer was only able to print black and white images and the size of paper e.g. A4 or A5 the printer is designed to handle. Additionally the printer discovery operation might be provided with data about the fonts installed within a particular printer 2.
When a print request 22 is to be generated a user is prompted to identify the printer 2 to be utilised so that suitable printer data 22b identifying the capabilities of the selected printer 4 can be included in the print request 22.
When a print request 22 including a printable information ID 22a and printer data 22b is received by the remote server 4, the remote server 4 proceeds to generate render data 23a to be used by a printer 2 having the capabilities identified by the received printer data 22b to print out an image based on the data 3 identified by the received printable information ID 22a.
More specifically, in this embodiment, the remote server 4 utilizes the received printer data 22b to decide upon the formatting of the image to be printed out. Having established the formatting based upon the capabilities of the printer to be utilised, the remote server 4 then accesses the stored data 3 and generates a printable document utilizing the data 3 and the chosen formatting settings. This generated image is then converted into render data 23a of a type understandable to the printer 2 to be used, to print the image.
Thus for example in the case of a ticket which is to printed out where the printable information ID 22a identifies a record in a ticket database, the server print application 15 will initially access the database to retrieve the relevant data 3 for inclusion in the ticket to be printed. Typically this might comprise data identifying the event e.g. the day and time of a performance and seat details, together with personal details for the individual such as name and address details.
The server print application 15 then proceeds to generate an intermediate document using the retrieved data and the printer settings 16 which correspond to the printer data 22b for the printer 2 to be utilised. Thus for example, the server print application 3 might select a particular template for a document to be printed based upon whether or not the printer data 22b and the print settings 16 for the identified printer is or is not able to print out colour images. Alternatively where the printer data 22b and the print settings 16 indicate that a particular printer has certain fonts installed, the print server application 16 could chose to format the document to be printed to utilise the installed fonts. In this way the intermediate document is formatted so as to be particularly suitable for output via the identified printer 2.
Having generated the intermediate document, the intermediate document is then converted into render data 23a for the printer 2 being utilised. When render data 23a for the identified printable information 3 in the specific printer-interpretable format identified from the printer data 22b has been generated by the server print application 15, a print response 23 including the render data 23a is transmitted to the mobile device 1 over the Internet 11. The user print application 8 incorporates the render data 23a in a print job 24 that is transmitted to the specified printer 2.
By generating the intermediate document using the print settings, the server print application 15 is able to ensure that the render data 23a is suited for output by the selected printer 2 and also reduce the amount of render data 23a required for a particular print job. Thus for example where a printer 2 is not able to print colour documents, generating render data for a black and white print job avoids transmitting extraneous colour instructions. Similarly, where an intermediate document is generated utilising information about fonts installed on a printer 2, selecting fonts corresponding to those pre-installed on a printer 2 avoids the need for font data to be included in a print job and hence reduces the amount of render data 23a which needs to be transmitted to the printer 2.
In addition generating the render data 23a based on the established capabilities of a printer 2 can also ensure that the final output hard copy is suitable for use. Thus for example, formatting render data based on the size of paper a printer 2 can utilise can avoid the output being too small for use.
User print application
The steps performed by the user print application 8 in generating a print request 22 in response to a user input, subsequent to receipt of a print prompt 21 will now be described with reference to Figure 3.
As discussed above a received print prompt 21 includes a printable information ID 21 a corresponding to data 3 that the user has selected to be included in what is to be printed. In this embodiment, the print prompt 21 comprises hypertext markup language 'HTML' code that is interpretable by a web browser on the user mobile device 1 to present on a display of the mobile device 1 information corresponding to the selected data 3. Additionally, the print prompt 21 also includes means for a mobile device 1 to obtain a user print application 8 in case the mobile device 1 does not have such an application stored thereon. In this embodiment, this would be a hyperlink indicating a location on a server from which a user print application 8 can be obtained.
In this embodiment, receipt of a user input entered in response to receipt of a print prompt 21 causes the user print application 8 to be called. The user print application 8 then invokes at step s3-1 a printer discovery module. The printer discovery module is part of the user print application 8 in this embodiment, but in other embodiments it may be part of one of the other applications 5 stored on the mobile device 1. The printer discovery module discovers, in a conventional manner, printers 2 with which the mobile device 1 can communicate and the capabilities and properties thereof. In this embodiment the discovery is performed via Bluetooth communication, but in other embodiments it may include discovery of network printers 2 connected to an IP network 7 using WiFi or cabled communication via a network access point 14. In yet another embodiment, the discovery could include discovery of IPP printers connected to the Internet 11. The capabilities and properties of the discovered printers 2 are stored on the mobile device 1 as discovered data 9a in the user print settings 9.
At step s3-2, the user print application 8 causes to be displayed on a display of the mobile device 1 a list of the discovered printers 2 from which the user can select the printer 2 which he would like to print the selected printable information 3. In this embodiment the list is displayed in the web browser as a new page. In alternative embodiments, the user print application 8 could launch a new graphical user interface to display the list of the discovered printers, or alternatively the user printer settings 7 may indicate a default printer 2 which is automatically selected without requiring the user to select a printer 2 i.e. excluding step s3-2.
Having selected a printer 2, in this embodiment the user print application 8 generates at step s3-3 printer data 22b identifying to the properties and capabilities of the selected printer 2 stored as discovered data 9a in the user print settings 9. As noted previously typical properties and capabilities which might be identified would be the ability to generate colour images, the sizes of paper which can be used and the identification of any fonts pre-installed on the printer 2.
At step s3-4, a print request 22 is generated and the generated printer data 22b is included therein. In addition to the printer data 22b, the print request also includes a printable information ID 22a. The printable information ID 22a is formatted so as to be interpretable at the remote server 4 to identify the printable information 3 that the user has selected to print.
In this embodiment, the print request 22 is made in respect of the HTTP session in which printable information 3 was identified by the user, the print request 22 comprising a HTML form including the generated printer data 22b and the printable information ID 22a. In other embodiments, the print request 22 could be an e-mail in a conventional format which is sent to an e-mail address associated with the remote server 4.
In this embodiment the printable information ID 22a comprises a HTTP session ID. In other embodiments, the printable information ID 22a could comprise an IP address or a memory location at which the selected printable information 3 is stored. The generated printer data 22b is formatted to be interpretable at the remote server 4 so the server print application 15 can correctly generate the selected printable information 3 in a format suitable for the selected printer 2. Once the print request 21 has been generated it is sent in this embodiment as a IP- compatible transmission to the remote server 4 over the Internet 1 1 in a conventional manner.
Server print application
The steps performed by the server print application 15, to generate render data 23a, in response to receipt of a print request 22 will now be described referring to Figure 4.
Initially, at step s4-1 the server print application 15 interprets the printer data 22b included in the received print request 22 and identifies a printer interpretable format in which to generate render data 23a.
In this embodiment, the printer data 22b identifies the correct printer driver for the selected printer 2. The printer data 22b may additionally, where appropriate, include information to identify the selected printer's capabilities e.g. if the selected printer 2 is a Postscript printer the printer data 22b will include a Postscript Printer Description 'PPD' file to define the entire set of features and capabilities of the selected printer 2. The server print application 15 then identifies a printer interpretable format in which to generate the specified render data 23a based on the received printer data 22b and one or more rules based on the server print settings 16.
For example, if the received printer data 22b indicates that the selected printer 2 has a raster image processor, e.g. it is a Postscript printer, the server print settings 16 may include one or more entries specifying whether to generate the specified render data 23 as data specific to the selected printer 2 or whether to generate a Postscript or PDF file to represent the selected printable information 3. Other rules that may be used in accordance with an embodiment of the present invention may relate to e.g. colour printing, printing resolution, duplex printing etc.
Having identified the printer-interpretable format into which the selected data 3 is to be generated, server print application 15 then at step s4-2 uses the printable information ID 22a included in the received print request 22 to identify the selected printable information 3. In this embodiment, this is achieved by the printable information ID 22a comprising the HTTP session ID and the server print application 15 interpreting and identifying, the selected data 3 that was selected during the identified HTTP session using conventional methods. In other embodiments, the server print application 15 could interpret an I P address or memory location to arrive at a location from which it retrieves the selected printable information 3. Once the selected data 3 and the correct printer-interpretable format has been identified, at steps s4-3 and s4-4 the server print application 15 assembles an intermediate document and generates render data 23a for the selected printable information 3. That is to say the server print application 15 initially generates an intermediate document incorporating the selected data 3 where the formatting of the intermediate document is based upon the capabilities of the printer 2 as identified by the received printer data 22b. This intermediate document is then converted into render data 23a being a set of print instructions for causing the printer 2 to print the intermediate document which incorporates the selected data where the render data 23a is in a format which is understandable by the printer 2.
By having the server print application 15 assemble an intermediate document and generate render data 23a for the selected data 3, the selected data 3 is format independent from a user's perspective i.e. the format in which data 3 is stored or printed is not relevant to a user. The assembly of such a document can also ensure that the document includes appropriate ancillary information related to the selected data 3 which may be specific to the individual print request.
Thus for example, in the case of a theatre ticket purchased over the Internet the server print application 15 might may include in the printed output comprising selected printable information 3 related information such as a specific seat number, instructions/directions or targeted advertising which would be subsequently included in the hard copy output to be printed.
At step s4-3, the server print application 15 assembles an intermediate document comprising the selected printable information 3 and related ancillary information. This could for example involve incorporating the selected information 3 into a pre-existing template where the template in question was selected on the basis of the capabilities of the printer 2 as identified by the server print application 15.
In this embodiment, the ancillary information is a pro forma word document template comprising information related to the selected data 3. For example, it may be a word document template defining a pro forma layout of a theatre ticket including a show's name, some advertising text/graphics and/or anti-forging details such as bar codes and the like. In this embodiment, assembling s4-3 an intermediate document corresponding to the selected data 3 is performed by selecting the relevant ancillary information stored on the remote server 4 and updating fields within said ancillary information to represent the selected data 3. In the above example, the pro forma theatre ticket would be updated with the seat number, performance time etc. that was selected by the purchaser. The result of step s4-3 in this embodiment is an intermediate document represented in word format which defines entirely the appearance of the printed output comprising the selected data 3 when printed to the selected printer 2. When selecting the document template to use, a template can be selected base upon the identified capabilities of the printer 2. Thus for example different templates could be provided and utilised dependent upon whether the printer to be used supported colour printing, the size of paper which the printer is arranged to use and the fonts installed on the printer 2.
At step s4-4, the resultant intermediate document is converted into render data 23a, which is interpretable by the selected printer 2. The conversion is performed in a conventional manner utilising a printer driver, selected based on printer data 22b received included in the print request. That is to say the server invokes a printer driver for the identified printer 2 and the printer driver converts the intermediate document into render data 23a understandable by the identified printer 2. The server print application 15 then generates s4-4 a print response 23 including the generated render data 23a, and outputs the response 23 for forwarding on to the selected printer 2.
The generated print response 23 is then transmitted to the mobile device 1 , which incorporates the received render data 24a in a print job 24 which is then sent to the selected printer 2. In this embodiment, the render data 24a included in the print job 24 corresponds exactly to the render data 23a included in the print response. Thus the amount of processing which is required to generate the print job 24 is minimal. In other embodiments, however, the render data 24a included in the print job 24 could be varied relative to the render data 23a included in the print response, based on user preferences specified in the user print settings 9.
SECOND EMBODIMENT
A second embodiment of the present invention will now be described. In the first embodiment a system was described where a mobile device 1 interacted with a remote server 4 storing data 3 to be included in hard copy output to be generated by a printer 2. In the previous embodiment, generating hard copy output involved a two-step process where initially the stored data 3 was incorporated into an intermediate document and then the intermediate document was converted into render data 23a. In such a two-step process, selecting a template for the intermediate document based upon the capabilities of the printer 2 to be used to print out the hard copy enables the content of the render data 23a to be tailored so as to be most suitable for output by the selected printer 2 in terms of the printer's 2 capabilities and enables a print job to be reduced in size as the template can be selected so as to avoid unnecessary instructions having to be included in the render data 23a. Having a two-step process also enables print render data 23a to be generated using existing printer drivers to convert the generated intermediate document into print render data 23a. This is achieved by selecting a common format for the generated intermediate document such as a word document or a PDF format. Where a common format is utilised existing programs can interact with the printer drivers for particular printers to convert an intermediate document into render data 23a for a specific printer 2.
A second embodiment will now be described with reference to figures 5 and 6 which are a schematic block diagram of a printing system in accordance with a second embodiment of the present invention and a flow diagram of the processing of data by a mobile device to cause a printer to print out hard copy data.
In this embodiment instead of data 3 for printing being stored on a remote server 4, data 20 for printing is stored in a database within a mobile device 1. A modified print application 22 is then also provided and stored on the mobile device 1. As in the previous embodiment the mobile device 1 is arranged to communicate with one or more printers 2 via a communications network including an IP network 7, a mast 10, the internet 1 1 , a gateway server 12, other computers 13 and a network access point 14.
The processing undertaken by a print application 22 in accordance with the present embodiment is illustrated in Figure 6.
Initially as in the previous embodiment, the print application 22 performs (s6-1 ) a discovery operation to identify the capabilities of printers 2 that the mobile device 1 can access. This discovery operation causes the print application 22 to receive and store discovered data 9a detailing the capabilities of the available printers 2 including the print languages understood by the printers and other functionality such as fonts installed on the printers 2.
After discovered data has been obtained (s6-2) the print application receives user input identifying selection of data 20 stored within the mobile device which is to be printed. Examples of such data might include text messages or contacts details stored as database entries within the device 1.
Having received an identification of the stored data 20 to be printed, the print application 22 then proceeds (s6-3) to generate render data to print the selected data. More specifically, the print application 22 in this embodiment utilizes the discovered data 9a to determine a template for representing the data and then proceeds to generate render data directly from the template and the stored data 20. Thus for example, where the stored data indicates that a particular printer 2 which is to be utilised is a black and white only printer and has particular fonts installed the print application may choose to utilize a template which causes the selected data to be printed out as black and white copy using the selected font. The print application 22 then generates render data 23a in the form understandable by the selected printer 2 where the language chosen for the render data 23a is based on the discovered data 9a for the printer 2.
Having generated the render data 23a the data is then transmitted (s6-4) to the printer 2 and printed out.
ALTERNATIVE EMBODIMENTS AND MODIFICATIONS
In the first embodiment described above, printer discovery takes place once a transaction has been completed over the course of a HTTP session. It will be appreciated by the skilled person that in other embodiments the user print application 8 may be operable to invoke a printer discovery process, whether in response to a trigger received from a server or otherwise. Similarly, it will be appreciated that the print prompt 21 described above may be sent at any point during a HTTP session, and that the corresponding print request 22 sent in response to receipt of the print prompt 21 may be transmitted at any time thereafter before the HTTP session is completed.
A printer's capabilities and properties, as referred to in the description of embodiments above, should be understood to include amongst other things: its maximum printing resolution; whether it supports duplex, colour, draft printing and the like; which, if any, file types it can render; the identity of an appropriate printer driver; whether it is an IPP printer; whether it is operable to receive print jobs by e-mail. Other printer capabilities will be apparent to those skilled in the art and are intended to fall within the scope of the reference to printer capabilities made herein.
In the embodiments described herein, methods, processes and communications have been expressed sequentially. It will be apparent to the skilled person, however, that certain ones of said processes, methods and communications (e.g. s4-1 and s 4-2) can be performed in parallel or in a different order from that described in detail above.
In the first above described embodiment, render data 23a is described as being routed to a printer 2 via the mobile device. It will be appreciated that where the printer 2 is an IPP printer, the remote server 4 could send the print response 23 directly to the printer 2 rather than via the mobile device 1. This would have the advantage that the amount of network traffic via the mobile device 1 would be reduced. It will be appreciated that such an embodiment would be applicable not only to IPP printers but any printers where suitable routing information for routing information direct t a printer 2 was available.
In such embodiments the render data 23b could be sent directly to the selected printer 2 over the Internet 1 1 using e.g. an HTTP transfer. Alternatively where, the selected printer 2 is capable of receiving information to be printed by e-mail the remote server 4 might communicates the print response 23, or the specified render data 23b as an e-mail.
It will be appreciated that in the second embodiment a system has been described wherein data stored on a mobile device 1 is printed out where render data is generated without an intermediate document is generated. It will be appreciated that avoiding the generation of an intermediate document reduces the amount of data processing required to generate the render data. It will also be appreciated that formatting the output on the basis of information about the capabilities of the printer not only enables suitable data to be generated but also enables the data to be formatted in a way to reduce the amount of processing and data required to represent a print job.
Although avoiding generating an intermediate document can be advantageous, in certain circumstance it is preferable to generate render data in the two-step process described in the first embodiment and it will be appreciated that the system of the second embodiment could be modified to adopt such an approach. More specifically using a two-step process and generating an intermediate document prior to generating render data can take advantage of the existence of standard document formats and hence reduce the need for a print application to have to accommodate the specific requirements of individual printers.
Although in the first embodiment an intermediate document has been described as being a word document, it will be appreciated that other formats could be utilised for example intermediate documents could be generated so as to be in PDF format prior to being converted into print render data.
The embodiments of the invention described herein comprise mobile devices and processes/methods performed in mobile devices. The invention also extends, however, to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source or object code or in any other form suitable for use in the implementation of the processes according to the invention. The carrier can be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
When a program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
It should be understood that while the present invention has been described herein with reference to a plurality of embodiments, the embodiments are not mutually exclusive. It will be apparent to those skilled in the art that there are numerous design alternatives, including those based on combinations of features from respective embodiments, which fall within the scope of the present invention.

Claims

1. A method of printing an output document comprising: identifying stored data (3) to be incorporated in an output document to be printed; determining the capabilities of a printer (2) selected to be utilised to print the output document; determining a format for the output document to be printed which is to incorporate the identified stored data (3) on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; generating render data (23a) suitable for printing by the selected printer (2) for printing an output document including the data corresponding to the identified stored data (3) in the determined format; routing the generated render data (23a ) to the printer (2); and printing an output document (3) at the printer (2) using the render data (23a) routed to the printer (2).
2. A method in accordance claim 1 wherein generating render data (23a) suitable for printing by the selected printer (2) comprises: generating an intermediate document incorporating the identified stored data (3) wherein the format of the intermediate document is determined on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; and converting the generated intermediate document into render data (23a) suitable for printing by the selected printer (2).
3. A method in accordance with claim 1 or 2 wherein determining a format for the output document to be printed comprises: selecting a template for a document on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; and incorporating the stored data (3) to be incorporated in an output document to be printed into the template.
4. A method in accordance with any of the preceding claims wherein the determined capabilities of a printer (2) selected to be utilised to print the output document include any of the size of paper a printer (2) is operable to use; whether the printer can print colour images; and the identification of fonts installed on the printer (2) and wherein determining a format for an output document includes any of selecting the size of an output document; whether an output document is a to be a colour document and fonts utilised to represent text in an output document.
5. The method of any preceding claim further comprising, before determining the capabilities of a printer (2) selected to be utilised to print a document: invoking at the user device (1 ) a printer discovery process to discover printers to which the user device (1 ) can communicate and the properties and capabilities thereof; and selecting, from the discovered printers, the printer (2) to be utilised to print the information (3).
6. The method of claim 5 wherein selecting the printer (2) to be utilised to print a document comprises: displaying a list of the discovered printers (4) on a display of the mobile device (1 ) from which a user can select a printer; and receiving user input identifying a selection of a printer (2) from the displayed list.
7. A method in accordance with any preceding claim wherein said stored data (3) comprises data (3) stored on a remote server (4), the method further comprising: transmitting, from a user device (1 ) to a remote server (4), a print request (22) including: an identifier (22a), identifying information (3) to be printed, and printer data (22b) identifying the capabilities of the selected printer (2); wherein said remote server (4) is responsive to receipt of a print request (22) to: determine a format for the output document to be printed which is to incorporate the identified stored data (3) on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; generate render data (23a) suitable for printing by the selected printer (2) for printing an output document including the data corresponding to the identified stored data (3) in the determined format; and route the generated render data (23a ) to a printer (2) for printing.
8. The method of claim 7 wherein the data (21 a) identifying data (3) stored at a remote server (4) comprises a web page.
9. The method of claim 7 wherein the identifier (22a) identifying data (3) to be printed comprises an HyperText Transfer Protocol 'HTTP' session ID.
10. The method of any preceding claim where the capabilities of the selected printer (2) comprise capabilities defined by a Postscript Printer Description 'PPD' file; a simple network management protocol 'SNMP' printer MIB or by an operating remote procedure call 'RPC associated with the printer (2).
1 1. A user device (1 ) comprising: a processor; and a memory storing program code executable by the processor for executing a user print application (6), wherein when executing the user print application (6) the user device (1 ) is configured to: identify stored data (3) to be incorporated in an output document to be printed; determine the capabilities of a printer (2) selected to be utilised to print the output document; determine a format for the output document to be printed which is to incorporate the identified stored data (3) on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; generate render data (23a) instructing the selected printer (2) to an output document including the data corresponding to the identified stored data (3) in the determined format; and route the generated render data (23a ) to the printer (2) for printing.
12. A server (4) comprising: a processor; and a memory storing program code executable by the processor for executing a server print application (15), wherein when executing the server print application (15) the server (4) is configured to: transmit to a user device (1 ) data (21a) identifying data (3) stored at the server (4); receive from the user device (1 ) a print request (22) including: an identifier (22a), corresponding to the transmitted data (21 a), identifying data (3) stored at the server (4), and printer data (22b) identifying the capabilities of a selected printer (2); determine a format for the output document to be printed which is to incorporate the identified stored data (3) on the basis of the determined capabilities of a printer (2) selected to be utilised to print the output document; generate render data (23a) instructing the selected printer (2) to an output document including the data corresponding to the identified stored data (3) in the determined format; and route the generated render data (23a ) to the printer (2) for printing.
13. A system for printing information (3) stored on a remote server (4), the system comprising: a server (4) in accordance with claim 12; a printer (2); and a user device (1 ) comprising: a processor; and a memory storing program code executable by the processor for executing a user print application (6), wherein when executing the user print application (6) the user device (1 ) is configured to: receive data (21a) identifying information (3) stored at a remote server (4); determine the capabilities of a printer (2) selected to be utilised to print the information (3); and transmit to a remote server (4), a print request (22) including: an identifier (22a) identifying information (3) to be printed, and printer data (22b) identifying the capabilities of the selected printer (2).
14. A computer readable medium comprising program instructions which, when executed by a processor of a user device (1 ), cause the user device to become configured as the user device of claim 1 1.
15. A computer readable medium comprising program instructions which, when executed by a processor of a server (1 ), cause the server to become configured the server of claim 12.
PCT/GB2010/050755 2009-05-08 2010-05-10 Method and apparatus for printing from a mobile device WO2010128339A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0907851.0 2009-05-08
GBGB0907851.0A GB0907851D0 (en) 2009-05-08 2009-05-08 Method and apparatus for printing from a mobile device

Publications (2)

Publication Number Publication Date
WO2010128339A2 true WO2010128339A2 (en) 2010-11-11
WO2010128339A3 WO2010128339A3 (en) 2011-01-20

Family

ID=40833617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2010/050755 WO2010128339A2 (en) 2009-05-08 2010-05-10 Method and apparatus for printing from a mobile device

Country Status (2)

Country Link
GB (1) GB0907851D0 (en)
WO (1) WO2010128339A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141413A1 (en) * 2012-03-23 2013-09-26 Mwangi Mary Printing from a cellular phone
CN104038660A (en) * 2013-03-06 2014-09-10 株式会社理光 System, method, and terminal device for providing service
DE102014226625A1 (en) * 2014-10-31 2016-05-04 Cortado Ag Method for transmitting print data, server and mobile terminal
EP3822768A1 (en) * 2019-11-15 2021-05-19 Ricoh Company, Ltd. Information processing system, information processing method, and information processing apparatus
CN114398014A (en) * 2022-01-06 2022-04-26 用友汽车信息科技(上海)股份有限公司 Printing control method, server, mobile device and printing control system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810332B2 (en) * 2006-02-20 2011-11-09 キヤノン株式会社 Information processing apparatus, print setting method, storage medium, program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141413A1 (en) * 2012-03-23 2013-09-26 Mwangi Mary Printing from a cellular phone
CN104038660A (en) * 2013-03-06 2014-09-10 株式会社理光 System, method, and terminal device for providing service
DE102014226625A1 (en) * 2014-10-31 2016-05-04 Cortado Ag Method for transmitting print data, server and mobile terminal
US20160124685A1 (en) * 2014-10-31 2016-05-05 Cortado Ag Method for transmitting print data, server and mobile terminal
US9971961B2 (en) 2014-10-31 2018-05-15 Cortado Ag Method for transmitting print data, server and mobile terminal
US10395148B2 (en) 2014-10-31 2019-08-27 Cortado Ag Method for transmitting print data, server and mobile terminal
EP3822768A1 (en) * 2019-11-15 2021-05-19 Ricoh Company, Ltd. Information processing system, information processing method, and information processing apparatus
US11626111B2 (en) 2019-11-15 2023-04-11 Ricoh Company, Ltd. Information processing system, information processing method, and information processing apparatus
CN114398014A (en) * 2022-01-06 2022-04-26 用友汽车信息科技(上海)股份有限公司 Printing control method, server, mobile device and printing control system

Also Published As

Publication number Publication date
GB0907851D0 (en) 2009-06-24
WO2010128339A3 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
US7028102B1 (en) Method and system for presenting information
US8817300B2 (en) Method and apparatus to edit and print documents using a web browser
US9086832B2 (en) Printer
JP5266967B2 (en) Computer peripheral device driver, apparatus and method
JP5047067B2 (en) Information processing apparatus, data output system, data generation program, and recording medium therefor
CN103246489B (en) Print system, printing server and control method
US8132107B2 (en) Multifunctional apparatus, method for controlling multifunctional apparatus, control apparatus, method for controlling control apparatus, system for controlling multifunctional apparatus, control program, and computer-readable storage medium
US9025172B2 (en) Printing setting apparatus, computer readable recording medium, and image forming system for generating printing setting information described in one data format included in plural types of data formats and submitting a printing job to an image forming apparatus capable of executing a printing job based on printing setting information described in the plural types of data formats
WO2001042894A1 (en) Method and system for presenting information
US9160873B2 (en) Information processing system controlling image processing apparatus to display screen information, control method therefor, external control apparatus, information provision apparatus, image processing apparatus, and storage medium storing program
JP2004318842A (en) Webpage generation device, embedding device, method for control of webpage generation, webpage generation program, and recording medium
JP5299386B2 (en) Print data generation program, terminal device, and control method of terminal device
US8570581B2 (en) Image forming method and system using XHTML-print data
US8804169B2 (en) Printing method, image forming apparatus, and web server
US7315396B2 (en) Systems and methods for generating banner pages
WO2010094965A1 (en) Method and apparatus for mobilr printing
US9110962B2 (en) Data providing apparatus for implementing script, electronic apparatus for implementing script, data processing system for implementing script, and method of data processing for implementing script
WO2010128339A2 (en) Method and apparatus for printing from a mobile device
JP2010098732A (en) Client device with extensible image processing device driver, and method implementing the same
US8125668B2 (en) Information processing device, image processing device, job processing method, and storage medium
JP2002304314A (en) Application data file reference system
JP2005182253A (en) System and method for asp print service, and asp server device
JP4426501B2 (en) Printer server, printing system, program, and printing control method
JP2011248670A (en) Web browsing system, relay server, and web browsing method
JP2000330734A (en) Network printing method and network printing system using the method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10727123

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10727123

Country of ref document: EP

Kind code of ref document: A2