WO2010094965A1 - Method and apparatus for mobilr printing - Google Patents

Method and apparatus for mobilr printing Download PDF

Info

Publication number
WO2010094965A1
WO2010094965A1 PCT/GB2010/050276 GB2010050276W WO2010094965A1 WO 2010094965 A1 WO2010094965 A1 WO 2010094965A1 GB 2010050276 W GB2010050276 W GB 2010050276W WO 2010094965 A1 WO2010094965 A1 WO 2010094965A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
printer
data
files
print
Prior art date
Application number
PCT/GB2010/050276
Other languages
French (fr)
Inventor
Geoffery Hammond Soord
Paul Winwood
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 WO2010094965A1 publication Critical patent/WO2010094965A1/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • 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/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • 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/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • 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/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability

Definitions

  • the present invention relates to printing from a mobile device.
  • the present invention relates to a method of printing information stored on mobile devices in a native file format.
  • mobile phones are to take the place of portable computers, a mobile phone should offer its user a broad range of services comparable with the capabilities of a portable computer.
  • a mobile phone due to the small screens on mobile phones it will often be necessary to print items from a mobile phone to improve viewing.
  • an application such as a word processor is used to create or view the document.
  • the application sends document data in its native format to a printer driver provided on the computer which translates the document data from its native format to data in a printer-specific format. This data is then transmitted to a printer as a print job.
  • the printer interprets the data included in the print job and prints a copy of the document.
  • printer driver Since a printer driver is arranged to convert native files into a printer-specific format, ordinarily a different printer driver is required to be installed for each type of printer that a computer can access. If the relevant printer driver is not already installed on a computer, a copy of the appropriate printer driver needs to be downloaded and installed so that a particular printer can be used. Ordinarily, downloading and installing printer drivers is not a significant problem in the case of a computer or portable computer as such machines usually have ample storage capacity for storing downloaded printer drivers and usually such computers have access to bandwidth to download the printer drivers.
  • mobile handheld devices Compared with desk top or portable computers, mobile handheld devices have considerable resource constraints with respect to storage capacity, processing speed and available power. Consequently, mobile device vendors do not include the capability to support the processing of native file format documents for printing.
  • the constrained resources of a mobile device make it impracticable to include on the device the application software corresponding to all or most native file types that one would expect to be able to print from a portable computer.
  • mobile devices do not include application software such as Acrobat®, Word®, PowerPoint®, Excel®, etc..
  • users take mobile handheld devices to a wide variety of locations and hence may be in locations where a wide variety of different printers are used. Downloading and storing multiple printer drivers for all of the different types of printer is therefore impractical.
  • One approach is printing by proxy, in which native-format files are sent from a suitable application running on a mobile handheld device to another device (e.g. a server).
  • the other device converts the received files into a printer-suitable format, and sends the converted files either back to the mobile device or to a printer. Examples of this approach are disclosed in EP1376331 and US2004/0130744.
  • Printing by proxy does, however suffer from certain limitations.
  • a copy of the native file to be printed must be transmitted to the proxy server and then the print job generated by the proxy server needs to be transmitted to the printer which is to be used for printing.
  • the printer which is to be used for printing.
  • a second approach includes sending the native-format files directly to a printer, but only if the printer is operable to receive and print files in that format.
  • a mobile handheld device has stored thereon one or more JPEG images captured using a built-in camera which could be sent to and printed by a printer capable of printing JPEG images.
  • prior art mobile devices may be capable of having printed some types of native format files stored thereon, the types being determined by capabilities of other devices.
  • a print application for printing files containing images or text accessible by a mobile device
  • the print application comprising: a file discovery module operable to identify files accessible by a mobile device associated with type data indicative of a file format of a type which contain data defining images or text; and a file processing module responsive to identification of a printer and user selection of a file identified as being of a type which contains data defining images or text by the file discovery module to: access data indicative of the types of file format which can be printed by the identified printer; forward the selected file to the identified printer if the identified printer is determined to have the capability to print files of the type corresponding to the selected file; and if the identified printer is determined not to have the capability to print files of the type corresponding to the selected file, to cause the selected file to be processed based on the type data associated with the selected file and data indicative of the types of file format which can be printed by the identified printer to generate data in a format suitable for printing the selected file by the identified printer and for the generated data in a format
  • a method of printing a file accessible by a mobile device comprising: identifying files accessible by the mobile device associated with type data indicative of a file format of a type which contain data defining images or text; and responding to identification of a printer and user selection of a file identified as being of a type which contains data defining images or text by: accessing data indicative of the types of file format which can be printed by the identified printer; forwarding the selected file to the identified printer if the identified printer is determined to have the capability to print files of the type corresponding to the selected file; if the identified printer is determined not to have the capability to print files of the type corresponding to the selected file, causing the selected file to be processed based on the type data associated with the selected file and data indicative of the types of file format which can be printed by the identified printer (to generate data in a format suitable for printing the selected file by the identified printer and transmitting the generated data to the identified selected printer; and printing the selected file at the selected printer using the data received by the printer
  • Figure 1 shows an overview of a system for printing from a mobile device in accordance with an embodiment of the present invention
  • Figure 2 is a block diagram of a printer application of the mobile device of Figure 1 ;
  • Figure 3 is a block diagram of print application data stored on the mobile device of Figure 1 ;
  • Figure 4 is an illustrative example of a screen display of the mobile device of Figure 1 ;
  • Figure 5 is a flow diagram which illustrates the steps taken by the printer application of the mobile device of Figure 1 ;
  • Figure 6 is a flow diagram which illustrates the processing steps taken by the printer application of the mobile device of Figure 1 ;
  • FIG 7 is a flow diagram which illustrates the communication steps taken by the printer application the mobile device of Figure 1.
  • a mobile handheld device 1 such as a mobile phone or PDA is provided.
  • the mobile device 1 is arranged to access communications network 2 which in this embodiment comprises an Internet protocol 'IP' network 3 having printers 4 connected thereto.
  • communications network 2 which in this embodiment comprises an Internet protocol 'IP' network 3 having printers 4 connected thereto.
  • applications 5 including a printer application 6 in accordance with the present invention together with files 7 generated by the applications, created or modified by a user and/or received from other devices.
  • These files in this embodiment include a print data application file 7a which stores application data settings for printing out other files.
  • the printer application 6 is an application which utilises the data in the print data application file 7a to facilitate printing to the network printers 4 of various files 7 stored on the mobile device 1.
  • the communications network 2 includes a mast 8, the Internet 9 and one or more devices 4, 10, 12, 13 connected thereto.
  • Mobile device 1 can be communicably linked via mast 8 to either the internet 9 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 3 via network access point 1 1.
  • the IP network 3 has connected thereto a number of personal computers 'PCs' 12, printers 4 and a server 13 via which devices connected to the IP network 3 can connect to the Internet 9.
  • the mobile device 1 may be communicably linked to the remote server 10, via IP network 3 or via the mast 8.
  • the mobile device 1 can also be communicably linked to nearby (typically within 10 metres) devices such as printers 4 directly via Bluetooth.
  • Bluetooth is a wireless protocol for the exchange of data over short distances between fixed and/or mobile devices. Bluetooth provides a way to connect to, and exchange information between, devices such as mobile phones, laptops, personal computers, printers etc. using transmission on an unlicensed Industrial, Scientific and Medical 'ISM' 2.4 GHz short-range radio frequency bandwidth.
  • the mobile device 1 has stored thereon applications 5 which provide capabilities including, e.g., internet browsing, sending and receiving e-mails, WiFi/WLAN (hereafter referred to as simply WiFi) connectivity and Bluetooth connectivity.
  • applications 5 which provide capabilities including, e.g., internet browsing, sending and receiving e-mails, WiFi/WLAN (hereafter referred to as simply WiFi) connectivity and Bluetooth connectivity.
  • stored on the mobile device 1 are a standard range of conventional mobile device applications, as will be appreciated by those skilled in the art without the need for further description.
  • the mobile device 1 has stored thereon a number of native format files 7 e.g. JPEG images, music files, video files, e-mails, saved web pages, contacts information, short message service 'SMS' messages and a range of documents such as word-processed documents, spreadsheets and drawings.
  • native format files 7 e.g. JPEG images, music files, video files, e-mails, saved web pages, contacts information, short message service 'SMS' messages and a range of documents such as word-processed documents, spreadsheets and drawings.
  • the stored files 7 may have been provided on the mobile device 1 , e.g., via a Bluetooth transfer from another device, received in an e-mail, transferred over IP network 3 from a PC 12 connected thereto, or created/modified by a user e.g. images captured using a built in camera (not shown in Figure 1 ).
  • the applicant has appreciated that in order to be able to efficiently and conveniently print the files 7 stored on the mobile handheld device 1 (i.e. to be capable of processing the various native-type files) it is desirable to provide mobile device 1 with a printer application 6. More specifically, the applicant has appreciated that the conventional approaches to mobile printing are wasteful of resources in terms of data storage and data transmission as well as being limited in terms of functionality. Where a mobile device 1 stores separate modules each dedicated to printing out a specific file type associated with a specific application, this leads to unnecessary duplication of function. It is also possible that certain files which could be printed will not be printable because they were generated by applications other than those associated print functionality. Further having data transmitted for print by proxy may be inefficient as it can involve unnecessary indirect routing of data of transmission of data in inefficient data formats.
  • FIG. 2 shows the modules contained in printer application 6.
  • these modules include file discovery module 20, user interface module 21 , printer discovery module 22, file processing module 23 and file communication module 24.
  • the file discovery module 20 is capable of searching through the files stored on the mobile device 1 to identify files of a type which a user may wish to print.
  • User Interface module 21 is operable to display images on a screen of the mobile device 1 , and perform actions in response to user commands.
  • Printer discovery module 22 is a conventional module used to discover the presence and capabilities of printers via Bluetooth or WLAN transmissions.
  • the file processing module 23 is operable to determine appropriate processing of native-format files to provide corresponding printer-suitable data for available printers.
  • File communication module 24 when in use, can transmit and receive information as necessary to communicate printer-suitable data to available printers, either directly or using print-by-proxy via the remote server 10.
  • each of the modules shown in Figure 2 may run independently of, or concurrently with, the other modules.
  • the printer application 6 may be launched as a standalone application by a user of the mobile device 1 , or it may be launched by a call from another of the applications 5.
  • Figure 3 shows print application data 7a stored along with other files 7 on the mobile device 1.
  • the print application data 7a includes, by way of a non-exhaustive list: a printable Multipurpose Internet Mail Extension 'MIME' type list 31 , a discovered file list 32, a discovered device list 33 and printer settings 34.
  • the discovered file list 32 contains the following information for each entry on the list: a file ID 32A, the MIME type 32B of the file and the native format 32C of the file.
  • the discovered device list 33 comprises for each entry on the list a device ID field 33A and a device capabilities field 33B.
  • the printer settings 34 comprises the fields default printer 34A, resolution 34B, text-only printing 34C and print-by- proxy 34D.
  • the file discovery module 20 searches through all files 7 stored on a user's mobile device 1 and identifies those files 7 of a type which the user may wish to print. This identification is achieved by comparing the MIME type of each searched file with the printable MIME type list 31 to see if the file is of a type which contains data defining text or images or other matter which a user may potentially wish to print out in hard copy.
  • MIME is an Internet standard that defines the content type of e-mails and other files. The content types defined by MIME are also of importance in communication protocols like HTTP for the World Wide Web. Five MIME top-level media types are text, image, audio, video and application.)
  • the MIME types included in the printable MIME types list 31 will include text and image.
  • the printable MIME types list 31 can be modified by the user to reflect new file types or remove unwanted file types, or the list 31 may be similarly updated via a software update of the printer application 6. If a file is determined based on the printable MIME type list 31 to be printable, an entry corresponding to the file is added to the discovered file list 32. The entry will comprise the file ID 32A, including the location at which the file is stored, the MIME type 32B of the file and an indication of its native format 32C.
  • the printer discovery module 21 searches for available printers in a conventional manner, using Bluetooth and/or WiFi communication.
  • the printer discovery module 21 may also be invoked by a user while the printer application 12 is running.
  • the Bluetooth specification defines inquiry access codes that allow a device to specify the type of device it is seeking, such as PDAs, printers, or LAN access points.
  • the printer discovery module 21 can use service discovery network protocols such as the service location protocol 'SLP' to search for printers 4 connected to the IP network 3.
  • printer discovery module 21 is capable of populating the discovered device list 33 with printers 4 which are available for printing the files 7 containing matter suitable for printing that are stored on the mobile device 1 and identified in the discovered file list 32.
  • the discovered device list 33 will include for each entry a device ID 33A and its capabilities 33B e.g. information such as whether a particular printer is a postscript printer, supports native file type printing and/or what printer drivers are required. Once this list has been populated it is stored with the files 7 on the mobile device 1 , user interface module 22 is invoked.
  • Figure 4 shows a representation of the display 40 of the mobile device 1 as generated when the user interface module 22 is invoked.
  • the display 40 shows a number of options in boxes
  • the shown options include: print e- mails 41 , print SMS 42, print pictures 43, print other 44, print settings 45 and discover local printers 46.
  • print e- mails 41 print SMS 42
  • print pictures 43 print other 44
  • print settings 45 discover local printers 46.
  • Figure 4 shows the option discover local printers 46 being selected, which invokes the printer discovery module 21. Numerous user-selection methods will be apparent without further description.
  • the user will be able to select for printing any of the files 7 contained in the discovered file list 32.
  • the display 40 of the mobile device 1 will show a list of all e-mails stored on mobile device 1 , and the user can select an e-mail for printing as will be described in more detail below.
  • the print other option 44 the display 40 of the mobile device 1 will show the entries on the discovered file list 32 that are not of the type e- mail, SMS or picture. Whether a file is an e-mail, SMS, picture or other can be readily determined based on its MIME type 32B and its native format 32C.
  • a user is able to view and modify the printer settings 34 for the mobile device 1 by selecting the print settings option 45.
  • the printer settings 34 include a default printer field 34A in which one or more default printers can be identified.
  • the printer settings 34 also include a resolution field 34B in which a user may specify a default printing resolution and the printer application 6 may record a maximum resolution. For example, a user may specify the office printer nearest his desk as the default printer, and in some embodiments a file that has been selected for printing would automatically be sent to that printer to be printed at the specified default resolution.
  • a user may specify text printing options in advance in the text-only printing field 34C. Accordingly, a user may specify which file types should be printed as text only.
  • the print-by-proxy field contains the settings related to printing by proxy e.g. the identity of the remote server 10 to be used as a proxy, file types and print resolutions for which print-by-proxy will be used.
  • a user will also be able to modify the printer settings 34 in response to queries generated by the file processing module 23 after a file 7 has been selected by the user for printing. The steps performed by the file processing module 23 will now be described in more detail.
  • Figure 5 is a flow diagram showing the first set of steps that are performed when the file processing module 23 is invoked. This will occur whenever a user selects one of the print options 41-44 from a generated user interface.
  • the available printers 4 listed in the discovered device list 33 are presented to a user via display 40, so that the user can select by which printer 4 the file 7 will be printed.
  • the displayed list will include a summary of device capabilities 33B for each printer.
  • the printer may be selected automatically by the file processing module 23 based on the default printer settings 34A. At this point, it should be noted that the selection of the printer for printing is made prior to any determination of the abilities of the printer to deal with data in any particular format. Once a printer has been selected, the file processing module 23 proceeds to step s5-2.
  • the file processing module 23 compares the selected file's native format entry 32C in the discovered file list 32 with the selected printer's device capabilities entry 33B in the discovered device list 33. If it is determined that the selected printer 4 is capable of receiving and printing files in the native format of the selected file 7, then no further processing is required as the selected file can simply be sent in its native format to the printer 4; the file processing module 23 therefore proceeds to step s5-4. Otherwise, the file processing module 23 proceeds to step s5-3 to process the selected file 7 to generate print data to enable the selected file to be printed on the selected printer as will be described in more detail with reference to Figure 6.
  • the file communication module 24 is invoked to communicate to the selected printer 4 either the processed selected file 7 or the file in its native format.
  • the data communicated to the selected printer 4 may be transmitted to the printer directly or by proxy via remote server 10, or it may first be transmitted to the remote server 10 for processing before transmitting to the printer 4 the processed data returned from the remote server 10 .
  • Figure 6 is a flowchart that describes the steps taken by the file processing module 23 in processing data for printing.
  • the file processing module 23 determines whether the selected file 7 or only text contained therein is to be printed. In this embodiment, the file processing module 23 first determines based on the native format entry 32C and the MIME type entry 32B corresponding to the selected file 7 whether the selected file 7 contains one or more fields for text (e.g. a Word® file). If so, in this embodiment, the file processing module 23 prompts the user via the display 40 and proceeds in response to the user's selection. In alternative embodiments, the file processing module 23 may proceed automatically based on the text-only printing settings 34C recorded in the printer settings 34.
  • the native format entry 32C and the MIME type entry 32B corresponding to the selected file 7 whether the selected file 7 contains one or more fields for text (e.g. a Word® file). If so, in this embodiment, the file processing module 23 prompts the user via the display 40 and proceeds in response to the user's selection. In alternative embodiments, the file processing module 23 may proceed automatically based on the text-only printing settings 34C recorded in the printer settings 34.
  • the file processing module 23 extracts at step s6-2 the text from the one or more fields for text in the selected file 7 and proceeds to step s6-7; otherwise, the next step s6-3 is to determine whether the selected file is to be printed by proxy.
  • the file processing module 23 determines whether the selected file 7 is to be printed by proxy. In this embodiment, the file processing module 23 determines this by prompting the user, via the display 40, to indicate whether printing by proxy is desired and then proceeds according to the user's response. In alternative embodiments, the file processing module 23 may proceed automatically based on the print-by-proxy-settings 34D recorded in the printer settings 34. In any case, if it is determined that the selected file 7 is to be printed by proxy, the file processing module 23 proceeds to step s6-4. In this embodiment, at step s6-4 a flag is set to indicate that the selected file 7 is to be sent in its native format to an available proxy device 8 and then the file processing module 23 proceeds to invoke the file communication module 24. In alternative embodiments, the selected file 7 itself may be altered to indicate that it is to be printed by proxy. If it is determined that the file is not to be printed by proxy, the next step is s6-5.
  • the file processing module 23 checks the device capabilities 33B entry corresponding to the selected printer 4 and determines what, if any, device independent 'Dl' formats the selected printer 4 is capable of receiving and printing. For example, in this embodiment it is determined whether the selected printer 4 is capable of receiving and printing data in XML Paper Specification 'XPS' format, PostScript format or PDF format. Other equivalent device independent formats will be appreciated by those skilled in the art. If the selected printer 4 is capable of receiving and printing data in a Dl format, in this embodiment at step s6-6 the file processing module 23 converts the selected file to a supported Dl format and then proceeds to invoke the file communication module 24. If the selected printer does not support any Dl formats then the next step is step s6-7.
  • the file processing module 23 determines whether or not there is sufficient data stored on the mobile device 1 to suitably render the selected file 7 for the printer 4 being used to print the selected file.
  • the printer settings 34 includes information identifying classes of printer with which its rendering capabilities are compatible. This information is compared with the device capabilities entry 33B corresponding to the selected printer 4 in the discovered device list 33, and if the selected printer is of a class with which the printer applications rendering capabilities are compatible then the file processing module 23 renders at step s6-9 the selected file 7 for the selected printer 4.
  • the selected file 7 is rendered at a resolution according to the resolution settings 34B specified in the printer settings 34. In alternative options, the user may be given the option to choose the resolution at which the selected file 7 will be rendered.
  • the file processing module 23 communicates with the remote server 10 to identify and download further data so that they are compatible. In other embodiments, extra data may be identified but not downloaded, in which case the user will be given the option via display 40 to print-by-proxy or select another printer. After rendering, the file processing module 23 proceeds to invoke the file communication module 24 as will now be described with reference to Figure 7.
  • Figure 7 is a flow diagram showing the steps taken by the file communication module24 in sending data corresponding to the selected file 7 to be printed.
  • data corresponding to the selected file 7 will be either the selected file 7 in its native format, the selected file or the text contained therein in a Dl format, or the rendered output corresponding to the selected file 7.
  • the file communication module 24 checks to see whether the print-by-proxy flag has been set by the file processing module 23. In this embodiment, if the print-by-proxy flag has been set the file communication module 24, at step s7-2, transmits data to the remote server 10.
  • the data is the selected file 7 in its native format and data identifying the selected printer.
  • the data may be data indicative of a selected file 7 that is stored on a remote device and data identifying the selected printer 4.
  • data suitable for the selected printer 4 is sent from the remote server 10 to the selected printer 4.
  • data suitable for the selected printer 4 may be sent from the remote server 10 back to the mobile device 1 from which it may be sent to the selected printer 4.
  • the file communication module 24 determines the communication method to be used, prepares the data corresponding to the selected file 7 for transmission and transmits the data to the selected printer 4.
  • the communication method may be Bluetooth or WiFi communication.
  • the data suitable for the selected printer 4 may be communicated to the select printer 4 over the internet via the mast 8 using General Packet Radio Service 'GPRS', High-Speed Downlink Packet Access 'HSDPA' or the like.
  • the communication method is Bluetooth, the data may be prepared for transmission and transmitted using the Basic Printing Profile 'BPP', the Basic Imaging Profile 'BIP' or the Hard Copy Cable Replacement Profile 'HCRP' as appropriate.
  • the communication method is WiFi the data is packetized and transmitted using the Transmission Control Protocol/Internet Protocol 'TCP/IP'.
  • the file communication module 24 is terminated.
  • the user interface module then prompts the user via the display 40 select one of the options 41-46 or to terminate the printer application 12.
  • the print application 6 of the above described embodiment enables files 7 containing printable matter to be printed out without requiring the mobile handheld device 1 to have printer drivers for specific printers 4 to be installed. Additionally the print application provides the means for printing out such printable subject matter without requiring that individual applications which interact with different native files each having to have a separate print functionality included in the application.
  • the print application 6 also provides a way for printing text data from files such as e-mails or SMS messages which requires very limited processing to be undertaken by the mobile device 1 as it is substantially limited to extracting text data from a particular data format. This makes the process particularly suited for printing out data from a mobile handheld device as the processing undertaken is relatively limited.
  • the described print application 6 can be tailored in size and functionality through appropriate selection of the file types supported by the application and the device independent print data formats into which the print application 6 is designed to convert data for printing. Provision of conversion into a device independent format enables many printer types to be supported by a print application 6 without having to provide a print driver application for each printer. This combined with the possibility of a printer supporting direct printing of particular native file types (e.g. JPEG files) and the support for printing extracted text data reduces the occasions when printing by proxy is required and hence reduces the amount of data transmission necessary to achieve the printing out of files.
  • the file discovery module 20 searches through the files 7 stored on mobile device 1 to identify files containing printable matter. Entries corresponding to identified files 7 are added to the discovered device list. In alternative embodiments, the file discovery module 20 may identify files 7 which identify other files 7 that are stored on a remote server 10, and the location at which they are stored. For example, an e-mail may identify an attachment that was not sent to sent to the mobile device 1 , but which is stored on the remote server 10. In some embodiments, if such files are of file types which indicate the files include printable matter such as images or text data, entries corresponding to these remote files 7 will be entered on the discovered file list 32, the entry identifying that the file is stored remotely and indicating the location at which it is stored.
  • a remote file 7 is selected for printing then the file would be downloaded to the mobile device 1 and processed in a similar way to files stored on the device.
  • the remote file 7 may be printed by proxy without the file ever being downloaded onto the device 1.
  • the file may be rendered for printing by the remote server on which it is stored, or it may be transmitted to another remote server to be rendered.
  • remote server 10 may be a single server, or it may be a plurality of communicably linked servers.
  • the print application 6 may be updated by obtaining extra printer-specific information after a file 7 has been selected and the printer 4 to which the selected file 7 is to be sent has been identified
  • the print application 6, and in particular the file processing module 23, may be updated at other times.
  • the updating will be such as to configure file processing module 23 to be capable of converting a selected file 7 to a printer-compatible format for printers other than those already supported.
  • a software update may be communicated to mobile device 1 to update the print application 6 and/or the file processing module 23 to a later version which supports extra printers, as and when such updates become available.
  • print application 6 may link periodically to a remote server 10 to determine whether, based on the discovered device list 33, further printer-specific information is required.
  • the default printer field 34A may associate respective default printers with different locations e.g. an office default printer and a home default printer.
  • the print application 6 is capable of recognising where the mobile device 1 is located e.g. using global positioning system 'GPS' capabilities of the mobile device 1 , based on the identity of a network 3 to which the mobile device 1 is communicably linked or the radio cell within which the mobile device 1 is operating and the like.
  • a file 7 that has been selected for printing would automatically be sent to the default printer 4 associated with a location corresponding to the recognised location of the mobile device 1.
  • this may be achieved through the use of rules such as: when the mobile device 1 is communicably linked to a particular network 3, print to the default printer associated with that network; when the mobile device 1 is in a particular radio cell, print to the default printer 4 associated with that radio cell; and when the mobile device is in a particular geographical location, print to the default printer 4 associated with a geographical region in which the particular location lies.
  • rules such as: when the mobile device 1 is communicably linked to a particular network 3, print to the default printer associated with that network; when the mobile device 1 is in a particular radio cell, print to the default printer 4 associated with that radio cell; and when the mobile device is in a particular geographical location, print to the default printer 4 associated with a geographical region in which the particular location lies.
  • 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.
  • 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.

Abstract

A print application (6) is provided on a mobile device (1). The print application (6) is arranged to identify files (7) accessible by the mobile device (1)which contain data defining images or text. Subsequently, when a user selects such a file (7) and provides an identification of a printer (4) to be used,the print application (6) determines whether the identified printer (4) has the capability to print files of the type corresponding to the selected file (7). If this is the case, the selected file (7) is forwarded to the identified printer (4). Otherwise,the selected file (7) is processed to generate data in a format suitable for printing the selected file by the identified printer (4) and this data is transmitted to the identified selected printer (4).

Description

METHOD AND APPARATUS FOR MOBILR PRINTING
FIELD OF THE INVENTION
The present invention relates to printing from a mobile device. In particular, the present invention relates to a method of printing information stored on mobile devices in a native file format.
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.
The functionality of mobile phones is, however, still limited. If mobile phones are to take the place of portable computers, a mobile phone should offer its user a broad range of services comparable with the capabilities of a portable computer. In particular, due to the small screens on mobile phones it will often be necessary to print items from a mobile phone to improve viewing.
As mobile phone usage converges with the usage of other computing technology, many different types of native format file can be found stored in the memory of a mobile phone. Typically, these may include database files, spreadsheet files, word processing files, e-mail files, web page files, PDF files and image files such as JPEG, bitmap etc. At present mobile phones do not have the functionally to print all of these different file types.
Conventionally when printing a document from a computer or portable computer, an application such as a word processor is used to create or view the document. When a user wishes to print out the document, the application sends document data in its native format to a printer driver provided on the computer which translates the document data from its native format to data in a printer-specific format. This data is then transmitted to a printer as a print job. When a print job is received by the printer, the printer interprets the data included in the print job and prints a copy of the document.
Since a printer driver is arranged to convert native files into a printer-specific format, ordinarily a different printer driver is required to be installed for each type of printer that a computer can access. If the relevant printer driver is not already installed on a computer, a copy of the appropriate printer driver needs to be downloaded and installed so that a particular printer can be used. Ordinarily, downloading and installing printer drivers is not a significant problem in the case of a computer or portable computer as such machines usually have ample storage capacity for storing downloaded printer drivers and usually such computers have access to bandwidth to download the printer drivers.
Compared with desk top or portable computers, mobile handheld devices have considerable resource constraints with respect to storage capacity, processing speed and available power. Consequently, mobile device vendors do not include the capability to support the processing of native file format documents for printing. The constrained resources of a mobile device make it impracticable to include on the device the application software corresponding to all or most native file types that one would expect to be able to print from a portable computer. For example, mobile devices do not include application software such as Acrobat®, Word®, PowerPoint®, Excel®, etc.. Additionally users take mobile handheld devices to a wide variety of locations and hence may be in locations where a wide variety of different printers are used. Downloading and storing multiple printer drivers for all of the different types of printer is therefore impractical.
A number of attempts have been made to try to resolve the difficulties of providing mobile handheld devices with a print capability.
One approach is printing by proxy, in which native-format files are sent from a suitable application running on a mobile handheld device to another device (e.g. a server). The other device converts the received files into a printer-suitable format, and sends the converted files either back to the mobile device or to a printer. Examples of this approach are disclosed in EP1376331 and US2004/0130744.
Printing by proxy, does, however suffer from certain limitations. In particular in order to print a document by proxy a copy of the native file to be printed must be transmitted to the proxy server and then the print job generated by the proxy server needs to be transmitted to the printer which is to be used for printing. Where a document is detailed or is to be printed at high resolution this can involve a significant amount of data transmission
A second approach includes sending the native-format files directly to a printer, but only if the printer is operable to receive and print files in that format. By way of example, it may be that a mobile handheld device has stored thereon one or more JPEG images captured using a built-in camera which could be sent to and printed by a printer capable of printing JPEG images. Thus, prior art mobile devices may be capable of having printed some types of native format files stored thereon, the types being determined by capabilities of other devices.
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 a print application for printing files containing images or text accessible by a mobile device, the print application comprising: a file discovery module operable to identify files accessible by a mobile device associated with type data indicative of a file format of a type which contain data defining images or text; and a file processing module responsive to identification of a printer and user selection of a file identified as being of a type which contains data defining images or text by the file discovery module to: access data indicative of the types of file format which can be printed by the identified printer; forward the selected file to the identified printer if the identified printer is determined to have the capability to print files of the type corresponding to the selected file; and if the identified printer is determined not to have the capability to print files of the type corresponding to the selected file, to cause the selected file to be processed based on the type data associated with the selected file and data indicative of the types of file format which can be printed by the identified printer to generate data in a format suitable for printing the selected file by the identified printer and for the generated data in a format suitable for printing to be provided to the identified printer.
In accordance with another aspect of the present invention there is provided a method of printing a file accessible by a mobile device, the method comprising: identifying files accessible by the mobile device associated with type data indicative of a file format of a type which contain data defining images or text; and responding to identification of a printer and user selection of a file identified as being of a type which contains data defining images or text by: accessing data indicative of the types of file format which can be printed by the identified printer; forwarding the selected file to the identified printer if the identified printer is determined to have the capability to print files of the type corresponding to the selected file; if the identified printer is determined not to have the capability to print files of the type corresponding to the selected file, causing the selected file to be processed based on the type data associated with the selected file and data indicative of the types of file format which can be printed by the identified printer (to generate data in a format suitable for printing the selected file by the identified printer and transmitting the generated data to the identified selected printer; and printing the selected file at the selected printer using the data received by the printer.
BREIF DESCRIPTION OF THE PREFERRED EMBODIMENT
Aspects and advantages of the invention will become apparent with reference to the following description and accompanying drawings in which:
Figure 1 shows an overview of a system for printing from a mobile device in accordance with an embodiment of the present invention;
Figure 2 is a block diagram of a printer application of the mobile device of Figure 1 ;
Figure 3 is a block diagram of print application data stored on the mobile device of Figure 1 ;
Figure 4 is an illustrative example of a screen display of the mobile device of Figure 1 ;
Figure 5 is a flow diagram which illustrates the steps taken by the printer application of the mobile device of Figure 1 ;
Figure 6 is a flow diagram which illustrates the processing steps taken by the printer application of the mobile device of Figure 1 ; and
Figure 7 is a flow diagram which illustrates the communication steps taken by the printer application the mobile device of Figure 1.
SPECIFIC DESCRIPTION
Referring to Figure 1 , in accordance with an embodiment of the present invention, a mobile handheld device 1 such as a mobile phone or PDA is provided. The mobile device 1 is arranged to access communications network 2 which in this embodiment comprises an Internet protocol 'IP' network 3 having printers 4 connected thereto. Stored in the memory of the mobile device 1 are a number of applications 5 including a printer application 6 in accordance with the present invention together with files 7 generated by the applications, created or modified by a user and/or received from other devices. These files in this embodiment include a print data application file 7a which stores application data settings for printing out other files. As will be described in detail later, the printer application 6 is an application which utilises the data in the print data application file 7a to facilitate printing to the network printers 4 of various files 7 stored on the mobile device 1. More specifically, in this embodiment the communications network 2 includes a mast 8, the Internet 9 and one or more devices 4, 10, 12, 13 connected thereto. Mobile device 1 can be communicably linked via mast 8 to either the internet 9 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 3 via network access point 1 1. The IP network 3 has connected thereto a number of personal computers 'PCs' 12, printers 4 and a server 13 via which devices connected to the IP network 3 can connect to the Internet 9. Thus to print a file by proxy, in use the mobile device 1 may be communicably linked to the remote server 10, via IP network 3 or via the mast 8. The mobile device 1 can also be communicably linked to nearby (typically within 10 metres) devices such as printers 4 directly via Bluetooth. (Bluetooth is a wireless protocol for the exchange of data over short distances between fixed and/or mobile devices. Bluetooth provides a way to connect to, and exchange information between, devices such as mobile phones, laptops, personal computers, printers etc. using transmission on an unlicensed Industrial, Scientific and Medical 'ISM' 2.4 GHz short-range radio frequency bandwidth.)
In the present embodiment, the mobile device 1 has stored thereon applications 5 which provide capabilities including, e.g., internet browsing, sending and receiving e-mails, WiFi/WLAN (hereafter referred to as simply WiFi) connectivity and Bluetooth connectivity. In addition, stored on the mobile device 1 are a standard range of conventional mobile device applications, as will be appreciated by those skilled in the art without the need for further description.
In this embodiment, the mobile device 1 has stored thereon a number of native format files 7 e.g. JPEG images, music files, video files, e-mails, saved web pages, contacts information, short message service 'SMS' messages and a range of documents such as word-processed documents, spreadsheets and drawings. There are a number of ways in which the stored files 7 may have been provided on the mobile device 1 , e.g., via a Bluetooth transfer from another device, received in an e-mail, transferred over IP network 3 from a PC 12 connected thereto, or created/modified by a user e.g. images captured using a built in camera (not shown in Figure 1 ).
The applicant has appreciated that in order to be able to efficiently and conveniently print the files 7 stored on the mobile handheld device 1 (i.e. to be capable of processing the various native-type files) it is desirable to provide mobile device 1 with a printer application 6. More specifically, the applicant has appreciated that the conventional approaches to mobile printing are wasteful of resources in terms of data storage and data transmission as well as being limited in terms of functionality. Where a mobile device 1 stores separate modules each dedicated to printing out a specific file type associated with a specific application, this leads to unnecessary duplication of function. It is also possible that certain files which could be printed will not be printable because they were generated by applications other than those associated print functionality. Further having data transmitted for print by proxy may be inefficient as it can involve unnecessary indirect routing of data of transmission of data in inefficient data formats.
Prior to describing the processing performed by a printer application 6 in accordance with the present embodiment, the structure of the functional modules of the printer application 6 and data stored in a print data application file 7a which enable a device 1 to print more efficiently than printing arrangements in the prior art will first be described with reference to Figures 2 and 3.
Figure 2 shows the modules contained in printer application 6. In this embodiment these modules include file discovery module 20, user interface module 21 , printer discovery module 22, file processing module 23 and file communication module 24. The file discovery module 20 is capable of searching through the files stored on the mobile device 1 to identify files of a type which a user may wish to print. User Interface module 21 is operable to display images on a screen of the mobile device 1 , and perform actions in response to user commands. Printer discovery module 22 is a conventional module used to discover the presence and capabilities of printers via Bluetooth or WLAN transmissions. As will be described in detail later, the file processing module 23 is operable to determine appropriate processing of native-format files to provide corresponding printer-suitable data for available printers. File communication module 24, when in use, can transmit and receive information as necessary to communicate printer-suitable data to available printers, either directly or using print-by-proxy via the remote server 10. In the present embodiment, when the printer application 6 is running, each of the modules shown in Figure 2 may run independently of, or concurrently with, the other modules. The printer application 6 may be launched as a standalone application by a user of the mobile device 1 , or it may be launched by a call from another of the applications 5.
Figure 3 shows print application data 7a stored along with other files 7 on the mobile device 1. In this embodiment the print application data 7a includes, by way of a non-exhaustive list: a printable Multipurpose Internet Mail Extension 'MIME' type list 31 , a discovered file list 32, a discovered device list 33 and printer settings 34. The discovered file list 32 contains the following information for each entry on the list: a file ID 32A, the MIME type 32B of the file and the native format 32C of the file. The discovered device list 33 comprises for each entry on the list a device ID field 33A and a device capabilities field 33B. The printer settings 34 comprises the fields default printer 34A, resolution 34B, text-only printing 34C and print-by- proxy 34D.
When the printer application 6 is launched the file discovery module 20 searches through all files 7 stored on a user's mobile device 1 and identifies those files 7 of a type which the user may wish to print. This identification is achieved by comparing the MIME type of each searched file with the printable MIME type list 31 to see if the file is of a type which contains data defining text or images or other matter which a user may potentially wish to print out in hard copy. (MIME is an Internet standard that defines the content type of e-mails and other files. The content types defined by MIME are also of importance in communication protocols like HTTP for the World Wide Web. Five MIME top-level media types are text, image, audio, video and application.) In this embodiment, the MIME types included in the printable MIME types list 31 will include text and image. The printable MIME types list 31 can be modified by the user to reflect new file types or remove unwanted file types, or the list 31 may be similarly updated via a software update of the printer application 6. If a file is determined based on the printable MIME type list 31 to be printable, an entry corresponding to the file is added to the discovered file list 32. The entry will comprise the file ID 32A, including the location at which the file is stored, the MIME type 32B of the file and an indication of its native format 32C. Once the file discovery module 20 has identified all printable files, and the discovered file list 32 is populated with all the files identified as containing printable matter is stored on the mobile device 1 , the printer application 6 invokes the printer discovery module 21 , which will be described in more detail below.
In accordance with the present embodiment, in operation the printer discovery module 21 searches for available printers in a conventional manner, using Bluetooth and/or WiFi communication. (The printer discovery module 21 may also be invoked by a user while the printer application 12 is running.) The Bluetooth specification defines inquiry access codes that allow a device to specify the type of device it is seeking, such as PDAs, printers, or LAN access points. Similarly, using WiFi communication the printer discovery module 21 can use service discovery network protocols such as the service location protocol 'SLP' to search for printers 4 connected to the IP network 3. Thus, printer discovery module 21 is capable of populating the discovered device list 33 with printers 4 which are available for printing the files 7 containing matter suitable for printing that are stored on the mobile device 1 and identified in the discovered file list 32. The discovered device list 33 will include for each entry a device ID 33A and its capabilities 33B e.g. information such as whether a particular printer is a postscript printer, supports native file type printing and/or what printer drivers are required. Once this list has been populated it is stored with the files 7 on the mobile device 1 , user interface module 22 is invoked.
Figure 4 shows a representation of the display 40 of the mobile device 1 as generated when the user interface module 22 is invoked. The display 40 shows a number of options in boxes
41-46 from which a user can select a desired option. The shown options include: print e- mails 41 , print SMS 42, print pictures 43, print other 44, print settings 45 and discover local printers 46. In this embodiment, using typical mobile device controls a user can scroll through the list of options 41-46 to highlight and then select a desired option. Figure 4 shows the option discover local printers 46 being selected, which invokes the printer discovery module 21. Numerous user-selection methods will be apparent without further description.
In this embodiment, by selecting from the first three options 41-43 the user will be able to select for printing any of the files 7 contained in the discovered file list 32. For example, by selecting the print e-mails option 41 the display 40 of the mobile device 1 will show a list of all e-mails stored on mobile device 1 , and the user can select an e-mail for printing as will be described in more detail below. By selecting the print other option 44, the display 40 of the mobile device 1 will show the entries on the discovered file list 32 that are not of the type e- mail, SMS or picture. Whether a file is an e-mail, SMS, picture or other can be readily determined based on its MIME type 32B and its native format 32C.
In this embodiment, a user is able to view and modify the printer settings 34 for the mobile device 1 by selecting the print settings option 45. The printer settings 34 include a default printer field 34A in which one or more default printers can be identified. The printer settings 34 also include a resolution field 34B in which a user may specify a default printing resolution and the printer application 6 may record a maximum resolution. For example, a user may specify the office printer nearest his desk as the default printer, and in some embodiments a file that has been selected for printing would automatically be sent to that printer to be printed at the specified default resolution. A user may specify text printing options in advance in the text-only printing field 34C. Accordingly, a user may specify which file types should be printed as text only. In this embodiment, the print-by-proxy field contains the settings related to printing by proxy e.g. the identity of the remote server 10 to be used as a proxy, file types and print resolutions for which print-by-proxy will be used. In alternative embodiments, a user will also be able to modify the printer settings 34 in response to queries generated by the file processing module 23 after a file 7 has been selected by the user for printing. The steps performed by the file processing module 23 will now be described in more detail.
Figure 5 is a flow diagram showing the first set of steps that are performed when the file processing module 23 is invoked. This will occur whenever a user selects one of the print options 41-44 from a generated user interface.
At step s5-1 , the available printers 4 listed in the discovered device list 33 are presented to a user via display 40, so that the user can select by which printer 4 the file 7 will be printed. The displayed list will include a summary of device capabilities 33B for each printer. In other embodiments, the printer may be selected automatically by the file processing module 23 based on the default printer settings 34A. At this point, it should be noted that the selection of the printer for printing is made prior to any determination of the abilities of the printer to deal with data in any particular format. Once a printer has been selected, the file processing module 23 proceeds to step s5-2.
At step s5-2, in this embodiment the file processing module 23 compares the selected file's native format entry 32C in the discovered file list 32 with the selected printer's device capabilities entry 33B in the discovered device list 33. If it is determined that the selected printer 4 is capable of receiving and printing files in the native format of the selected file 7, then no further processing is required as the selected file can simply be sent in its native format to the printer 4; the file processing module 23 therefore proceeds to step s5-4. Otherwise, the file processing module 23 proceeds to step s5-3 to process the selected file 7 to generate print data to enable the selected file to be printed on the selected printer as will be described in more detail with reference to Figure 6.
At step s5-4, the file communication module 24 is invoked to communicate to the selected printer 4 either the processed selected file 7 or the file in its native format. The data communicated to the selected printer 4 may be transmitted to the printer directly or by proxy via remote server 10, or it may first be transmitted to the remote server 10 for processing before transmitting to the printer 4 the processed data returned from the remote server 10 .
Figure 6 is a flowchart that describes the steps taken by the file processing module 23 in processing data for printing.
At step s6-1 , in this embodiment the file processing module 23 determines whether the selected file 7 or only text contained therein is to be printed. In this embodiment, the file processing module 23 first determines based on the native format entry 32C and the MIME type entry 32B corresponding to the selected file 7 whether the selected file 7 contains one or more fields for text (e.g. a Word® file). If so, in this embodiment, the file processing module 23 prompts the user via the display 40 and proceeds in response to the user's selection. In alternative embodiments, the file processing module 23 may proceed automatically based on the text-only printing settings 34C recorded in the printer settings 34. In this embodiment, if it is determined that only the text is to be printed, the file processing module 23 extracts at step s6-2 the text from the one or more fields for text in the selected file 7 and proceeds to step s6-7; otherwise, the next step s6-3 is to determine whether the selected file is to be printed by proxy.
At step s6-3, the file processing module 23 determines whether the selected file 7 is to be printed by proxy. In this embodiment, the file processing module 23 determines this by prompting the user, via the display 40, to indicate whether printing by proxy is desired and then proceeds according to the user's response. In alternative embodiments, the file processing module 23 may proceed automatically based on the print-by-proxy-settings 34D recorded in the printer settings 34. In any case, if it is determined that the selected file 7 is to be printed by proxy, the file processing module 23 proceeds to step s6-4. In this embodiment, at step s6-4 a flag is set to indicate that the selected file 7 is to be sent in its native format to an available proxy device 8 and then the file processing module 23 proceeds to invoke the file communication module 24. In alternative embodiments, the selected file 7 itself may be altered to indicate that it is to be printed by proxy. If it is determined that the file is not to be printed by proxy, the next step is s6-5.
At step s6-5, the file processing module 23 checks the device capabilities 33B entry corresponding to the selected printer 4 and determines what, if any, device independent 'Dl' formats the selected printer 4 is capable of receiving and printing. For example, in this embodiment it is determined whether the selected printer 4 is capable of receiving and printing data in XML Paper Specification 'XPS' format, PostScript format or PDF format. Other equivalent device independent formats will be appreciated by those skilled in the art. If the selected printer 4 is capable of receiving and printing data in a Dl format, in this embodiment at step s6-6 the file processing module 23 converts the selected file to a supported Dl format and then proceeds to invoke the file communication module 24. If the selected printer does not support any Dl formats then the next step is step s6-7.
At step s6-7, the file processing module 23 determines whether or not there is sufficient data stored on the mobile device 1 to suitably render the selected file 7 for the printer 4 being used to print the selected file. In this embodiment, the printer settings 34 includes information identifying classes of printer with which its rendering capabilities are compatible. This information is compared with the device capabilities entry 33B corresponding to the selected printer 4 in the discovered device list 33, and if the selected printer is of a class with which the printer applications rendering capabilities are compatible then the file processing module 23 renders at step s6-9 the selected file 7 for the selected printer 4. In this embodiment, the selected file 7 is rendered at a resolution according to the resolution settings 34B specified in the printer settings 34. In alternative options, the user may be given the option to choose the resolution at which the selected file 7 will be rendered. If the selected printer is of a class with which the printer applications rendering capabilities are not compatible, in this embodiment the file processing module 23 communicates with the remote server 10 to identify and download further data so that they are compatible. In other embodiments, extra data may be identified but not downloaded, in which case the user will be given the option via display 40 to print-by-proxy or select another printer. After rendering, the file processing module 23 proceeds to invoke the file communication module 24 as will now be described with reference to Figure 7.
Figure 7 is a flow diagram showing the steps taken by the file communication module24 in sending data corresponding to the selected file 7 to be printed. In this embodiment, data corresponding to the selected file 7 will be either the selected file 7 in its native format, the selected file or the text contained therein in a Dl format, or the rendered output corresponding to the selected file 7.
At step s7-1 , the file communication module 24 checks to see whether the print-by-proxy flag has been set by the file processing module 23. In this embodiment, if the print-by-proxy flag has been set the file communication module 24, at step s7-2, transmits data to the remote server 10. In this embodiment, the data is the selected file 7 in its native format and data identifying the selected printer. In alternative embodiments, the data may be data indicative of a selected file 7 that is stored on a remote device and data identifying the selected printer 4. In this embodiment, at step s7-2 data suitable for the selected printer 4 is sent from the remote server 10 to the selected printer 4. In alternative embodiments, data suitable for the selected printer 4 may be sent from the remote server 10 back to the mobile device 1 from which it may be sent to the selected printer 4.
If print by proxy is not selected, at steps s7-3 to s7-5, the file communication module 24 determines the communication method to be used, prepares the data corresponding to the selected file 7 for transmission and transmits the data to the selected printer 4. In this embodiment, the communication method may be Bluetooth or WiFi communication. In alternative embodiments, the data suitable for the selected printer 4 may be communicated to the select printer 4 over the internet via the mast 8 using General Packet Radio Service 'GPRS', High-Speed Downlink Packet Access 'HSDPA' or the like. In this embodiment, if the communication method is Bluetooth, the data may be prepared for transmission and transmitted using the Basic Printing Profile 'BPP', the Basic Imaging Profile 'BIP' or the Hard Copy Cable Replacement Profile 'HCRP' as appropriate. In this embodiment, if the communication method is WiFi the data is packetized and transmitted using the Transmission Control Protocol/Internet Protocol 'TCP/IP'.
Once all of the data suitable for the selected printer 4 has been transmitted to the selected printer 4, the file communication module 24 is terminated. In this embodiment, the user interface module then prompts the user via the display 40 select one of the options 41-46 or to terminate the printer application 12.
It will be appreciated that the print application 6 of the above described embodiment enables files 7 containing printable matter to be printed out without requiring the mobile handheld device 1 to have printer drivers for specific printers 4 to be installed. Additionally the print application provides the means for printing out such printable subject matter without requiring that individual applications which interact with different native files each having to have a separate print functionality included in the application.
It will also be appreciated that the print application 6 also provides a way for printing text data from files such as e-mails or SMS messages which requires very limited processing to be undertaken by the mobile device 1 as it is substantially limited to extracting text data from a particular data format. This makes the process particularly suited for printing out data from a mobile handheld device as the processing undertaken is relatively limited.
Further, it will also be appreciated that the described print application 6 can be tailored in size and functionality through appropriate selection of the file types supported by the application and the device independent print data formats into which the print application 6 is designed to convert data for printing. Provision of conversion into a device independent format enables many printer types to be supported by a print application 6 without having to provide a print driver application for each printer. This combined with the possibility of a printer supporting direct printing of particular native file types (e.g. JPEG files) and the support for printing extracted text data reduces the occasions when printing by proxy is required and hence reduces the amount of data transmission necessary to achieve the printing out of files. ALTERNATIVE EMBODIMENTS AND MODIFICATIONS
In the embodiments described hereinabove, the file discovery module 20 searches through the files 7 stored on mobile device 1 to identify files containing printable matter. Entries corresponding to identified files 7 are added to the discovered device list. In alternative embodiments, the file discovery module 20 may identify files 7 which identify other files 7 that are stored on a remote server 10, and the location at which they are stored. For example, an e-mail may identify an attachment that was not sent to sent to the mobile device 1 , but which is stored on the remote server 10. In some embodiments, if such files are of file types which indicate the files include printable matter such as images or text data, entries corresponding to these remote files 7 will be entered on the discovered file list 32, the entry identifying that the file is stored remotely and indicating the location at which it is stored. If a remote file 7 is selected for printing then the file would be downloaded to the mobile device 1 and processed in a similar way to files stored on the device. In other embodiments, the remote file 7 may be printed by proxy without the file ever being downloaded onto the device 1. In such embodiments, the file may be rendered for printing by the remote server on which it is stored, or it may be transmitted to another remote server to be rendered.
In the embodiments described herein, reference has been made to remote server 10. The remote server may be a single server, or it may be a plurality of communicably linked servers.
Whereas in the embodiments already described the print application 6 may be updated by obtaining extra printer-specific information after a file 7 has been selected and the printer 4 to which the selected file 7 is to be sent has been identified, in other embodiments the print application 6, and in particular the file processing module 23, may be updated at other times. The updating will be such as to configure file processing module 23 to be capable of converting a selected file 7 to a printer-compatible format for printers other than those already supported. For example, a software update may be communicated to mobile device 1 to update the print application 6 and/or the file processing module 23 to a later version which supports extra printers, as and when such updates become available. Alternatively, print application 6 may link periodically to a remote server 10 to determine whether, based on the discovered device list 33, further printer-specific information is required.
In some embodiments, the default printer field 34A may associate respective default printers with different locations e.g. an office default printer and a home default printer. In such embodiments, the print application 6 is capable of recognising where the mobile device 1 is located e.g. using global positioning system 'GPS' capabilities of the mobile device 1 , based on the identity of a network 3 to which the mobile device 1 is communicably linked or the radio cell within which the mobile device 1 is operating and the like. Thus, in such embodiments, a file 7 that has been selected for printing would automatically be sent to the default printer 4 associated with a location corresponding to the recognised location of the mobile device 1. For example, this may be achieved through the use of rules such as: when the mobile device 1 is communicably linked to a particular network 3, print to the default printer associated with that network; when the mobile device 1 is in a particular radio cell, print to the default printer 4 associated with that radio cell; and when the mobile device is in a particular geographical location, print to the default printer 4 associated with a geographical region in which the particular location lies. Equivalent and alternative rules will be readily appreciable to those skilled in the art.
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.

Claims

CLAIMS:
1. A print application (6) for printing files (7) containing images or text accessible by a mobile device (1 ), the print application (6) comprising: a file discovery module (20) operable to identify files (7) accessible by a mobile device (1 ) associated with type data (32B; 32C) indicative of a file format of a type which contain data defining images or text; and a file processing module (23,24) responsive to identification of a printer (4) and user selection of a file (7) identified as being of a type which contains data defining images or text by the file discovery module (20) to: access data (33B) indicative of the types of file format which can be printed by the identified printer (4); forward the selected file (7) to the identified printer (4) if the identified printer is determined to have the capability to print files of the type corresponding to the selected file
(7); and if the identified printer (4) is determined not to have the capability to print files of the type corresponding to the selected file, to cause the selected file (7) to be processed (s5-3) based on the type data (32B; 32C) associated with the selected file (7) and data indicative of the types of file format which can be printed by the identified printer (4) to generate (s6-9) data in a format suitable for printing the selected file by the identified printer (4) and for the generated data in a format suitable for printing to be provided to the identified printer (4).
2. The print application (6) of claim 1 wherein if the identified printer (4) is determined not to have the capability to print files of the type corresponding to the selected file (7) the processing module (23,24) is operable to determine if the selected file (7) is a file containing text data and to process (s5-3) the selected file by extracting (s6-2) text data contained within the selected file and to utilise the extracted text data to generate (s6-9) data in a format suitable for printing by the identified printer (4).
3. The print application (6) of claim 1 wherein if the identified printer (4) is determined not to have the capability to print files of the type corresponding to the selected printable file (7) the processing module (23,24) is operable to determine based on the data (33B) indicative of the types of file format which can be printed by the identified printer (4) whether the identified printer can print data in a device independent format and convert (s6-6) the selected file (7) into a device independent format and output the converted data to the printer (4) if the identified printer (4) is determined to have the capability to print data in a device independent format.
4. The print application (6) of claim 1 wherein if the identified printer (4) is determined not to have the capability to print files of the type corresponding to the selected file (7) the processing module (23,24) is operable to forward the selected file (7) to a proxy server operable to convert the printable file (7) into a format suitable for printing by the identified printer and output the converted data to the identified printer (4).
5. The print application (6) of claim 1 wherein the files (7) accessible by the mobile device (1 ) comprise files stored on the mobile device (1 ).
6. The print application (6) of claim 1 wherein the files (7) accessible by the mobile device (1 ) comprise files stored on a remote server (10) at locations identified by data stored on the mobile device (1 ).
7. The print application (6) of any preceding claim, the print application (6) further comprising a printer discovery module (21 ) operable to determine printers (4) accessible by the mobile device (1 ) and generate a discovered device list (33) identifying the discovered printers (4) and the types of file format which can be printed by the discovered printers (4), wherein the print application (6) is configured to select (s5-1 ) a printer for printing a printable file (7) from the discovered device list (33) generated by the printer discovery module (21 ).
8. The print application (6) of claim 7, wherein the print application (6) is configured to select (s5-1 ) a printer (4) for printing a printable file (7) from the discovered device list (33) based on an identification (34A) of a default printer associated with the current location of the mobile device (1 ).
9. The print application (6) of any preceding claim, wherein the file discovery module (20) is operable to identify files as files being of a type to contain data defining images or text on the basis of files being files with a MIME type of text or image.
10. The print application (6) of any preceding claim, wherein the file discovery module (20) is operable to identify files as files being of a type to contain data defining images or text on the basis of identification of files (7) comprising any of: web pages, such as HTML or XHTML web pages; database files; spreadsheet files; word processing files; e-mail files; SMS message files; PDF files; and image files, such as JPEG files or bitmap files.
1 1. The print application (6) of any preceding claim, wherein the format suitable for printing comprises any of: General Packet Radio Service 'GPRS' data; High-Speed Downlink Packet Access 'HSDPA' data; Basic Printing Profile 'BPP' data; Basic Imaging Profile 'BIP' data; Hard Copy Cable Replacement Profile 'HCRP' data; and Transmission Control Protocol/Internet Protocol 'TCP/IP' data.
12. A communications system comprising: a mobile device (1 ) including a print application (6) in accordance with any preceding claim; a printer (4) responsive to receipt of data in a format suitable for printing a selected file from the print application (6) to print the selected file ; and a data transmission network (2) operable to transmit data from said mobile device (1 ) to said printer (4).
13. A method of printing a file (7) accessible by a mobile device (1 ), the method comprising: identifying files (7) accessible by the mobile device (1 ) associated with type data (32B; 32C) indicative of a file format of a type which contain data defining images or text; and responding to identification of a printer (4) and user selection of a file (7) identified as being of a type which contains data defining images or text by: accessing data (33B) indicative of the types of file format which can be printed by the identified printer (4); forwarding the selected file (7) to the identified printer (4) if the identified printer is determined to have the capability to print files of the type corresponding to the selected file (7) ; if the identified printer (4) is determined not to have the capability to print files of the type corresponding to the selected file, causing the selected file (7) to be processed (s5-3) based on the type data (32B; 32C) associated with the selected file (7) and data indicative of the types of file format which can be printed by the identified printer (4) to generate (s6-9) data in a format suitable for printing the selected file by the identified printer (4) and transmitting the generated data to the identified selected printer (4); and printing the selected file at the selected printer (4) using the data received by the printer (4).
14. A computer readable medium containing computer-executable instructions that, when executed by a programmable computer cause the computer to become configured as a print application (6) according to any of claims 1 to 1 1.
PCT/GB2010/050276 2009-02-20 2010-02-18 Method and apparatus for mobilr printing WO2010094965A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0902819.2A GB0902819D0 (en) 2009-02-20 2009-02-20 Method and apparatus for printing from a mobile device
GB0902819.2 2009-02-20

Publications (1)

Publication Number Publication Date
WO2010094965A1 true WO2010094965A1 (en) 2010-08-26

Family

ID=40565390

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2010/050276 WO2010094965A1 (en) 2009-02-20 2010-02-18 Method and apparatus for mobilr printing

Country Status (2)

Country Link
GB (1) GB0902819D0 (en)
WO (1) WO2010094965A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2482903A (en) * 2010-08-19 2012-02-22 Software Imaging Technology Ltd A print engine
CN103186355A (en) * 2011-12-28 2013-07-03 兄弟工业株式会社 Print control device and print control method
WO2014139478A1 (en) * 2013-03-15 2014-09-18 Hiti Digital, Inc. Methods to mobile printing and devices and systems thereof
GB2519162A (en) * 2013-10-14 2015-04-15 Canon Europa Nv Printing system, printing apparatus, mobile device and method of printing from a mobile device
US9158480B2 (en) 2011-12-19 2015-10-13 Hewlett-Packard Development Company, L.P. Printer application states
CN105094719A (en) * 2015-08-17 2015-11-25 小米科技有限责任公司 Printing method and device and printer
US9351154B1 (en) 2015-02-23 2016-05-24 Microsoft Technology Licensing, Llc Wireless advertising to initiate pairing
EP3200065A1 (en) * 2016-01-29 2017-08-02 Kabushiki Kaisha Toshiba System and method for document rendering
CN107025080A (en) * 2016-01-29 2017-08-08 株式会社东芝 Document processing system and method
CN110908618A (en) * 2019-11-15 2020-03-24 北京小米移动软件有限公司 File printing method and device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376331A2 (en) 2002-06-26 2004-01-02 Microsoft Corporation System and method for users of mobile computing devices to print documents
US20040130744A1 (en) 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
EP1489813A1 (en) * 2003-06-16 2004-12-22 Hewlett-Packard Development Company, L.P. Cellular telephone protocol adaptive printing
US20080158581A1 (en) * 2006-12-29 2008-07-03 Andrew Rodney Ferlitsch Direct print handling of native and non-native data formats

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376331A2 (en) 2002-06-26 2004-01-02 Microsoft Corporation System and method for users of mobile computing devices to print documents
US20040130744A1 (en) 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
EP1489813A1 (en) * 2003-06-16 2004-12-22 Hewlett-Packard Development Company, L.P. Cellular telephone protocol adaptive printing
US20080158581A1 (en) * 2006-12-29 2008-07-03 Andrew Rodney Ferlitsch Direct print handling of native and non-native data formats

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2482903A (en) * 2010-08-19 2012-02-22 Software Imaging Technology Ltd A print engine
US9158480B2 (en) 2011-12-19 2015-10-13 Hewlett-Packard Development Company, L.P. Printer application states
US9628636B2 (en) 2011-12-28 2017-04-18 Brother Kogyo Kabushiki Kaisha Print control device and computer-readable storage medium storing a program
CN103186355A (en) * 2011-12-28 2013-07-03 兄弟工业株式会社 Print control device and print control method
EP2610732A3 (en) * 2011-12-28 2014-03-05 Brother Kogyo Kabushiki Kaisha Print control device and computer-readable storage medium storing a program
US9069511B2 (en) 2011-12-28 2015-06-30 Brother Kogyo Kabushiki Kaisha Print control device and computer-readable storage medium storing a program
CN103186355B (en) * 2011-12-28 2016-08-31 兄弟工业株式会社 Print control unit and print control program
WO2014139478A1 (en) * 2013-03-15 2014-09-18 Hiti Digital, Inc. Methods to mobile printing and devices and systems thereof
GB2519162A (en) * 2013-10-14 2015-04-15 Canon Europa Nv Printing system, printing apparatus, mobile device and method of printing from a mobile device
GB2519162B (en) * 2013-10-14 2015-11-04 Canon Europa Nv Printing system, printing apparatus, mobile device and method of printing from a mobile device
US9351154B1 (en) 2015-02-23 2016-05-24 Microsoft Technology Licensing, Llc Wireless advertising to initiate pairing
CN105094719A (en) * 2015-08-17 2015-11-25 小米科技有限责任公司 Printing method and device and printer
EP3200065A1 (en) * 2016-01-29 2017-08-02 Kabushiki Kaisha Toshiba System and method for document rendering
CN107025079A (en) * 2016-01-29 2017-08-08 株式会社东芝 The system and method reproduced for document
CN107025080A (en) * 2016-01-29 2017-08-08 株式会社东芝 Document processing system and method
CN107025079B (en) * 2016-01-29 2021-08-31 株式会社东芝 System and method for document rendering
CN110908618A (en) * 2019-11-15 2020-03-24 北京小米移动软件有限公司 File printing method and device and storage medium

Also Published As

Publication number Publication date
GB0902819D0 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
WO2010094965A1 (en) Method and apparatus for mobilr printing
US10841798B2 (en) Information apparatus or client software that wirelessly discovers, within short range, one or more output devices for establishing a wireless connection
US7318086B2 (en) System for mobile and pervasive output
US8289551B2 (en) Approach for processing print data without a client print driver
JP5754128B2 (en) Image forming apparatus, information processing system, information processing method, and program
JP5655402B2 (en) Printing system
US7218406B2 (en) Mailbox printing services for information appliances
JP2007207237A (en) Network printing by driverless client
JP5299386B2 (en) Print data generation program, terminal device, and control method of terminal device
US20100082782A1 (en) Providing peripheral device attributes to a client for selection
JP2011034562A (en) Print system
CN100576162C (en) Method and system according to the print capacity operative installations print What of imaging device
JP2006246487A (en) System and method to perform document processing from handheld device
US20190034126A1 (en) Control apparatus, information processing control system, and method of controlling data transmission
JP2013168129A (en) Information processing system, data providing device, electronic apparatus, information processing method, data providing method, data acquiring method, and program
JP2010098732A (en) Client device with extensible image processing device driver, and method implementing the same
WO2010128339A2 (en) Method and apparatus for printing from a mobile device
JP2009181337A (en) Image forming system, management device, and image forming apparatus, method and program
JP2004213058A (en) Information providing device, information providing method, information providing system and information providing program

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: 10709034

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10709034

Country of ref document: EP

Kind code of ref document: A1