US20040001217A1 - System and method for users of mobile computing devices to print documents - Google Patents

System and method for users of mobile computing devices to print documents Download PDF

Info

Publication number
US20040001217A1
US20040001217A1 US10/180,764 US18076402A US2004001217A1 US 20040001217 A1 US20040001217 A1 US 20040001217A1 US 18076402 A US18076402 A US 18076402A US 2004001217 A1 US2004001217 A1 US 2004001217A1
Authority
US
United States
Prior art keywords
print
document
printed
print service
printing
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/180,764
Inventor
Zhanbing Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WU, ZHANBING
Priority to US10/180,764 priority Critical patent/US20040001217A1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to AU2003204348A priority patent/AU2003204348B2/en
Priority to MYPI20031952A priority patent/MY141125A/en
Priority to NO20032398A priority patent/NO334043B1/en
Priority to ZA200304201A priority patent/ZA200304201B/en
Priority to EP03012545A priority patent/EP1376331A3/en
Priority to CA002432063A priority patent/CA2432063A1/en
Priority to BR0301980-2A priority patent/BR0301980A/en
Priority to CA2759771A priority patent/CA2759771A1/en
Priority to MXPA03005368A priority patent/MXPA03005368A/en
Priority to PL03360753A priority patent/PL360753A1/en
Priority to TW092117026A priority patent/TWI265692B/en
Priority to RU2003119198/09A priority patent/RU2325688C2/en
Priority to KR1020030041404A priority patent/KR100981802B1/en
Priority to CN2009100067566A priority patent/CN101526889B/en
Priority to CNA031452418A priority patent/CN1495601A/en
Priority to JP2003183598A priority patent/JP2004062889A/en
Publication of US20040001217A1 publication Critical patent/US20040001217A1/en
Priority to US11/038,884 priority patent/US8068247B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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

Definitions

  • This invention relates generally to computer printing, and more particularly to a way to enable users of mobile computing devices to print documents conveniently.
  • the present invention provides a network printing service that enables mobile computing devices, such as laptop computer, Personal Digital Assistant (PDA) devices, Web cell phones, etc., to print documents easily even though they are not directly connected to a printer or do not support the applications and printer drivers for printing.
  • mobile computing devices such as laptop computer, Personal Digital Assistant (PDA) devices, Web cell phones, etc.
  • PDA Personal Digital Assistant
  • the print service includes a print service interface for interacting with the client to receive print request data, a router component for processing the print request, and a rendering component for converting documents from a source document format to a target format for printing.
  • the user enters a print request, which identifies the location of the document on the network (e.g., in terms of the document's URL).
  • the document may be directly passed from the mobile device to the print service. If applicable, the user also specifies the target printer through the same interface.
  • the print service receives the request, if the request gives the document's URL, it retrieves the document corresponding to that URL, renders the document into an appropriate target format, and prints the document as requested by the user.
  • the network print service framework of the invention can be implemented not only on the Internet, but also on networks of different sizes, such as corporate intranets, home LAN or the like.
  • FIG. 1 is a block diagram generally illustrating an exemplary computer system on which the present invention may be implemented
  • FIG. 2 is a schematic diagram showing an exemplary embodiment of a print service provided on the Internet for processing print requests by users of mobile Internet devices;
  • FIG. 3 is a schematic diagram showing another exemplary embodiment of a print service on the Internet.
  • FIG. 4 is a schematic diagram showing an embodiment of a print service gateway residing on a user's personal computer and accessible over a corporate intranet.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • program modules may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the invention may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • FIG. 1 a general purpose computing device is shown in the form of a conventional personal computer 20 , including a processing unit 21 , a system memory 22 , and a system bus 23 that couples various system components including the system memory to the processing unit 21 .
  • the system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory includes read only memory (ROM) 24 and random access memory (RAM) 25 .
  • a basic input/output system (BIOS) 26 containing the basic routines that help to transfer information between elements within the personal computer 20 , such as during start-up, is stored in ROM 24 .
  • the personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk 60 , a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
  • the hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive interface 33 , and an optical disk drive interface 34 , respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20 .
  • exemplary environment described herein employs a hard disk 60 , a removable magnetic disk 29 , and a removable optical disk 31 , it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, storage area networks, and the like may also be used in the exemplary operating environment.
  • a number of program modules may be stored on the hard disk 60 , magnetic disk 29 , optical disk 31 , ROM 24 or RAM 25 , including an operating system 35 , one or more applications programs 36 , other program modules 37 , and program data 38 .
  • a user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device 42 .
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB) or a network interface card.
  • a monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48 .
  • personal computers typically include other peripheral output devices, not shown, such as speakers and printers.
  • the personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49 .
  • the remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20 , although only a memory storage device 50 has been illustrated in FIG. 1.
  • the logical connections depicted in FIG. 1 include a local area network (LAN) 51 and a wide area network (WAN) 52 .
  • LAN local area network
  • WAN wide area network
  • the personal computer 20 When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 through a network interface or adapter 53 . When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the WAN 52 .
  • the modem 54 which may be internal or external, is connected to the system bus 23 via the serial port interface 46 .
  • program modules depicted relative to the personal computer 20 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • the computer may be in the form of a laptop computer and equipped with wireless transmission and networking capabilities for wireless connections to the Internet or other networks.
  • the present invention is directed to a print service architecture that allows the user of a mobile computing device, such as a laptop computer, a PDA, a Web cell phone (or “smart cell phone”), etc., to print documents even if the mobile device has no direct connection with or control over a printer, and even if the device has no processing power or memory capacity for applications and printer drivers required to perform the printing operations.
  • a mobile computing device such as a laptop computer, a PDA, a Web cell phone (or “smart cell phone”), etc.
  • the mobile device i's not required to handle the rendering of the document into a format acceptable to the printer, and does not even have to know where the printer is located. Instead, the mobile device only has to locate a print service on a network to which the mobile device is connected, tell the print service where the document is or pass the document to the print service, and the print service will control the printing operation to print the document as requested.
  • FIG. 2 illustrates an embodiment in which a print service 70 is implemented as part of a Web server on the Internet 72 .
  • the print service architecture according to the invention is scalable such that it can be used in other networks such as corporate intranets for handling print jobs, as will be described in greater detail below.
  • the user's mobile device which in this embodiment may be a Web cell phone 76 , a PDA 78 , a laptop 80 , or any other Internet device, is connected to the Internet 72 .
  • a user 82 named “Jane” may carry a Web cell phone 76 when she travels.
  • the hotel has a Web site 86 on the Internet that hosts a print service 70 .
  • Jane wants to print a document.
  • her documents 92 including the one she wants to print, are stored at a Web storage 90 on the Web.
  • She uses her Web cell phone 76 to connect to the Internet 72 , and to access (over the Wireless Application Protocol (WAP)) the Web site 86 of the hotel, which presents a print service interface page 88 that includes-queries and options for a print job.
  • WAP Wireless Application Protocol
  • the location of the document 94 to be printed is specified by a Uniform Resource Locator (URL) of the document.
  • the print service 70 includes a component 100 , hereinafter referred to as the print service gateway (PSG), for processing print requests from different users over the Internet.
  • PSG print service gateway
  • the print service gateway 100 selects a printer from a pool of printers 106 for handling the print job, and renders the document into a print-ready format suitable for the selected printer.
  • the rendering may be performed using an appropriate application for the particular document format (e.g., Microsoft Word ).
  • the print service may maintain a plurality of applications 110 for handling different types of documents.
  • the print service may use external rendering services on the Internet, such as the rendering services 112 , 114 , 116 in FIG. 2. In that case, the applications are not required.
  • the rendered document is then sent to the selected printer for printing, and the printed document is delivered as specified in the print request.
  • the mobile device is a Web cell phone
  • the particular type of mobile device used to submit the print request is not critical, and users of laptops and other Internet devices can use the print service 70 in the same way to print documents.
  • the user's mobile device is not required to carry the particular document to be printed.
  • the Web cell phone 76 may not even have the memory capacity for storing a copy of the document. Instead, the user only has to specify where the document may be found, and the print service will automatically retrieve the document based on that information and using the user's credentials necessary for gaining access to the document.
  • the user's credentials are either already available to the print service (e.g., provided during hotel check-in) or provided in conjunction with the print request, such as by using a certificate or an Internet “passport.”
  • the user's mobile device already carries the document. This may be the case, for example, when the user's mobile device is a “rich client” such as a laptop computer. In that scenario, the user can transmit the document directly from her device to the print service gateway as part of the print request data.
  • the user's mobile device does not have to do any rendering of the document or control the printing operation.
  • the mobile device does not have the application (e.g., Microsoft Word or Adobe Acrobat Reader) for the particular format of the document, and there is no need to download the printer driver to the device.
  • the application e.g., Microsoft Word or Adobe Acrobat Reader
  • the mobile device is a “rich client” such as a laptop that has substantial processing power and storage capacity, it is a rather complicated process to find the right driver to download to the device and then use the device to control the operation the printer.
  • the user can use the mobile device to print documents substantially wherever she goes and whenever she wants (limited by the network connection), without having to be concerned with the details of the printing operation.
  • a print service e.g., Internet
  • the user can use the mobile device to print documents substantially wherever she goes and whenever she wants (limited by the network connection), without having to be concerned with the details of the printing operation.
  • Jane is a real-estate agent. While on her way to meet her client, she wants to print the up-to-date home listing from her cell phone 76 . To do so, she clicks the “find the nearest print center” function in the menu presented on her cell phone.
  • Jane's cell phone provider has a Yellow Page service that includes Web links to commercial print centers' Web pages.
  • her cell phone detects her current location and searches its list of print centers. It presents the top five choices in the order of increasing distance from her current location.
  • Jane picks a print center 124 with the franchise name of, for example, “ABC,” by clicking on the link for that print center. She is then connected to ABC's Web server 120 and is presented with ABC's Web page 122 to enter her request. She then enters her print request and payment information via the ABC Web page.
  • ABC franchise name
  • the ABC Print Center Web server 120 hosts a print service gateway 126 for receiving print requests.
  • the print service gateway retrieves the document at the URL specified in the request, renders the document for printing, and prints on a printer at the ABC print center 124 selected by Jane.
  • the print service of ABC on the Web is not required to have local printers.
  • the print service framework of the invention is scalable and can be used in networks of different sizes.
  • FIG. 4 illustrates an embodiment in which a print service 132 is implemented in an intranet 136 of a corporation.
  • a user 140 named “Chris” goes to a conference room in another building in his company for a meeting, carrying his network-connected PDA 138 with him. While in the conference room, he realizes that he needs to print a document for the meeting. To do so, Chris does not have to know where the shared printers are in the building or how to install printer drivers.
  • the print service gateway 142 has access to all corporate network printers that are otherwise available to Chris' PC 132 . It assists Chris to select a particular printer, such as via the printer location map.
  • Chris interacts with the print service gateway 142 and sends a print request 148 to the print service gateway.
  • the print request identifies the document to be printed, which may be stored on his desktop PC or at a location on the intranet 136 , by its URL. It also identifies the target printer based on the information such as the printer's location. Chris's computer installs, if necessary, the needed printer drivers for the target printer on demand. Chris then walks over to the identified printer to pick up the printed document.
  • a print service 70 includes one or more servers each hosting a print service gateway component 100 , and a collection of applications 110 that are used to handle various document formats.
  • the applications may include Microsoft-Internet Explorer for HTML documents, Adobe Acrobat Reader for “.PDF” files, and Microsoft Word for “.DOC” documents, etc.
  • the print service further includes a collection of printers 106 and corresponding printer drivers that can be used by the applications to generate print-ready output data.
  • the collection of printer drivers varies depending on the particular printers the service supports. For example, a hotel print service may use the same printer model across the board and would need only one printer driver, while an enterprise print service may need many printer drivers due to accumulation of different printer models.
  • the print service 70 includes a print service user interface component 150 that provides user interfaces to allow users to enter print requests and get confirmation of the requests. It may also provide up-to-date status on the user's print requests and the print service in general.
  • This user interface component varies depending on the service as well as the client (e.g., laptops vs. PDAs with small screens).
  • Behind the user interface is the programming interface for print service gateway that defines how to compose a print request to a print service and receive feedback over the Internet (or an intranet).
  • the user interface component creates the actual print request package and sends it to a print service gateway.
  • the client can access the print service gateway's programming interface directly and send the print request (in XML format) directly to the print service.
  • the content of a print request includes the following data:
  • the print service would determine the format by analyzing the content, though this is generally not efficient.
  • the target printer's URL and characteristics such as the model name, PnP ID, secure access code, etc.
  • the criteria for selecting a target printer e.g., location. If this information is missing and no printer URL is given, the print service will select a target printer based on its own criteria, such as load balancing and priority.
  • the printing requirements such as color, duplex, stapling. If this information is missing, default settings will be used.
  • the content of the response generated by the print service 70 includes either a confirmation that the request is accepted or a rejection of the request, and, if accepted, a job ID, which is used in logging and billing.
  • a print request could be rejected due to any of the following and/or other reasons: the user is not authenticated to use the print service; the print service is offline; the document content cannot be retrieved; the document format is not supported; the specified printer is not supported; and the specified printing requirements cannot be satisfied (such as color printing).
  • Some “rich client” devices such as laptops, have more processing power and broad application base. They could be more sophisticated in terms of submitting print requests so users could get better print quality and performance. For instance, the device may query the list of supported document formats (e.g., in the order of decreasing preference).
  • the print service gateway (PSG) 100 includes a routing component 160 , a rendering component 162 , and a logging and billing component 166 .
  • the routing component 160 performs the following functions:
  • Validating the user's request and give feedback includes calling the PSG Rendering component to validate if the conversion from the given source format to the given destination format is supported.
  • a hotel print service may simply pass through all print requests to a print service contractor for actual processing and printing.
  • the rendering component 162 of the print service gateway 100 is responsible for converting the source document format to a target format, which is typically a print-ready format. It maintains the information about mapping between supported input formats and output formats. This includes information on what the formats are and what application software or external rendering service is needed to perform the specific mapping. It uses the data-driven approach to provide the extensibility.
  • Another component of the Web printing service is the logging and billing component, which handles the logging and billing operations for the servicing of the print requests. It is provided for supporting the Internet business model, and is likely not required if the network printing service is implemented in a different type of network. For instance, while a hotel print service will require the billing function, a print service on the intranet of a corporation may not.
  • the print service provides a programming interface that allows a client to submit print job requests and to query the job status.
  • the web print service supports there are three mandatory methods that the web print service supports:
  • CreatePrintJob allowing the client to submit a print request.
  • CancelPrintJob allowing the client to cancel a print request that has been previously submitted.
  • GetPrintJobData allowing the client to query the state of a print request that has been previously submitted.
  • IsFormatSupported allow the client to find out if a particular document format is supported by the print service. A client may want to use this method to verify the format first, especially when embedding the document content directly in the print request.
  • GetSupportedFormats allowing the client to get a list of supported document formats.
  • a client may want to use this method to select an optimal format to submit the source document, especially when the client (e.g., a laptop) has the capability to do some forms of format conversion.
  • GetPrinterModels allowing the client to find out the list of printer models used by the print service and their associated installable settings (such as duplexer installed or not). This would enable rich clients (such as laptops) to generate high-fidelity printer-ready data and pass through the print service to the printer directly. Few print services are expected to support this method, just those services that accept only printer-ready data.
  • Type data type, as defined in C#.
  • M/O indicating whether the parameter is mandatory (‘M’) or optional (‘O’).
  • the error code is returned in the ⁇ SOAP:fault> element.
  • the error codes are derived from the IPP status codes and named following the C# naming convention.
  • the print service When CreatePrintjob is called, the print service will create a new print job to represent the new print request and assign a unique job ID. It updates the job data based on what the client has provided and what can actually be supported. If a document URL link is provided, it retrieves the document content on the user's behalf. If everything is validated, it sets the job state to “accepted” and responds to the client while continuing on to print the document. The client can later query the status of a print request, such as the estimated completion time or the actual print settings, via GetPrintJobData. In all cases, the appropriate operation error code is set in its response.
  • a print service chooses to accept print-ready data, then it should support the parameter “jobTicket” which encapsulates the complete set of print settings used to generate the print-ready data. “jobTicket” is based on the standard Windows print system schema. If the print service cannot honor all the settings in “jobTicket”, it should reject the print request and return ClientErrorNotPossible.
  • binding The type of binding to be used, such as “none”, “coil”, “comb”, “stapled”. The default is “none”. If it is specified by the client, it will be verified against other job requirements. If there is conflict, the service should pick the appropriate binding type and update the job data accordingly.
  • Each print service may define additional fields, such as “promotion code.”
  • Code 0x0400; Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as bad parameter values.
  • Code 0x0402; Meaning: ClientErrorNotAuthenticated; Usage: The user is not authenticated to use the print service.
  • Code 0x0403; Meaning: ClientErrorNotAuthorized; Usage: The user is not authorized to create a print job.
  • the print service deletes the given print job after verifying the user credential.
  • Code 0x0400; Code Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as invalid job ID or the job has already been canceled.
  • Code 0x0402; Code Meaning: ClientErrorNotAuthenticated; Usage: The user is not authenticated.
  • Code 0x0500; Code Meaning: ServerErrorInternalError; Usage: Catch-all error code for all internal errors.
  • This method returns the set of print job data associated with the given job ID, as listed below.
  • the job may be in any of the state: “accepted”, “printing”, “cancelled”, or “completed”.
  • Each print service decides how long it will maintain the data for a print job.
  • a print request involves a device-independent document format (such as .DOC)
  • the print settings that come with the request are treated as “suggestions”.
  • the service may adjust the settings in order to resolve conflicts (such as “color” AND “two sided printing”) based on its capabilities.
  • the client can call GetPrintJobData to find out the actual settings used in printing and notify the user if appropriate.
  • duplex setting If the user has specified a duplex setting when creating the print job, it may have been modified to resolve conflicts and other constraints.
  • GetPrintJobData has the same set of error codes as CancelPrintJob.
  • Code 0x0400; Code Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as null ‘docFormat’.
  • Code 0x0500; Code Meaning: ServerErrorInternalError; Usage: Catch-all error code for all internal errors.
  • IsFormatSupported It has the same set of error codes as IsFormatSupported. Note that if the client has means (such as a special printer driver) to do document format conversions (such as from Visio format to PDF), it can use GetSupportedFormats to find an optimal submission format. Otherwise, it can use IsFormatSupported to query if the document in question can be printed. A client does not have to call either method to validate the document format. If it doesn't and the submitted format is not supported, the print service would return ClientErrorDocumentFormatNotSupported error code.
  • a print service If a print service supports this method, it should return the list of printer names (such as “HP LaserJet 8000”) that are being used. This method is targeted for rich PC clients to send printer-ready data to the print service directly for optimal print rendering quality.
  • WSDL Web Service Description Language
  • minOccurs the required and optional parameters

Abstract

A print service is provided on a network, such as the Internet or a corporate intranet, for mobile computing devices, such as laptops, PDA's and Web cell phones, etc., to print documents. When the user of a mobile device wants to print a document, the mobile device is used to access the print service and send a print request that specifies the location the document on the network in terms of URL. In response, the print service validates the print request, retrieves the document, renders the document for printing, and prints the document as requested by the user. Alternatively, the document may be directly provided by the mobile device to the print service.

Description

    TECHNICAL FIELD OF THE INVENTION
  • This invention relates generally to computer printing, and more particularly to a way to enable users of mobile computing devices to print documents conveniently. [0001]
  • BACKGROUND OF THE INVENTION
  • As the Internet matures, more and more functions, such as email, calendar, file storage, authentication, etc., have moved to the World Wide Web on the Internet. With the increasing availability of high-speed Internet access everywhere, customers are shifting their priority to Internet-based mobile scenarios, especially with wireless Internet connection. Thus, many mobile computing devices are now equipped with wireless Internet access capabilities, and there is a proliferation of new Internet devices in a wide range of form factors, such Web cell phones (i.e., cell phones with the ability to connect to the Internet wirelessly), etc. There are now millions of on-the-go people who access their data, documents, and e-mail from their cell phones and other hand-held devices. [0002]
  • Even though mobile devices provide their users with the freedom to access the Internet or other networks without being tied to their desktop computers, most small mobile devices, such as PDA's or Web cell phones, have very small display screens, and it is somewhat inconvenient and often difficult to read regular documents (e.g., a spread sheet) on such small screens. For this reason, users of small mobile devices may want to print the documents out and read the printed documents. After all, paper is a great viewing media that is portable, easy to read, and easy to share. In addition, it requires no power. The combination of rich contents available on the Internet and the physical limitation of small devices means that users would want to print the contents from time to time at any place where they can access the content. [0003]
  • Currently there is, however, no convenient way for mobile device users to print documents when they are away from their desktop computers. Traditionally, it is difficult even for users of laptop computers to print documents while away from their offices. For instance, when a user carries her laptop to a different building of her company for a meeting, even if she can log onto the corporate intranet and retrieve a document she needs for the meeting, she may find that she is not able to print that document easily. In order to print the document on a printer in that building, she has to first discover which printers are in the building, select a printer that is close to her, and download the driver for that printer to her laptop. She then runs an appropriate application (e.g., Microsoft Word, Adobe Acrobat Reader, etc.) for that particular document format, which renders the document into a printer-acceptable format and uses the print driver to print the document. When the user moves to a new location and wants to print on a different printer, she has to repeat the printer installation process. [0004]
  • In comparison with printing with laptops, it is even harder for users of small Internet devices to print documents. There is currently a diverse set of hardware and operating system platforms for those “thin-client” devices. Such diversity would make it very difficult to develop a robust set of printer drivers for each hardware/OS platform. Moreover, print rendering generally requires intensive CPU power and memory consumption. Many small mobile devices simply do not have the memory space to store the applications or the printer drivers or the processing power required for the printing operation. [0005]
  • Thus, what is needed is an effective solution for users of various types of mobile devices to print documents when and where they need the documents even if the devices are not connected directly to any printers or do not even have the capacity or software to handle the printing task. [0006]
  • SUMMARY OF THE INVENTION
  • In view of the foregoing, the present invention provides a network printing service that enables mobile computing devices, such as laptop computer, Personal Digital Assistant (PDA) devices, Web cell phones, etc., to print documents easily even though they are not directly connected to a printer or do not support the applications and printer drivers for printing. When the user of a mobile computing device wants to print a document, the mobile device is used to access a network, such as the Internet, on which the print service resides. The print service includes a print service interface for interacting with the client to receive print request data, a router component for processing the print request, and a rendering component for converting documents from a source document format to a target format for printing. Using the print service interface, the user enters a print request, which identifies the location of the document on the network (e.g., in terms of the document's URL). Alternatively, the document may be directly passed from the mobile device to the print service. If applicable, the user also specifies the target printer through the same interface. When the print service receives the request, if the request gives the document's URL, it retrieves the document corresponding to that URL, renders the document into an appropriate target format, and prints the document as requested by the user. [0007]
  • The network print service framework of the invention can be implemented not only on the Internet, but also on networks of different sizes, such as corporate intranets, home LAN or the like.[0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • While the appended claims set forth the features of the present invention with particularity, the invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which: [0009]
  • FIG. 1 is a block diagram generally illustrating an exemplary computer system on which the present invention may be implemented; [0010]
  • FIG. 2 is a schematic diagram showing an exemplary embodiment of a print service provided on the Internet for processing print requests by users of mobile Internet devices; [0011]
  • FIG. 3 is a schematic diagram showing another exemplary embodiment of a print service on the Internet; and [0012]
  • FIG. 4 is a schematic diagram showing an embodiment of a print service gateway residing on a user's personal computer and accessible over a corporate intranet.[0013]
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENT
  • Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. [0014]
  • The following description begins with a description of a general-purpose computing device that may be used in an exemplary system for implementing the invention, and the invention will be described in greater detail with reference to FIGS. [0015] 2-4. Turning now to FIG. 1, a general purpose computing device is shown in the form of a conventional personal computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that couples various system components including the system memory to the processing unit 21. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the personal computer 20, such as during start-up, is stored in ROM 24. The personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk 60, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
  • The [0016] hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20. Although the exemplary environment described herein employs a hard disk 60, a removable magnetic disk 29, and a removable optical disk 31, it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, storage area networks, and the like may also be used in the exemplary operating environment.
  • A number of program modules may be stored on the [0017] hard disk 60, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more applications programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB) or a network interface card. A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices, not shown, such as speakers and printers.
  • The [0018] personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20, although only a memory storage device 50 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 51 and a wide area network (WAN) 52. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • When used in a LAN networking environment, the [0019] personal computer 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the WAN 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. For instance, the computer may be in the form of a laptop computer and equipped with wireless transmission and networking capabilities for wireless connections to the Internet or other networks.
  • In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computers, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by the processing unit of the computer of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in the memory system of the computer, which reconfigures or otherwise alters the operation of the computer in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations of the memory that have particular properties defined by the format of the data. However, while the invention is being described in the foregoing context, it is not meant to be limiting as those of skill in the art will appreciate that various of the acts and operations described hereinafter may also be implemented in hardware. [0020]
  • Turning now to FIG. 2, the present invention is directed to a print service architecture that allows the user of a mobile computing device, such as a laptop computer, a PDA, a Web cell phone (or “smart cell phone”), etc., to print documents even if the mobile device has no direct connection with or control over a printer, and even if the device has no processing power or memory capacity for applications and printer drivers required to perform the printing operations. In accordance with the invention, the mobile device i's not required to handle the rendering of the document into a format acceptable to the printer, and does not even have to know where the printer is located. Instead, the mobile device only has to locate a print service on a network to which the mobile device is connected, tell the print service where the document is or pass the document to the print service, and the print service will control the printing operation to print the document as requested. [0021]
  • FIG. 2 illustrates an embodiment in which a [0022] print service 70 is implemented as part of a Web server on the Internet 72. It will be appreciated, however, the print service architecture according to the invention is scalable such that it can be used in other networks such as corporate intranets for handling print jobs, as will be described in greater detail below. As shown in FIG. 2, the user's mobile device, which in this embodiment may be a Web cell phone 76, a PDA 78, a laptop 80, or any other Internet device, is connected to the Internet 72.
  • By way of example, in one scenario, a [0023] user 82 named “Jane” may carry a Web cell phone 76 when she travels. When she checks into a hotel, she gives her “Internet credentials” to the hotel. The hotel has a Web site 86 on the Internet that hosts a print service 70. Later, while preparing for a meeting with clients, Jane wants to print a document. It is assumed that her documents 92, including the one she wants to print, are stored at a Web storage 90 on the Web. She uses her Web cell phone 76 to connect to the Internet 72, and to access (over the Wireless Application Protocol (WAP)) the Web site 86 of the hotel, which presents a print service interface page 88 that includes-queries and options for a print job. Via the interface Web page 88, Jane enters information regarding the print job, including the location of the document, print specification data (e.g., color or black/white, stapled or bonded, number of copies, etc.), and any other required information. In this example, the location of the document 94 to be printed is specified by a Uniform Resource Locator (URL) of the document. She may also specify whether the printed document should be delivered to her hotel room or be sent to the front desk for her to pick up. She then submits the print request 96, and receives via the Web cell phone 76 a confirmation 98 from the print service of receipt of the print request.
  • The [0024] print service 70 includes a component 100, hereinafter referred to as the print service gateway (PSG), for processing print requests from different users over the Internet. When it receives Jane's print request 96, it verifies her hotel guest status using the check-in information in a hotel guest database. It also validates the print request to see whether it contains the required information. If there is any problem, it would notify Jane immediately via her cell phone 76. If both the user status and print request are validated, the print service gateway 100 uses Jane's Internet credentials to gain access to her Web storage 90 where she stores her documents, and uses the URL of the particular document 94 to retrieve that document. After retrieving the document, the print service gateway 100 selects a printer from a pool of printers 106 for handling the print job, and renders the document into a print-ready format suitable for the selected printer. The rendering may be performed using an appropriate application for the particular document format (e.g., Microsoft Word ). For that purpose, the print service may maintain a plurality of applications 110 for handling different types of documents. Alternatively, the print service may use external rendering services on the Internet, such as the rendering services 112, 114, 116 in FIG. 2. In that case, the applications are not required. The rendered document is then sent to the selected printer for printing, and the printed document is delivered as specified in the print request.
  • Even though in this example the mobile device is a Web cell phone, it will be appreciated that the particular type of mobile device used to submit the print request is not critical, and users of laptops and other Internet devices can use the [0025] print service 70 in the same way to print documents.
  • It can be seen from this example that the user's mobile device is not required to carry the particular document to be printed. In this example, the [0026] Web cell phone 76 may not even have the memory capacity for storing a copy of the document. Instead, the user only has to specify where the document may be found, and the print service will automatically retrieve the document based on that information and using the user's credentials necessary for gaining access to the document. In this regard, the user's credentials are either already available to the print service (e.g., provided during hotel check-in) or provided in conjunction with the print request, such as by using a certificate or an Internet “passport.”
  • It is possible, however, that the user's mobile device already carries the document. This may be the case, for example, when the user's mobile device is a “rich client” such as a laptop computer. In that scenario, the user can transmit the document directly from her device to the print service gateway as part of the print request data. [0027]
  • It will be appreciated that the user's mobile device does not have to do any rendering of the document or control the printing operation. As a result, there is no need for the mobile device to have the application (e.g., Microsoft Word or Adobe Acrobat Reader) for the particular format of the document, and there is no need to download the printer driver to the device. This is an important advantage, as many mobile devices such as PDAs or Web cell phones do not have the processing power for rendering documents for printing or the memory capacity for holding the applications or print drivers. Moreover, even if the mobile device is a “rich client” such as a laptop that has substantial processing power and storage capacity, it is a rather complicated process to find the right driver to download to the device and then use the device to control the operation the printer. By delegating the print job to a print service on the network (e.g., Internet) accessible by a lightweight mobile device, the user can use the mobile device to print documents substantially wherever she goes and whenever she wants (limited by the network connection), without having to be concerned with the details of the printing operation. [0028]
  • To illustrate the wide applicability of the print service architecture of the invention, another scenario is described below with reference to FIG. 3. In this scenario, Jane is a real-estate agent. While on her way to meet her client, she wants to print the up-to-date home listing from her [0029] cell phone 76. To do so, she clicks the “find the nearest print center” function in the menu presented on her cell phone. In this example, Jane's cell phone provider has a Yellow Page service that includes Web links to commercial print centers' Web pages. When she clicks on the “find the nearest print center” function, her cell phone detects her current location and searches its list of print centers. It presents the top five choices in the order of increasing distance from her current location. From this list, Jane picks a print center 124 with the franchise name of, for example, “ABC,” by clicking on the link for that print center. She is then connected to ABC's Web server 120 and is presented with ABC's Web page 122 to enter her request. She then enters her print request and payment information via the ABC Web page.
  • Similar to the example of FIG. 2, the ABC Print [0030] Center Web server 120 hosts a print service gateway 126 for receiving print requests. When the user enters the print request, the print service gateway retrieves the document at the URL specified in the request, renders the document for printing, and prints on a printer at the ABC print center 124 selected by Jane. In this embodiment, since documents are to be printed at print centers selected by customers, the print service of ABC on the Web is not required to have local printers.
  • The print service framework of the invention is scalable and can be used in networks of different sizes. By way of example, another mobile printing scenario is described below with reference to FIG. 4, which illustrates an embodiment in which a [0031] print service 132 is implemented in an intranet 136 of a corporation. In this scenario, a user 140 named “Chris” goes to a conference room in another building in his company for a meeting, carrying his network-connected PDA 138 with him. While in the conference room, he realizes that he needs to print a document for the meeting. To do so, Chris does not have to know where the shared printers are in the building or how to install printer drivers. He uses his PDA to access the print service gateway 142 that is hosted on his desktop personal computer (PC) 132 in his office via the corporate intranet 136. The print service gateway 142 has access to all corporate network printers that are otherwise available to Chris' PC 132. It assists Chris to select a particular printer, such as via the printer location map. Using the PDA, Chris interacts with the print service gateway 142 and sends a print request 148 to the print service gateway. The print request identifies the document to be printed, which may be stored on his desktop PC or at a location on the intranet 136, by its URL. It also identifies the target printer based on the information such as the printer's location. Chris's computer installs, if necessary, the needed printer drivers for the target printer on demand. Chris then walks over to the identified printer to pick up the printed document.
  • Returning to FIG. 2, in one embodiment, a [0032] print service 70 includes one or more servers each hosting a print service gateway component 100, and a collection of applications 110 that are used to handle various document formats. For example, the applications may include Microsoft-Internet Explorer for HTML documents, Adobe Acrobat Reader for “.PDF” files, and Microsoft Word for “.DOC” documents, etc. In the illustrated embodiment, the print service further includes a collection of printers 106 and corresponding printer drivers that can be used by the applications to generate print-ready output data. The collection of printer drivers varies depending on the particular printers the service supports. For example, a hotel print service may use the same printer model across the board and would need only one printer driver, while an enterprise print service may need many printer drivers due to accumulation of different printer models.
  • The [0033] print service 70 includes a print service user interface component 150 that provides user interfaces to allow users to enter print requests and get confirmation of the requests. It may also provide up-to-date status on the user's print requests and the print service in general. This user interface component varies depending on the service as well as the client (e.g., laptops vs. PDAs with small screens). Behind the user interface is the programming interface for print service gateway that defines how to compose a print request to a print service and receive feedback over the Internet (or an intranet). In one implementation, the user interface component creates the actual print request package and sends it to a print service gateway. In another implementation, the client can access the print service gateway's programming interface directly and send the print request (in XML format) directly to the print service.
  • In one implementation, the content of a print request includes the following data: [0034]
  • 1. The user's “Internet credentials” or Web identity. This information is needed to authenticate the user for document access as well as print service access. It can also be used in logging and billing. [0035]
  • 2. The document's content, or its URL. [0036]
  • 3. Optionally, the format of the document. If this information is not provided, the print service would determine the format by analyzing the content, though this is generally not efficient. [0037]
  • 4. Optionally, the target printer's URL and characteristics such as the model name, PnP ID, secure access code, etc, [0038]
  • 5. Optionally, the criteria for selecting a target printer (e.g., location). If this information is missing and no printer URL is given, the print service will select a target printer based on its own criteria, such as load balancing and priority. [0039]
  • 6. Optionally, the printing requirements such as color, duplex, stapling. If this information is missing, default settings will be used. [0040]
  • The content of the response generated by the [0041] print service 70 includes either a confirmation that the request is accepted or a rejection of the request, and, if accepted, a job ID, which is used in logging and billing. A print request could be rejected due to any of the following and/or other reasons: the user is not authenticated to use the print service; the print service is offline; the document content cannot be retrieved; the document format is not supported; the specified printer is not supported; and the specified printing requirements cannot be satisfied (such as color printing).
  • Some “rich client” devices, such as laptops, have more processing power and broad application base. They could be more sophisticated in terms of submitting print requests so users could get better print quality and performance. For instance, the device may query the list of supported document formats (e.g., in the order of decreasing preference). [0042]
  • In the embodiment for mobile printing over the Internet illustrated in FIG. 2, the print service gateway (PSG) [0043] 100 includes a routing component 160, a rendering component 162, and a logging and billing component 166. The routing component 160 performs the following functions:
  • Parsing the incoming print requests. [0044]
  • Authenticating the user to use the print service. [0045]
  • Negotiating with the client regarding print capabilities (ex. document formats). This would allow powerful clients to submit preferred format for best results. [0046]
  • Retrieving the document content if needed. Use the provided user credentials if the document has restricted access. [0047]
  • Validating the user's request and give feedback. This includes calling the PSG Rendering component to validate if the conversion from the given source format to the given destination format is supported. [0048]
  • Spooling and scheduling the requests for further processing (rendering and/or printing). [0049]
  • Redirecting the print request to another print service if appropriate. This may be used for service branding. [0050]
  • For example, a hotel print service may simply pass through all print requests to a print service contractor for actual processing and printing. [0051]
  • The [0052] rendering component 162 of the print service gateway 100 is responsible for converting the source document format to a target format, which is typically a print-ready format. It maintains the information about mapping between supported input formats and output formats. This includes information on what the formats are and what application software or external rendering service is needed to perform the specific mapping. It uses the data-driven approach to provide the extensibility.
  • When format conversion is done locally, the appropriate application software and printer drivers are installed locally. If external dedicated print rendering services are used, then the print service gateway simply passes through the content (e.g., PS files) without any conversion. To increase the reliability of the format conversion, it is very advantageous to have one canonical intermediate format that all clients could use to submit the document data. Such format would be device-independent. Short of a standard format, a print service could restrict the formats to the set that satisfies its reliability criteria. [0053]
  • Another component of the Web printing service is the logging and billing component, which handles the logging and billing operations for the servicing of the print requests. It is provided for supporting the Internet business model, and is likely not required if the network printing service is implemented in a different type of network. For instance, while a hotel print service will require the billing function, a print service on the intranet of a corporation may not. [0054]
  • As described above, the print service provides a programming interface that allows a client to submit print job requests and to query the job status. In one implementation, there are three mandatory methods that the web print service supports: [0055]
  • CreatePrintJob: allowing the client to submit a print request. [0056]
  • CancelPrintJob: allowing the client to cancel a print request that has been previously submitted. [0057]
  • GetPrintJobData: allowing the client to query the state of a print request that has been previously submitted. [0058]
  • There are also three optional methods that a web print service may choose to support in order to optimize the operations: [0059]
  • IsFormatSupported: allow the client to find out if a particular document format is supported by the print service. A client may want to use this method to verify the format first, especially when embedding the document content directly in the print request. [0060]
  • GetSupportedFormats: allowing the client to get a list of supported document formats. A client may want to use this method to select an optimal format to submit the source document, especially when the client (e.g., a laptop) has the capability to do some forms of format conversion. [0061]
  • GetPrinterModels: allowing the client to find out the list of printer models used by the print service and their associated installable settings (such as duplexer installed or not). This would enable rich clients (such as laptops) to generate high-fidelity printer-ready data and pass through the print service to the printer directly. Few print services are expected to support this method, just those services that accept only printer-ready data. [0062]
  • The details of each of the methods identified above are described below. Follow the description of each method is the “Arguments” list that details all the parameters. It has following attributes: [0063]
  • Data Field: the name of the parameter. It follows the VisualStudio.NET naming convention. [0064]
  • Dir: the direction of the parameter, IN, OUT or IN/OUT (‘ref’ in C#). [0065]
  • Type: data type, as defined in C#. [0066]
  • M/O: indicating whether the parameter is mandatory (‘M’) or optional (‘O’). [0067]
  • Comments: defining the meaning of the parameter and its usage. [0068]
  • If the same parameter appears in multiple methods, it has the same meaning and is defined only in one place. [0069]
  • Following the “Arguments” list is a list of error codes. The error code is returned in the <SOAP:fault> element. The error codes are derived from the IPP status codes and named following the C# naming convention. [0070]
  • 1. CreatePrintJob [0071]
  • When CreatePrintjob is called, the print service will create a new print job to represent the new print request and assign a unique job ID. It updates the job data based on what the client has provided and what can actually be supported. If a document URL link is provided, it retrieves the document content on the user's behalf. If everything is validated, it sets the job state to “accepted” and responds to the client while continuing on to print the document. The client can later query the status of a print request, such as the estimated completion time or the actual print settings, via GetPrintJobData. In all cases, the appropriate operation error code is set in its response. [0072]
  • Note that if a print service chooses to accept print-ready data, then it should support the parameter “jobTicket” which encapsulates the complete set of print settings used to generate the print-ready data. “jobTicket” is based on the standard Windows print system schema. If the print service cannot honor all the settings in “jobTicket”, it should reject the print request and return ClientErrorNotPossible. [0073]
  • Arguments: [0074]
  • Data Field: jobID [0075]
  • Dir: OUT; Type: unit; M/O: M [0076]
  • Comments: The unique print job identification number created by the print service in the range of 1 to 2[0077] {circumflex over ( )}32−1. A print service may recycle job Id's while ensuring that no two active print requests have the same Id. This Id is used for subsequent operations such as CancelPrintjob and GetPrintJobData.
  • Data Field: jobname [0078]
  • Dir: IN; Type: string; M/O: M [0079]
  • Comments: The name of the print request, such as the name of the document to be printed. [0080]
  • Data Field: userName [0081]
  • Dir: IN; Type: string; M/O: M [0082]
  • Comments: The name of the user who submits the print request. [0083]
  • Data Field: UserCredential [0084]
  • Dir: IN; Type: string; M/O: O [0085]
  • Comments: Encoded user Passport sign-in ID and password. This credential will be used to authenticate the use of the print service and for print service to retrieve the document content on the user's behalf when the document URL is used. If a print service, such as commercial print shops, requires the user credential, then the client must provide this data. Otherwise, it will receive “ClientErrorNotAuthenticated”. [0086]
  • Data Field: docLink [0087]
  • Dir: IN; Type: string; M/O: O [0088]
  • Comments: The URL of the document to be printed. If it is missing, the print service should assume that the client will send the document content directly via “docContent” parameter. In most cases, “docLink” is provided, i.e. print by reference. If a print service supports accepting multiple documents in one job, the client could provide multiple URL's in one CreatePrintJob request. [0089]
  • Data Field: docContent [0090]
  • Dir: IN; Type: byte[]; M/O: O [0091]
  • Comments: The sequence of bytes representing the content of the document to be printed. If this is null and “docLink” is also null, the print service will return with the error code “ClientErrorDocumentAccessError”. [0092]
  • Data Field: docFormat [0093]
  • Dir: IN; Type: string; M/O: O [0094]
  • Comments: The format of the document content, such as “PostScript Level 2” or “DOC”. If this parameter is not supplied, the print service will have to parse the file name and/or the content in order to figure out the format. [0095]
  • Data Field: targetprinter [0096]
  • Dir: IN; Type: string; M/O: O [0097]
  • Comments: The name of the targeted printer. [0098]
  • Data Field: numOfCopies [0099]
  • Dir: IN; Type: uint; M/O: O [0100]
  • Comments: The number of copies to be printed. The default is 1. All printed pages will be collated. [0101]
  • Data Field: duplex [0102]
  • Dir: IN; Type: string; M/O: O [0103]
  • Comments: Defining how the logical pages will be printed on physical pages. Options include: “one-sided printing”, “two-sided printing along the long edge”, and “two-sided printing along the short edge”. [0104]
  • Data Field: nUp [0105]
  • Dir: IN; Type: string; M/O: O [0106]
  • Comments: Defining how the logical pages will be laid out on one side of a physical page. Choose from “1-up”, “2-up”, and “4-up”. The default is “1-up”. [0107]
  • Data Field: isColor [0108]
  • Dir: IN; Type: bool; M/O: O [0109]
  • Comments: If “true,” print the document in color. Otherwise, print in Black/White. The default is Black/White. [0110]
  • Data Field: paperType [0111]
  • Dir: IN; Type: string; M/O: O [0112]
  • Comments: The type of paper to be used in printing the document, such as “201b Standard White Paper”. The default is set by each print service. If it is specified by the client, it will be verified against other job requirements. If there is conflict, the service should pick the appropriate paper type based on its priorities and update the job data accordingly. [0113]
  • Data Field: bindingType [0114]
  • Dir: IN; Type: string; M/O: O [0115]
  • Comments: The type of binding to be used, such as “none”, “coil”, “comb”, “stapled”. The default is “none”. If it is specified by the client, it will be verified against other job requirements. If there is conflict, the service should pick the appropriate binding type and update the job data accordingly. [0116]
  • Data Field: jobTicket [0117]
  • Dir: IN; Type: Byte[]; M/O: O [0118]
  • Comments: An XML blob that describes the complete set of print settings used to generate print-ready data. Used only when submitting print-ready (“raw”) documents. It follows the standard Windows print system schema. [0119]
  • Data Field: <custom fields>[0120]
  • Dir: IN; Type: N/A; M/O: O [0121]
  • Comments: Each print service may define additional fields, such as “promotion code.”[0122]
  • Error Code: [0123]
  • Code: 0x0000; Meaning: SuccessfulOk; Usage: The operation is successful. [0124]
  • Code: 0x0400; Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as bad parameter values. [0125]
  • Code: 0x0402; Meaning: ClientErrorNotAuthenticated; Usage: The user is not authenticated to use the print service. [0126]
  • Code: 0x0403; Meaning: ClientErrorNotAuthorized; Usage: The user is not authorized to create a print job. [0127]
  • Code: 0x0404; Meaning: ClientErrorNotPossible; Usage: The print service cannot meet the requirements, such as not being able to honor all settings in a jobTicket when the client submits print-ready data. [0128]
  • Code: 0x040a; Meaning: clientErrorDocumentFormatNotSupported; Usage: The source document format is not supported. [0129]
  • Code: 0x0411; Meaning: ClientErrorDocumentFormatError; Usage: The source document is ill-formed. [0130]
  • Code: 0x0412; Meaning: ClientErrorDocumentAccessError; Usage: The print service cannot access the document content. [0131]
  • Code: 0x0500; Meaning: ServerErrorInternalError; Usage: This is a catch-all error code for all internal errors. [0132]
  • Code: 0x0506; Meaning: ServerErrorNotAcceptingjobs; Usage: The print service is not accepting new print jobs for some reason. [0133]
  • Code: 0x0509; Meaning: ServerErrorMultipleDocumentJobsNotSupported; Usage: The print service cannot accept a print request that contains multiple documents. [0134]
  • 2. CANCELPRINTJOB [0135]
  • The print service deletes the given print job after verifying the user credential. [0136]
  • Arguments: [0137]
  • Data Field: jobID [0138]
  • Dir: IN; Type: uint; M/O: M [0139]
  • Comments: The unique job identification # as returned in CreatePrintJob response. [0140]
  • Data Field: userCredential [0141]
  • Dir: IN; Type: string; M/O: O [0142]
  • Comments: If a job was created with the user credential, then the same credential is required for canceling it. [0143]
  • Error Code: [0144]
  • Code: 0x0000; Code Meaning: SuccessfulOK; Usage: The job is successfully deleted. [0145]
  • Code: 0x0400; Code Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as invalid job ID or the job has already been canceled. [0146]
  • Code: 0x0402; Code Meaning: ClientErrorNotAuthenticated; Usage: The user is not authenticated. [0147]
  • Code: 0x0403; Code Meaning: ClientErrorNotAuthorized; Usage: The user is not authorized to delete the given job (ex. someone else's job). [0148]
  • Code: 0x0500; Code Meaning: ServerErrorInternalError; Usage: Catch-all error code for all internal errors. [0149]
  • 3. GetPrintJobData [0150]
  • This method returns the set of print job data associated with the given job ID, as listed below. The job may be in any of the state: “accepted”, “printing”, “cancelled”, or “completed”. Each print service decides how long it will maintain the data for a print job. [0151]
  • Note that when a print request involves a device-independent document format (such as .DOC), the print settings that come with the request are treated as “suggestions”. The service may adjust the settings in order to resolve conflicts (such as “color” AND “two sided printing”) based on its capabilities. The client can call GetPrintJobData to find out the actual settings used in printing and notify the user if appropriate. [0152]
  • Arguments: [0153]
  • Data Field: jobID [0154]
  • Dir: IN; Type: uint; M/O: M [0155]
  • Comments: The unique job identification # as returned in CreatePrintJob response. [0156]
  • Data Field: userCredential [0157]
  • Dir: IN; Type: string; M/O: O [0158]
  • Comments: Required if the print job was created with the user credential. [0159]
  • Data Field: jobstate [0160]
  • Dir: OUT; Type: string; M/O: M [0161]
  • Comments: The current status of the job: “accepted”, “printing”, “cancelled”, or “completed”. [0162]
  • Data Field: timeOfSubmission [0163]
  • Dir: OUT; Type: string; M/O: M [0164]
  • Comments: Encoded time stamp of when the print job is accepted. The format is ISO 8601. Local time is represented as YYYYMMDDTHHMMSS, and UTC time as YYYYMMDDTHHMMSSZ. [0165]
  • Data Field: jobName [0166]
  • Dir: OUT; Type: string; M/O: M [0167]
  • Comments: The name of the print job. [0168]
  • Data Field: userName [0169]
  • Dir: OUT; Type: string; M/O: M [0170]
  • Comments: The name of the user who owns this job. [0171]
  • Data Field: printer [0172]
  • Dir: OUT; Type: string; M/O: O [0173]
  • Comments: The printer to which the print job is sent. [0174]
  • Data Field: numOfCopies [0175]
  • Dir: OUT; Type: uint; M/O: M [0176]
  • Comments: The # of copies to be printed. [0177]
  • Data Field: nUp [0178]
  • Dir: OUT; Type: string; M/O: M [0179]
  • Comments: The layout description. If the user has specified a layout format when creating the print job, it may have been modified to resolve conflicts and other constraints. [0180]
  • Data Field: duplex [0181]
  • Dir: IN; Type: string; M/O: M [0182]
  • Comments: The duplex setting. If the user has specified a duplex setting when creating the print job, it may have been modified to resolve conflicts and other constraints. [0183]
  • Data Field: isColor [0184]
  • Dir: OUT; Type: bool; M/O: M [0185]
  • Comments: Indicating if this is a color job or not. [0186]
  • Data Field: paperType [0187]
  • Dir: OUT; Type: string; M/O: M [0188]
  • Comments: The type of paper used for the print job. If the user has specified a paper type when creating the print job, it may have been modified to resolve conflicts and other constraints. [0189]
  • Data Field: bindingType [0190]
  • Dir: OUT; Type: string; M/O: M [0191]
  • Comments: The type of binding used for the print job. If the user has specified a binding type when creating the print job, it may have been modified to resolve conflicts and other constraints. [0192]
  • Data Field: completionTime [0193]
  • Dir: OUT; Type: string; M/O: O [0194]
  • Comments: The deadline for when the print job is expected to be completed. The format is ISO 8601. Local time is represented as YYYYMMDDTHHMMSS, and UTC time as YYYYMMDDTHHMMSSZ. [0195]
  • Data Field: printingCost [0196]
  • Dir: OUT; Type: string; M/O: O [0197]
  • Comments: Used when the service is charging for printing. [0198]
  • Data Field: mailingCost [0199]
  • Dir: OUT; Type: string; M/O: O [0200]
  • Comments: Used when the printed pages are mailed to the user. [0201]
  • Error Code: [0202]
  • GetPrintJobData has the same set of error codes as CancelPrintJob. [0203]
  • 4. IsFormatSupported [0204]
  • If a print service supports this method, it should return true if the given document format is supported. Otherwise, return false. [0205]
  • Arguments: [0206]
  • Data Field: docFormat [0207]
  • Dir: IN; Type: string; M/O: M [0208]
  • Comments: Document format name. [0209]
  • Data Field: supported [0210]
  • Dir: OUT; Type: bool; M/O: M [0211]
  • Comments: true or false. [0212]
  • Error Code: [0213]
  • Code: 0x0000; Code Meaning: SuccessfulOK; Usage: The request is fulfilled successfully. [0214]
  • Code: 0x0400; Code Meaning: ClientErrorBadRequest; Usage: The request is ill-formed, such as null ‘docFormat’. [0215]
  • Code: 0x0500; Code Meaning: ServerErrorInternalError; Usage: Catch-all error code for all internal errors. [0216]
  • Code: 0x0501; Code Meaning: ServerErrorOperationNotSupported; Usage: The print service does not support this method. [0217]
  • 5. GETSUPPORTEDFORMATS [0218]
  • If a print service supports this method, it should return the list of supported document formats. [0219]
  • Arguments: [0220]
  • Data Field: supportedFormats [0221]
  • Dir: OUT; Type: string; M/O: M [0222]
  • Comments: Array of doc formats. [0223]
  • Error Code: [0224]
  • It has the same set of error codes as IsFormatSupported. Note that if the client has means (such as a special printer driver) to do document format conversions (such as from Visio format to PDF), it can use GetSupportedFormats to find an optimal submission format. Otherwise, it can use IsFormatSupported to query if the document in question can be printed. A client does not have to call either method to validate the document format. If it doesn't and the submitted format is not supported, the print service would return ClientErrorDocumentFormatNotSupported error code. [0225]
  • 6. GETPRINTERMODELS [0226]
  • If a print service supports this method, it should return the list of printer names (such as “HP LaserJet 8000”) that are being used. This method is targeted for rich PC clients to send printer-ready data to the print service directly for optimal print rendering quality. [0227]
  • Arquments: [0228]
  • Data Field: printerModels [0229]
  • Dir: OUT; Type: string; M/O: M [0230]
  • Comments: Array of printer model names. [0231]
  • Error Code: [0232]
  • It has the same set of error codes as IsFormatSupported. [0233]
  • WSDL (WEB SERVICE DESCRIPTION LANGUAGE) DEFINITION [0234]
  • In accordance with a feature of an embodiment of the invention, in order to enhance the universality of the print service interface of Web print services on the Internet, a Web Service Description Language (WSDL) based on the XML is provided to describing the print service interface. It defines the message formats that clients need to follow when exchanging messages with a web print service. Note that for a particular implementation the WSDL description may vary slightly in terms of the required and optional parameters (‘minOccurs’). Also, the default namespace and the location of the print service will need to be modified. [0235]
    <?xml version=“1.0” encoding=“utf-8”?>
    <definitions
    xmlns:http=“http://schemas.xmlsoap.org/wsdl/http/”
    xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/”
    xmlns:s=“http://www.w3.org/2001/XMLSchema”
    xmlns:s0=“http://tempuri.org/”
    xmlns:soapenc=“http://schemas.xmlsoap.org/soap/encoding/”
    xmlns:tm=“http://microsoft.com/wsdl/mime/textMatching/”
    xmlns:mime=“http://schemas.xmlsoap.org/wsdl/mime/”
    targetNamespace=“http://tempuri.org/”
    xmlns=“http://schemas.xmlsoap.org/wsdl/”>
    <types>
    <s:schema elementFormDefault=“qualified”
    targetNamespace=“http://tempuri.org/”>
    <s:element name=“CreatePrintJob”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobName” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“userName” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“userCredential” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“docLink” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“docContent” type=“s:base64Binary” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“docFormat” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“targetPrinter” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“numOfCopies” type=“s:unsignedInt” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“duplex” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“nUp” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“isColor” type=“s:boolean” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“paperType” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“bindingType” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“jobTicket” type=“s:base64Binary” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“CreatePrintJobResponse”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“CreatePrintJobResult” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobID” type=“s:unsignedInt” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“CancelPrintJob”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobID” type=“s:unsignedInt” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“userCredential” type=“s:string” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“CancelPrintJobResponse”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“CancelPrintJobResult” type=“s:unsignedInt” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“GetPrintJobData”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobID” type=“s:unsignedInt” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“userCredential” type=“s:string” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“GetPrintJobDataResponse”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“GetPrintJobDataResult” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobState” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“errorCode” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“timeOfSubmission” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“jobName” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“userName” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“printer” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“numOfCopies” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“duplex” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“nUp” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“isColor” type=“s:boolean” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“paperType” type=“s:string” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“bindingType” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“completionTime” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“printingCost” type=“s:string” />
    <s:element minOccurs=“0” maxOccurs=“1”
    name=“mailingCost” type=“s:string” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“IsFormatSupported”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“docFormat” type=“s:string” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“IsFormatSupportedResponse”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“IsFormatSupportedResult” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“supported” type=“s:boolean” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“GetSupportedDocFormats”>
    <s:complexType />
    </s:element>
    <s:element name=“GetSupportedDocFormatsResponse”>
    <s:complexType>
    <s:sequence>
    <s:element minOccurs=“1” maxoccurs=“1”
    name=“GetSupportedDocFormatsResult” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“supportedDocFormats” type=“s0:ArrayOfString” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:complexType name=“ArrayOfString”>
    <s:sequence>
    <s:element minOccurs=“0” maxOccurs=“unbounded”
    name=“string” nillable=“true” type=“s:string” />
    </s:sequence>
    </s:complexType>
    <s:element name=“GetPrinterModels”>
    <s:complexType />
    </s:element>
    <s:element name=“GetPrinterModelsResponse”>
    <s:ComplexType>
    <s:sequence>
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“GetprinterModelsResult” type=“s:unsignedInt” />
    <s:element minOccurs=“1” maxOccurs=“1”
    name=“printerModels“ type=“s0:ArrayOfString” />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name=“unsignedInt” type=“s:unsignedInt” />
    </s:schema>
    </types>
    <message name=“CreatePrintJobSoapIn”>
    <part name=“parameters” element=“s0:CreatePrintJob” />
    </message>
    <message name=“CreatePrintJobSoapOut”>
    <part name=“parameters”
    element=“s0:CreatePrintJobResponse” />
    </message>
    <message name=“CancelPrintJobSoapIn”>
    <part name=“parameters” element=“s0:CancelPrintJob” />
    </message>
    <message name=“CancelPrintJobSoapOut”>
    <part name=“parameters”
    element=“s0:CancelPrintJobResponse” />
    </message>
    <message name=“GetPrintJobDataSoapIn”>
    <part name=“parameters” element=“s0:GetPrintJobData” />
    </message>
    <message name=“Get PrintJobDataSoapOut”>
    <part name=“parameters”
    element=“s0:GetPrintJobDataResponse” />
    </message>
    <message name=“IsFormatSupportedSoapIn”>
    <part name=“parameters” element=“s0:IsFormatSupported”
    />
    </message>
    <message name=“IsFormatSupportedSoapOut”>
    <part name=“parameters”
    element=“s0:IsFormatSupportedResponse” />
    </message>
    <message name=“GetSupportedDocFormatsSoapIn”>
    <part name=“parameters”
    element=“s0:GetSupportedDocFormats” />
    </message>
    <message name=“GetSupportedDocFormatsSoapOut”>
    <part name=“parameters”
    element=“s0:GetSupportedDocFormatsResponse” />
    </message>
    <message name=“GetPrinterModelsSoapIn”>
    <part name=“parameters” element=“s0:GetPrinterModels” />
    </message>
    <message name=“GetPrinterModelsSoapOut”>
    <part name=“parameters”
    element=“s0:GetPrinterModelsResponse” />
    </message>
    <portType name=“WebPrintServiceSoap”>
    <operation name=“CreatePrintJob”>
    <input message=“s0:CreatePrintJobSoapIn” />
    <output message=“s0:CreatePrintJobSoapOut” />
    </operation>
    <operation name=“CancelPrintJob”>
    <input message=“s0:CancelPrintJobSoapIn” />
    <output message=“s0:CancelPrintJobSoapOut” />
    </operation>
    <operation name=“GetPrintJobData”>
    <input message=“s0:GetPrintJobDataSoapIn” />
    <output message=“s0:GetPrintJobDataSoapOut” />
    </operation>
    <operation name=“IsFormatSupported”>
    <input message=“s0:IsFormatSupportedSoapIn” />
    <output message=“s0:IsFormatSupportedSoapOut” />
    </operation>
    <operation name=“GetSupportedDocFormats”>
    <input message=“s0:GetSupportedDocFormatsSoapIn” />
    <output message=“s0:GetSupportedDocFormatsSoapOut” />
    </operation>
    <operation name=“GetPrinterModels”>
    <input message=“s0:GetPrinterModelsSoapIn” />
    <output message=“s0:GetPrinterModelsSoapOut” />
    </operation>
    </portType>
    <binding name=“WebPrintServiceSoap”
    type=“s0:WebPrintServiceSoap”>
    <soap:binding
    transport=“http://schemas.xmlsoap.org/soap/http”
    style =“document” />
    <operation name=“CreatePrintJob”>
    <soap:operation
    soapAction=“http://tempuri.org/CreatePrintJob”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    <operation name=“CancelPrintJob”>
    <soap:operation
    soapAction=“http://tempuri.org/CancelPrintJob”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    <operation name=“GetPrintJobData”>
    <soap:operation
    soapAction=“http://tempuri.org/GetPrintJobData”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    <operation name =“IsFormatSupported”>
    <soap:operation
    soapAction=“http://tempuri.org/IsFormatSupported”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    <operation name=“GetSupportedDocFormats”>
    <soap operation
    soapAction=“http://tempuri.org/GetSupportedDocFormats”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    <operation name=“GetPrinterModels”>
    <soap operation
    soapAction=“http://tempuri.org/GetPrinterModels”
    style=“document” />
    <input>
    <soap:body use=“literal” />
    </input>
    <output>
    <soap:body use=“literal” />
    </output>
    </operation>
    </binding>
    <service name=“WebPrintService”>
    <documentation>web print service </documentation>
    <port name=“WebPrintServiceSoap”
    binding=“s0:WebPrintServiceSoap”>
    <soap:address
    location=“http://localhost/PCPrintPortal/WebPrintService.asm
    x” />
    </port>
    </service>
    </definitions>
  • In view of the many possible embodiments to which the principles of this invention may be applied, it should be recognized that the embodiment described herein with respect to the drawing figures is meant to be illustrative only and should not be taken as limiting the scope of invention. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof. [0236]

Claims (32)

What is claimed is:
1. A computer-readable medium having computer-executable instructions to perform steps for providing a print service on a network, comprising:
presenting a service interface for a client communicating with the print service over the network to enter print request data for a print request, the print request data including data identifying a document to be printed;
validating the print request and providing feedback to the client;
obtaining the document to be printed;
rendering the document into a format for printing; and
printing the rendered document in accordance with the print request.
2. A computer-readable medium as in claim 1, wherein the network is the Internet.
3. A computer-readable medium as in claim 2, wherein the service interface includes a Web page via which the client enters print request data.
4. A computer-readable medium as in claim 2, wherein the data identifying the document to be printed include a URL of the document to be printed, and wherein the computer-readable medium includes further computer-executable instructions for performing the step of retrieving the document to be printed from said URL.
5. A computer-readable medium as in claim 4, wherein the step of retrieving the document to be printed includes using credentials of the user to gain access to said URL.
6. A computer-readable medium as in claim 2, wherein the step of obtaining the document to be printed includes receiving a transmission of the document to be printed from the client over the Internet.
7. A computer-readable medium as in claim 1, wherein the step of rendering includes running a local application corresponding to a format of the document to be printed to render said document.
8. A computer-readable medium as in claim 1, wherein the step of rendering includes invoking a remote printing rendering service to render the document to be printed.
9. A computer-readable medium as in claim 1, wherein the step of printing includes printing the document on a local printer of the print service.
10. A computer-readable medium as in claim 1, wherein the step of printing includes printing the document on a remote printer.
11. A computer-readable medium as in claim 1, wherein the network is an intranet.
12. A method for a user of a mobile computing device to print a document, comprising:
using the mobile computing device to connect to a network on which a print service resides;
accessing a service interface presented by the print service for receiving print requests;
entering, via the service interface, print request data for printing the document, the print request data including data identifying the document to be printed; and
receiving a confirmation from the print service acknowledging receipt of the print request data.
13. A method as in claim 12, wherein the network is the Internet.
14. A method as in claim 13, wherein the service interface includes a Web page via which the user enters print request data.
15. A method as in claim 12, wherein the step of entering print request data includes entering a URL of the document to be printed.
16. A method as in claim 15, wherein the step of entering further includes providing credentials of the user for accessing the URL.
17. A method as in claim 12, wherein the step of entering further includes sending the document to be printed to the print service over the Internet.
18. A method as in claim 12, wherein the network is an intranet.
19. A method as in claim 12, wherein the mobile computing device is a Web cell phone.
20. A method as in claim 12, wherein the mobile computing device is a laptop computer.
21. A method as in claim 12, wherein the mobile computing device is a Personal Digital Assistant (PDA) device.
22. A print service system accessible through a network, comprising:
an interface component for presenting a service interface accessible by a client over the network for the client to enter print request data for a print request, the print request data including data identifying a document to be printed;
a request processing component for validating the print request obtaining the document to be printed and printing the rendered document in accordance with the print request.
23. A print service system as in claim 22, further including a rendering component for rendering the document into a format for printing.
24. A print service system as in claim 23, further including at least one application corresponding to a format of the document to be printed and invokable by the rendering component for rendering said document into the format for printing.
25. A print service system as in claim 23, wherein the rendering component is programmed to invoke a remote print rendering service to render said document into the format for printing.
26. A print service system as in claim 22, wherein the network is the Internet, and wherein the service interface includes a Web page via which the client enters print request data.
27. A print service system as in claim 22, wherein the service interface is configured to receive a URL identifying a location of the document to be printed as a parameter of the print request data.
28. A print service system as in claim 27, wherein the request processing component is programmed to access the URL to retrieve the document to be printed.
29. A print service system as in claim 28, wherein the request processing component is programmed to use credentials of the user to gain access to said URL.
30. A print service system as in claim 22, wherein the service interface is configured to receive the document to be printed from the user over the network.
31. A print service system as in claim 22, further including a pool of printers selectable for printing the document.
32. A print service system as in claim 22, further including a logging and billing component for handling logging and billing for processing of print requests.
US10/180,764 2002-06-26 2002-06-26 System and method for users of mobile computing devices to print documents Abandoned US20040001217A1 (en)

Priority Applications (18)

Application Number Priority Date Filing Date Title
US10/180,764 US20040001217A1 (en) 2002-06-26 2002-06-26 System and method for users of mobile computing devices to print documents
AU2003204348A AU2003204348B2 (en) 2002-06-26 2003-05-26 System and method for users of mobile computing devices to print documents
MYPI20031952A MY141125A (en) 2002-06-26 2003-05-27 System and method for users of mobile computing devices to print documents
NO20032398A NO334043B1 (en) 2002-06-26 2003-05-27 System and procedure for printing documents for mobile computer users
ZA200304201A ZA200304201B (en) 2002-06-26 2003-05-29 System and method for users of mobile computing devices to print documents.
EP03012545A EP1376331A3 (en) 2002-06-26 2003-06-02 System and method for users of mobile computing devices to print documents
CA002432063A CA2432063A1 (en) 2002-06-26 2003-06-12 System and method for users of mobile computing devices to print documents
BR0301980-2A BR0301980A (en) 2002-06-26 2003-06-12 System and method for mobile computing device users to print documents
CA2759771A CA2759771A1 (en) 2002-06-26 2003-06-12 System and method for users of mobile computing devices to print documents
MXPA03005368A MXPA03005368A (en) 2002-06-26 2003-06-13 System and method for users of mobile computing devices to print documents.
PL03360753A PL360753A1 (en) 2002-06-26 2003-06-17 System and method of printing documents for users of portable computer equipment
TW092117026A TWI265692B (en) 2002-06-26 2003-06-23 System and method for users of mobile computing devices to print documents
RU2003119198/09A RU2325688C2 (en) 2002-06-26 2003-06-25 System and method for users of mobile computing mechanisms for documents printing
KR1020030041404A KR100981802B1 (en) 2002-06-26 2003-06-25 System and method for users of mobile computing devices to print documents
CN2009100067566A CN101526889B (en) 2002-06-26 2003-06-25 Document printing system and method of mobile computing device users
CNA031452418A CN1495601A (en) 2002-06-26 2003-06-25 Document-pinting system for mobile computing equipment user and method
JP2003183598A JP2004062889A (en) 2002-06-26 2003-06-26 System and method for mobile computing device user to print documents and computer readable medium
US11/038,884 US8068247B2 (en) 2002-06-26 2005-01-20 System and method for users of mobile computing devices to print documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/180,764 US20040001217A1 (en) 2002-06-26 2002-06-26 System and method for users of mobile computing devices to print documents

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/038,884 Continuation US8068247B2 (en) 2002-06-26 2005-01-20 System and method for users of mobile computing devices to print documents

Publications (1)

Publication Number Publication Date
US20040001217A1 true US20040001217A1 (en) 2004-01-01

Family

ID=22661681

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/180,764 Abandoned US20040001217A1 (en) 2002-06-26 2002-06-26 System and method for users of mobile computing devices to print documents
US11/038,884 Expired - Fee Related US8068247B2 (en) 2002-06-26 2005-01-20 System and method for users of mobile computing devices to print documents

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/038,884 Expired - Fee Related US8068247B2 (en) 2002-06-26 2005-01-20 System and method for users of mobile computing devices to print documents

Country Status (15)

Country Link
US (2) US20040001217A1 (en)
EP (1) EP1376331A3 (en)
JP (1) JP2004062889A (en)
KR (1) KR100981802B1 (en)
CN (2) CN1495601A (en)
AU (1) AU2003204348B2 (en)
BR (1) BR0301980A (en)
CA (2) CA2759771A1 (en)
MX (1) MXPA03005368A (en)
MY (1) MY141125A (en)
NO (1) NO334043B1 (en)
PL (1) PL360753A1 (en)
RU (1) RU2325688C2 (en)
TW (1) TWI265692B (en)
ZA (1) ZA200304201B (en)

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013828A1 (en) * 2000-05-31 2002-01-31 Taketoshi Kashiwabara Shop including multi-facility
US20020122201A1 (en) * 2001-03-05 2002-09-05 Toshiba Tec Kabushiki Kaisha Print system by mobile terminal, and network system using mobile terminal
US20040073684A1 (en) * 2002-10-15 2004-04-15 Rodolfo Jodra Automatic registration of receiving device on a remote printing application
US20040179225A1 (en) * 2003-03-10 2004-09-16 Hopp Darrell V. System and method for multicast printing
US20040210864A1 (en) * 2003-03-24 2004-10-21 Fuji Xerox Co., Ltd Instruction form retrieval apparatus, instruction form execution apparatus, instruction form management system and instruction form retrieval method
US20050038668A1 (en) * 2003-01-02 2005-02-17 Toshiba Corporation System and method for document processing and charging for such processing on a per page basis
US20050060649A1 (en) * 2003-07-31 2005-03-17 Yoshio Kimura Client server system, information processing apparatus and control method therefor, and program for executing the control method
US20050113025A1 (en) * 2003-07-17 2005-05-26 Seiko Epson Corporation Output device, output method, radio communication device, and recording medium
US20050213131A1 (en) * 2004-03-24 2005-09-29 Fuji Xerox Co., Ltd. Print management
US20060023945A1 (en) * 2004-02-15 2006-02-02 King Martin T Search engines and systems with handheld document data capture devices
US20060123010A1 (en) * 2004-09-15 2006-06-08 John Landry System and method for managing data in a distributed computer system
US20060176505A1 (en) * 2005-02-10 2006-08-10 Hewlett-Packard Company, L.P. Printer voice portal
US20070089053A1 (en) * 2005-10-14 2007-04-19 Uhlig Mark A Dynamic variable-content publishing
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US20070279711A1 (en) * 2004-12-03 2007-12-06 King Martin T Portable scanning and memory device
US20070291302A1 (en) * 2006-04-12 2007-12-20 Thinprint Gmbh Method and System for Printing From Web Applications, a Corresponding Computer Program and a Corresponding Computer-Readable Storage Means
US20080074696A1 (en) * 2006-09-25 2008-03-27 Fujifilm Corporation Printing system, printing terminal and print service method
US20080104682A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Secure Content Routing
US20080137971A1 (en) * 2004-04-01 2008-06-12 Exbiblio B.V. Method and System For Character Recognition
US20080141117A1 (en) * 2004-04-12 2008-06-12 Exbiblio, B.V. Adding Value to a Rendered Document
US20080147886A1 (en) * 2006-12-14 2008-06-19 Andrew Rodney Ferlitsch Methods and Systems for Providing Peripheral Device Services
US20080231886A1 (en) * 2007-03-20 2008-09-25 Ulrich Wehner Driverless printing system, apparatus and method
US20080297823A1 (en) * 2007-05-31 2008-12-04 Brother Kogyo Kabushiki Kaisha Print Control Device, Printing System and Computer-Readable Recording Medium Storing Printing Program
US20090077658A1 (en) * 2004-04-01 2009-03-19 Exbiblio B.V. Archive of text captures from rendered documents
US20090240581A1 (en) * 2008-03-21 2009-09-24 Copifree, Llc Web-based management system for print and copy services with advertisements
US20090248632A1 (en) * 2008-03-31 2009-10-01 Sriram Subramanian Remote Printing System Using Federated Identity Web Services
US7626716B2 (en) * 2003-06-23 2009-12-01 Canon Kabushiki Kaisha Recording apparatus and recording control method for executing recording according to setting of print parameters by wireless device
US20100076863A1 (en) * 2008-09-22 2010-03-25 Golomb Vitaly M Hosting platform
US20100092095A1 (en) * 2008-10-14 2010-04-15 Exbiblio B.V. Data gathering in digital and rendered document environments
US20100110465A1 (en) * 2008-11-03 2010-05-06 Andrew Rodney Ferlitsch Methods and systems for handling files for mfps utilizing external services
US20100177970A1 (en) * 2004-02-15 2010-07-15 Exbiblio B.V. Capturing text from rendered documents using supplemental information
US20100185538A1 (en) * 2004-04-01 2010-07-22 Exbiblio B.V. Content access with handheld document data capture devices
WO2010096192A1 (en) * 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
US20100278453A1 (en) * 2006-09-15 2010-11-04 King Martin T Capture and display of annotations in paper and electronic documents
US20110019020A1 (en) * 2004-04-01 2011-01-27 King Martin T Adding information or functionality to a rendered document via association with an electronic counterpart
US20110022940A1 (en) * 2004-12-03 2011-01-27 King Martin T Processing techniques for visual capture data from a rendered document
US20110026838A1 (en) * 2004-04-01 2011-02-03 King Martin T Publishing techniques for adding value to a rendered document
US20110035289A1 (en) * 2004-04-01 2011-02-10 King Martin T Contextual dynamic advertising based upon captured rendered text
US20110072395A1 (en) * 2004-12-03 2011-03-24 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20110078585A1 (en) * 2004-07-19 2011-03-31 King Martin T Automatic modification of web pages
US20110075228A1 (en) * 2004-12-03 2011-03-31 King Martin T Scanner having connected and unconnected operational behaviors
US20110085211A1 (en) * 2004-02-15 2011-04-14 King Martin T Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US20110145102A1 (en) * 2004-04-01 2011-06-16 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US20110145068A1 (en) * 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
US20110150335A1 (en) * 2004-04-01 2011-06-23 Google Inc. Triggering Actions in Response to Optically or Acoustically Capturing Keywords from a Rendered Document
US20110154507A1 (en) * 2004-02-15 2011-06-23 King Martin T Establishing an interactive environment for rendered documents
US20110153653A1 (en) * 2009-12-09 2011-06-23 Exbiblio B.V. Image search using text-based elements within the contents of images
US20110167075A1 (en) * 2009-12-04 2011-07-07 King Martin T Using gestalt information to identify locations in printed information
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
WO2012045862A1 (en) 2010-10-08 2012-04-12 Canon Europa N.V. System and method for printing
US8179563B2 (en) 2004-08-23 2012-05-15 Google Inc. Portable scanning device
US20120218576A1 (en) * 2011-02-24 2012-08-30 Hitoshi Sekine Web Services Printer Driver
US8261094B2 (en) 2004-04-19 2012-09-04 Google Inc. Secure data gathering from rendered documents
US8261259B2 (en) 2007-03-01 2012-09-04 Ricoh Company, Ltd. Dynamic printing system, apparatus and method
US20130038896A1 (en) * 2011-08-08 2013-02-14 Xerox Corporation Direct printing from mobile devices using a near field communication (nfc) device
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US20130155441A1 (en) * 2011-12-15 2013-06-20 Jiang Hong Scheduled and secured cloud print services
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8547583B2 (en) * 2007-07-19 2013-10-01 Csr Imaging Us, Lp Method and apparatus for printing from a mobile device
US8600196B2 (en) 2006-09-08 2013-12-03 Google Inc. Optical scanners, such as hand-held optical scanners
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US20140240770A1 (en) * 2013-02-28 2014-08-28 Hiroshi HINOHARA Communication terminal, communication management system, communication method, and recording medium storing communication control program
WO2014155385A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Release codes with print job identifiers and directives
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US8990235B2 (en) 2009-03-12 2015-03-24 Google Inc. Automatically providing content associated with captured information, such as information captured in real-time
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9268852B2 (en) 2004-02-15 2016-02-23 Google Inc. Search engines and systems with handheld document data capture devices
US9383952B1 (en) 2015-03-18 2016-07-05 Xerox Corporation Systems and methods for overriding a print ticket when printing from a mobile device
US20160253137A1 (en) * 2015-02-26 2016-09-01 Kyocera Document Solutions Inc. Image processing apparatus presentation method, image processing apparatus, and image processing system
US9460301B2 (en) 2011-08-08 2016-10-04 Ricoh Company, Ltd. Configurable locked printing
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
WO2018009176A1 (en) * 2016-07-06 2018-01-11 Hewlett-Packard Development Company, L.P. Printing device pool
EP2703998B1 (en) * 2012-08-29 2020-03-25 Ricoh Company, Ltd. Information processing apparatus, output system, information processing method, information processing program, and recording medium
US10769431B2 (en) 2004-09-27 2020-09-08 Google Llc Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US11200017B2 (en) * 2019-08-08 2021-12-14 Canon Kabushiki Kaisha Method for providing cloud print service and server

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002088978A1 (en) * 2001-05-02 2002-11-07 Icon Resources, Inc. Secure and accountable wireless printing system
US20040001217A1 (en) 2002-06-26 2004-01-01 Microsoft Corporation System and method for users of mobile computing devices to print documents
JP3959011B2 (en) * 2002-10-15 2007-08-15 株式会社リコー Print management system
JP4040570B2 (en) * 2003-11-14 2008-01-30 キヤノン株式会社 Image forming apparatus, data reception processing method, and control program
KR100601696B1 (en) 2004-07-27 2006-07-14 삼성전자주식회사 Method and apparatus for processing image file directly
JP4367929B2 (en) * 2004-08-27 2009-11-18 キヤノン株式会社 Mobile phone, printing system and control method thereof
GB2418761A (en) * 2004-10-02 2006-04-05 Hewlett Packard Development Co Remote document processing
US20060203257A1 (en) * 2005-03-11 2006-09-14 Microsoft Corporation System and method for managing output path with context preservation
US7667704B2 (en) * 2005-03-30 2010-02-23 Microsoft Corporation System for efficient remote projection of rich interactive user interfaces
US8214754B2 (en) 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
US8042166B2 (en) * 2005-10-26 2011-10-18 Hewlett-Packard Development Company, L.P. Printing via user equipment
US20070109591A1 (en) * 2005-11-14 2007-05-17 Kamens Samuel N Mobile-communication device directed printing
US7804612B2 (en) * 2006-01-31 2010-09-28 Ricoh Company, Ltd. Network printing with driverless clients
JP5005365B2 (en) * 2006-02-03 2012-08-22 株式会社リコー Image processing apparatus and image processing method
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
CN1901583B (en) * 2006-07-03 2010-05-12 陈晓燕 Self-aid printing method and printing device for telephone input
CN101901125B (en) * 2007-04-20 2012-05-30 夏普株式会社 Print control apparatus and print apparatus
US7805485B2 (en) * 2008-01-28 2010-09-28 Sharp Laboratories Of America, Inc. Web services interface extension channel
GB0902819D0 (en) 2009-02-20 2009-04-08 Software 2000 Ltd Method and apparatus for printing from a mobile device
JP2010218234A (en) * 2009-03-17 2010-09-30 Fujifilm Corp Print management device, print management method, and program
JP2010277524A (en) * 2009-06-01 2010-12-09 Ricoh Co Ltd Information processor, information processing system, information processing method, and program
US8806331B2 (en) * 2009-07-20 2014-08-12 Interactive Memories, Inc. System and methods for creating and editing photo-based projects on a digital network
US20110222105A1 (en) * 2010-03-09 2011-09-15 Yao-Tian Wang Printing internet inaccessible web content via remote printing service
US8887054B2 (en) 2010-04-15 2014-11-11 Hewlett-Packard Development Company, L.P. Application selection user interface
KR20110136171A (en) * 2010-06-14 2011-12-21 삼성전자주식회사 Image forming apparatus and method for producting e-book contents
JP2012043398A (en) * 2010-07-21 2012-03-01 Canon Inc Content printing system, printing relay system, control method, and program
CN101923452A (en) * 2010-07-30 2010-12-22 优视科技有限公司 Method and device for printing webpage contents based on mobile terminal
JP5653139B2 (en) * 2010-08-31 2015-01-14 キヤノン株式会社 Network print system, client terminal, control server, printing method, and program
US8572304B2 (en) 2010-09-28 2013-10-29 Wellala, Inc. Systems and methods for configuring mobile devices for printing to wireless printers
JP5683205B2 (en) 2010-10-18 2015-03-11 キヤノン株式会社 Information processing apparatus, control method for controlling information processing apparatus, and program thereof
JP5717407B2 (en) 2010-11-15 2015-05-13 キヤノン株式会社 Print relay system, image forming apparatus, system control method, and program
CA2759736C (en) * 2010-11-30 2020-12-29 Printeron Inc. System for internet enabled printing
JP5728946B2 (en) * 2011-01-05 2015-06-03 セイコーエプソン株式会社 CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM
US9223890B2 (en) 2011-03-15 2015-12-29 Hewlett-Packard Development Company, L.P. System and method of processing content using a uniform resource identifier
US9092167B2 (en) 2011-04-04 2015-07-28 Hewlett-Packard Development Company, L.P. Systems and methods for managing a print job
US8493579B2 (en) * 2011-09-30 2013-07-23 Konica Minolta Laboratory U.S.A., Inc. Wireless printing from a device outside the network
CN102520893A (en) * 2011-10-26 2012-06-27 苏州工业园区鑫海胜电子有限公司 Method for printing webpage of cloud network-based mobile terminal
US9716802B2 (en) 2012-04-12 2017-07-25 Hewlett-Packard Development Company, L.P. Content model for a printer interface
CN103377011B (en) * 2012-04-26 2016-07-20 安美世纪(北京)科技有限公司 A kind of moving printing method of public network
US20140016150A1 (en) * 2012-07-13 2014-01-16 Konica Minolta Laboratory U.S.A., Inc. System and method to store embedded fonts
US9195425B2 (en) * 2012-07-30 2015-11-24 Hewlett-Packard Development Company, L.P. Printing with payment validation
US9019537B2 (en) 2013-01-22 2015-04-28 Canon Kabushiki Kaisha Systems and methods for providing status monitor capability to printing devices
TWI497103B (en) * 2013-03-15 2015-08-21 Hiti Digital Inc Methods for detecting an edge of a transparent material and detecting devices and systems for same
US9821517B2 (en) * 2013-06-26 2017-11-21 Microsoft Technology Licensing, Llc 3D manufacturing platform
CN105894681A (en) * 2015-01-14 2016-08-24 蒋国辉 Remote printing system
CN110347352A (en) * 2019-06-18 2019-10-18 新会江裕信息产业有限公司 Across a network Method of printing, device and storage medium based on driving
WO2021225595A1 (en) * 2020-05-07 2021-11-11 Hewlett-Packard Development Company, L.P. Computing device location
JP2022018773A (en) * 2020-07-16 2022-01-27 シャープ株式会社 Image forming system, portable communication terminal, image forming apparatus, and image forming method

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US6256666B1 (en) * 1998-07-14 2001-07-03 International Business Machines Corp. Method and system for remotely managing electronic mail attachments
US6288790B1 (en) * 1998-05-15 2001-09-11 International Business Machines Corporation Mobility support for printing
US20020024686A1 (en) * 2000-08-31 2002-02-28 Ricoh Company, Ltd. Information input/output system, method and terminal therefor
US20020075508A1 (en) * 2000-12-20 2002-06-20 Luman David J. Notification of print job status over a wireless link
US20020126306A1 (en) * 2001-03-09 2002-09-12 International Business Machnies Corporation Program and method of print instruction for printer with PDF direct printing function
US6452692B1 (en) * 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
US6717686B1 (en) * 1999-11-19 2004-04-06 Iprint.Com Electronic printing system and method
US7031004B1 (en) * 1999-08-26 2006-04-18 Xerox Corporation Web print submission from within an application
US7081969B1 (en) * 1999-10-19 2006-07-25 Electronics For Imaging, Inc. Automatic print load balancing

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625757A (en) 1993-12-24 1997-04-29 Hitachi, Ltd. Printing system
US5862310A (en) * 1996-08-21 1999-01-19 Becton Dickinson And Company Data formatting system
JPH10171609A (en) * 1996-12-05 1998-06-26 Internatl Business Mach Corp <Ibm> Document processing method, device therefor and storage medium storing processing program
US5971632A (en) * 1997-02-19 1999-10-26 The Standard Register Company Printer with internal document data construction
JPH11146118A (en) * 1997-11-04 1999-05-28 Canon Inc Data processing system, data processing method for the data processing system and storage medium storing program readable by computer
CN1242545A (en) * 1998-06-09 2000-01-26 日本电气株式会社 Computer system for printing HTML document
KR100343166B1 (en) * 1998-09-25 2002-08-22 삼성전자 주식회사 Client-server system displaying document-browsing results & method thereof
GB2342195A (en) * 1998-09-30 2000-04-05 Xerox Corp Secure token-based document server
CN100470514C (en) * 1999-11-01 2009-03-18 精工爱普生株式会社 Data output controller and method of proving data output service
US6952780B2 (en) * 2000-01-28 2005-10-04 Safecom A/S System and method for ensuring secure transfer of a document from a client of a network to a printer
JP4061813B2 (en) * 2000-03-29 2008-03-19 カシオ計算機株式会社 Server device
US7003723B1 (en) * 2000-05-17 2006-02-21 Eastman Kodak Company System and method for representing and managing pages in a production printing workflow
AU2002239325A1 (en) * 2000-11-20 2002-05-27 Flexiworld Technologies, Inc. Systems and methods for mobile and pervasive output
US7016062B2 (en) 2000-11-30 2006-03-21 Ricoh Company, Ltd. Apparatus, method and system for printing from a wireless mobile device over the internet
JP2002169671A (en) * 2000-12-01 2002-06-14 Fuji Xerox Co Ltd Mobile telephone
US7203158B2 (en) * 2000-12-06 2007-04-10 Matsushita Electric Industrial Co., Ltd. OFDM signal transmission system, portable terminal, and e-commerce system
KR100462592B1 (en) * 2001-02-05 2004-12-20 삼성전자주식회사 A apparatus and method for converting document
US20030018744A1 (en) * 2001-02-07 2003-01-23 Johanson James A. Bluetooth device position display
US20020120742A1 (en) * 2001-02-14 2002-08-29 Cherry Darrel D. Dynamic user interface for facilitating network device capability utilization
US7461377B2 (en) * 2001-02-22 2008-12-02 Electronics For Imaging, Inc. Method and apparatus for automatically managing capabilities in a virtual printer group
US20020158812A1 (en) * 2001-04-02 2002-10-31 Pallakoff Matthew G. Phone handset with a near-to-eye microdisplay and a direct-view display
US20030038965A1 (en) * 2001-08-27 2003-02-27 Simpson Shell S. Private printing using network-based imaging
JP3884942B2 (en) * 2001-10-31 2007-02-21 キヤノン株式会社 IMAGING DEVICE, SYSTEM HAVING IMAGING DEVICE AND RECORDING DEVICE AND CONTROL METHOD THEREOF
US20030169446A1 (en) * 2002-03-07 2003-09-11 Grohs Randall Edward System and method for proxy management of a print job
JP4035815B2 (en) * 2002-06-17 2008-01-23 セイコーエプソン株式会社 Printer, printing system, data receiving apparatus and data transmitting / receiving system
US20040001217A1 (en) 2002-06-26 2004-01-01 Microsoft Corporation System and method for users of mobile computing devices to print documents

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US6452692B1 (en) * 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
US6288790B1 (en) * 1998-05-15 2001-09-11 International Business Machines Corporation Mobility support for printing
US6256666B1 (en) * 1998-07-14 2001-07-03 International Business Machines Corp. Method and system for remotely managing electronic mail attachments
US7031004B1 (en) * 1999-08-26 2006-04-18 Xerox Corporation Web print submission from within an application
US7081969B1 (en) * 1999-10-19 2006-07-25 Electronics For Imaging, Inc. Automatic print load balancing
US6717686B1 (en) * 1999-11-19 2004-04-06 Iprint.Com Electronic printing system and method
US20020024686A1 (en) * 2000-08-31 2002-02-28 Ricoh Company, Ltd. Information input/output system, method and terminal therefor
US20020075508A1 (en) * 2000-12-20 2002-06-20 Luman David J. Notification of print job status over a wireless link
US20020126306A1 (en) * 2001-03-09 2002-09-12 International Business Machnies Corporation Program and method of print instruction for printer with PDF direct printing function

Cited By (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US20020013828A1 (en) * 2000-05-31 2002-01-31 Taketoshi Kashiwabara Shop including multi-facility
US20020122201A1 (en) * 2001-03-05 2002-09-05 Toshiba Tec Kabushiki Kaisha Print system by mobile terminal, and network system using mobile terminal
US7272647B2 (en) * 2001-03-05 2007-09-18 Kabushiki Kaisha Toshiba Print system by mobile terminal, and network system using mobile terminal
US20040073684A1 (en) * 2002-10-15 2004-04-15 Rodolfo Jodra Automatic registration of receiving device on a remote printing application
US7191237B2 (en) * 2002-10-15 2007-03-13 Hewlett-Packard Development Company, L.P. Automatic registration of receiving device on a remote printing application
US20050038668A1 (en) * 2003-01-02 2005-02-17 Toshiba Corporation System and method for document processing and charging for such processing on a per page basis
US20040179225A1 (en) * 2003-03-10 2004-09-16 Hopp Darrell V. System and method for multicast printing
US20040210864A1 (en) * 2003-03-24 2004-10-21 Fuji Xerox Co., Ltd Instruction form retrieval apparatus, instruction form execution apparatus, instruction form management system and instruction form retrieval method
US7626716B2 (en) * 2003-06-23 2009-12-01 Canon Kabushiki Kaisha Recording apparatus and recording control method for executing recording according to setting of print parameters by wireless device
US20050113025A1 (en) * 2003-07-17 2005-05-26 Seiko Epson Corporation Output device, output method, radio communication device, and recording medium
US20050060649A1 (en) * 2003-07-31 2005-03-17 Yoshio Kimura Client server system, information processing apparatus and control method therefor, and program for executing the control method
US7619765B2 (en) * 2003-07-31 2009-11-17 Canon Kabushiki Kaisha Client server system, information processing apparatus and control method therefor, and program for executing the control method
US8799303B2 (en) 2004-02-15 2014-08-05 Google Inc. Establishing an interactive environment for rendered documents
US20060041590A1 (en) * 2004-02-15 2006-02-23 King Martin T Document enhancement system and method
US8831365B2 (en) 2004-02-15 2014-09-09 Google Inc. Capturing text from rendered documents using supplement information
US8214387B2 (en) 2004-02-15 2012-07-03 Google Inc. Document enhancement system and method
US8064700B2 (en) 2004-02-15 2011-11-22 Google Inc. Method and system for character recognition
US8019648B2 (en) 2004-02-15 2011-09-13 Google Inc. Search engines and systems with handheld document data capture devices
US8005720B2 (en) 2004-02-15 2011-08-23 Google Inc. Applying scanned information to identify content
US9268852B2 (en) 2004-02-15 2016-02-23 Google Inc. Search engines and systems with handheld document data capture devices
US20110154507A1 (en) * 2004-02-15 2011-06-23 King Martin T Establishing an interactive environment for rendered documents
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US20110085211A1 (en) * 2004-02-15 2011-04-14 King Martin T Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8619147B2 (en) 2004-02-15 2013-12-31 Google Inc. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US20060023945A1 (en) * 2004-02-15 2006-02-02 King Martin T Search engines and systems with handheld document data capture devices
US8447144B2 (en) 2004-02-15 2013-05-21 Google Inc. Data capture from rendered documents using handheld device
US20100183246A1 (en) * 2004-02-15 2010-07-22 Exbiblio B.V. Data capture from rendered documents using handheld device
US8515816B2 (en) 2004-02-15 2013-08-20 Google Inc. Aggregate analysis of text captures performed by multiple users from rendered documents
US20100177970A1 (en) * 2004-02-15 2010-07-15 Exbiblio B.V. Capturing text from rendered documents using supplemental information
US20060036462A1 (en) * 2004-02-15 2006-02-16 King Martin T Aggregate analysis of text captures performed by multiple users from rendered documents
US7561290B2 (en) * 2004-03-24 2009-07-14 Fuji Xerox Co., Ltd. Print management
US20050213131A1 (en) * 2004-03-24 2005-09-29 Fuji Xerox Co., Ltd. Print management
US8619287B2 (en) 2004-04-01 2013-12-31 Google Inc. System and method for information gathering utilizing form identifiers
US20110019020A1 (en) * 2004-04-01 2011-01-27 King Martin T Adding information or functionality to a rendered document via association with an electronic counterpart
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8621349B2 (en) 2004-04-01 2013-12-31 Google Inc. Publishing techniques for adding value to a rendered document
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9454764B2 (en) 2004-04-01 2016-09-27 Google Inc. Contextual dynamic advertising based upon captured rendered text
US8505090B2 (en) 2004-04-01 2013-08-06 Google Inc. Archive of text captures from rendered documents
US20110145102A1 (en) * 2004-04-01 2011-06-16 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8447111B2 (en) 2004-04-01 2013-05-21 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20110026838A1 (en) * 2004-04-01 2011-02-03 King Martin T Publishing techniques for adding value to a rendered document
US20110035289A1 (en) * 2004-04-01 2011-02-10 King Martin T Contextual dynamic advertising based upon captured rendered text
US8793162B2 (en) 2004-04-01 2014-07-29 Google Inc. Adding information or functionality to a rendered document via association with an electronic counterpart
US8781228B2 (en) 2004-04-01 2014-07-15 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8620760B2 (en) 2004-04-01 2013-12-31 Google Inc. Methods and systems for initiating application processes by data capture from rendered documents
US9633013B2 (en) 2004-04-01 2017-04-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20100185538A1 (en) * 2004-04-01 2010-07-22 Exbiblio B.V. Content access with handheld document data capture devices
US9514134B2 (en) 2004-04-01 2016-12-06 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20090077658A1 (en) * 2004-04-01 2009-03-19 Exbiblio B.V. Archive of text captures from rendered documents
US20110150335A1 (en) * 2004-04-01 2011-06-23 Google Inc. Triggering Actions in Response to Optically or Acoustically Capturing Keywords from a Rendered Document
US20080137971A1 (en) * 2004-04-01 2008-06-12 Exbiblio B.V. Method and System For Character Recognition
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US20080141117A1 (en) * 2004-04-12 2008-06-12 Exbiblio, B.V. Adding Value to a Rendered Document
US8261094B2 (en) 2004-04-19 2012-09-04 Google Inc. Secure data gathering from rendered documents
US9030699B2 (en) 2004-04-19 2015-05-12 Google Inc. Association of a portable scanner with input/output and storage devices
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8799099B2 (en) 2004-05-17 2014-08-05 Google Inc. Processing techniques for text capture from a rendered document
US20110078585A1 (en) * 2004-07-19 2011-03-31 King Martin T Automatic modification of web pages
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US9275051B2 (en) 2004-07-19 2016-03-01 Google Inc. Automatic modification of web pages
US8179563B2 (en) 2004-08-23 2012-05-15 Google Inc. Portable scanning device
US20060123010A1 (en) * 2004-09-15 2006-06-08 John Landry System and method for managing data in a distributed computer system
US10769431B2 (en) 2004-09-27 2020-09-08 Google Llc Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8903759B2 (en) 2004-12-03 2014-12-02 Google Inc. Determining actions involving captured information and electronic content associated with rendered documents
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US20110022940A1 (en) * 2004-12-03 2011-01-27 King Martin T Processing techniques for visual capture data from a rendered document
US20070279711A1 (en) * 2004-12-03 2007-12-06 King Martin T Portable scanning and memory device
US8953886B2 (en) 2004-12-03 2015-02-10 Google Inc. Method and system for character recognition
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US20110072395A1 (en) * 2004-12-03 2011-03-24 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20110075228A1 (en) * 2004-12-03 2011-03-31 King Martin T Scanner having connected and unconnected operational behaviors
US8462367B2 (en) * 2005-02-10 2013-06-11 Hewlett-Packard Development Company, L.P. Printer voice portal
US20060176505A1 (en) * 2005-02-10 2006-08-10 Hewlett-Packard Company, L.P. Printer voice portal
US8595618B2 (en) * 2005-10-14 2013-11-26 Uhlig Llc Dynamic variable-content publishing
US8438476B2 (en) * 2005-10-14 2013-05-07 Uhlig Llc Dynamic variable-content publishing
US9383957B2 (en) 2005-10-14 2016-07-05 Uhlig Llc Dynamic variable-content publishing
US20070089053A1 (en) * 2005-10-14 2007-04-19 Uhlig Mark A Dynamic variable-content publishing
US20070234354A1 (en) * 2006-03-31 2007-10-04 Tomoki Hattori System and method for printer driver distribution with searchable map database
US8185887B2 (en) * 2006-03-31 2012-05-22 Ricoh Company, Ltd. System and method for printer driver distribution with searchable map database
US8867061B2 (en) * 2006-04-12 2014-10-21 Cortado Ag Method and system for printing from web applications, a corresponding computer program and a corresponding computer-readable storage means
US20070291302A1 (en) * 2006-04-12 2007-12-20 Thinprint Gmbh Method and System for Printing From Web Applications, a Corresponding Computer Program and a Corresponding Computer-Readable Storage Means
US8600196B2 (en) 2006-09-08 2013-12-03 Google Inc. Optical scanners, such as hand-held optical scanners
US20100278453A1 (en) * 2006-09-15 2010-11-04 King Martin T Capture and display of annotations in paper and electronic documents
US20080074696A1 (en) * 2006-09-25 2008-03-27 Fujifilm Corporation Printing system, printing terminal and print service method
US20080104682A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Secure Content Routing
US20080147886A1 (en) * 2006-12-14 2008-06-19 Andrew Rodney Ferlitsch Methods and Systems for Providing Peripheral Device Services
US8261259B2 (en) 2007-03-01 2012-09-04 Ricoh Company, Ltd. Dynamic printing system, apparatus and method
US20080231886A1 (en) * 2007-03-20 2008-09-25 Ulrich Wehner Driverless printing system, apparatus and method
US9189192B2 (en) * 2007-03-20 2015-11-17 Ricoh Company, Ltd. Driverless printing system, apparatus and method
US8823972B2 (en) * 2007-05-31 2014-09-02 Brother Kogyo Kabushiki Kaisha Print control device, printing system and computer-readable recording medium storing printing program
US20080297823A1 (en) * 2007-05-31 2008-12-04 Brother Kogyo Kabushiki Kaisha Print Control Device, Printing System and Computer-Readable Recording Medium Storing Printing Program
US8547583B2 (en) * 2007-07-19 2013-10-01 Csr Imaging Us, Lp Method and apparatus for printing from a mobile device
US20110145068A1 (en) * 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
US20090240581A1 (en) * 2008-03-21 2009-09-24 Copifree, Llc Web-based management system for print and copy services with advertisements
US8189220B2 (en) 2008-03-31 2012-05-29 Hewlett-Packard Development Company, L.P. Remote printing system using federated identity web services
US20090248632A1 (en) * 2008-03-31 2009-10-01 Sriram Subramanian Remote Printing System Using Federated Identity Web Services
US20100076863A1 (en) * 2008-09-22 2010-03-25 Golomb Vitaly M Hosting platform
US20100092095A1 (en) * 2008-10-14 2010-04-15 Exbiblio B.V. Data gathering in digital and rendered document environments
US8199348B2 (en) 2008-11-03 2012-06-12 Sharp Laboratories Of America, Inc. Methods and systems for handling files for MFPS utilizing external services
US20100110465A1 (en) * 2008-11-03 2010-05-06 Andrew Rodney Ferlitsch Methods and systems for handling files for mfps utilizing external services
US20110035656A1 (en) * 2009-02-18 2011-02-10 King Martin T Identifying a document by performing spectral analysis on the contents of the document
US8638363B2 (en) 2009-02-18 2014-01-28 Google Inc. Automatically capturing information, such as capturing information using a document-aware device
WO2010096192A1 (en) * 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
US20110025842A1 (en) * 2009-02-18 2011-02-03 King Martin T Automatically capturing information, such as capturing information using a document-aware device
US8418055B2 (en) 2009-02-18 2013-04-09 Google Inc. Identifying a document by performing spectral analysis on the contents of the document
US8990235B2 (en) 2009-03-12 2015-03-24 Google Inc. Automatically providing content associated with captured information, such as information captured in real-time
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US9075779B2 (en) 2009-03-12 2015-07-07 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US20110167075A1 (en) * 2009-12-04 2011-07-07 King Martin T Using gestalt information to identify locations in printed information
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US20110153653A1 (en) * 2009-12-09 2011-06-23 Exbiblio B.V. Image search using text-based elements within the contents of images
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
WO2012045862A1 (en) 2010-10-08 2012-04-12 Canon Europa N.V. System and method for printing
US8928899B2 (en) * 2011-02-24 2015-01-06 Ricoh Company, Ltd. Web services printer driver
US20120218576A1 (en) * 2011-02-24 2012-08-30 Hitoshi Sekine Web Services Printer Driver
US9460301B2 (en) 2011-08-08 2016-10-04 Ricoh Company, Ltd. Configurable locked printing
US20130038896A1 (en) * 2011-08-08 2013-02-14 Xerox Corporation Direct printing from mobile devices using a near field communication (nfc) device
US20130155441A1 (en) * 2011-12-15 2013-06-20 Jiang Hong Scheduled and secured cloud print services
US9612782B2 (en) * 2011-12-15 2017-04-04 Ricoh Company, Ltd. Scheduled and secured cloud print services
EP2703998B1 (en) * 2012-08-29 2020-03-25 Ricoh Company, Ltd. Information processing apparatus, output system, information processing method, information processing program, and recording medium
US20140240770A1 (en) * 2013-02-28 2014-08-28 Hiroshi HINOHARA Communication terminal, communication management system, communication method, and recording medium storing communication control program
US9851930B2 (en) 2013-03-28 2017-12-26 Hewlett-Packard Development Company, L.P. Release codes with print job identifiers and directives
WO2014155385A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Release codes with print job identifiers and directives
US20160253137A1 (en) * 2015-02-26 2016-09-01 Kyocera Document Solutions Inc. Image processing apparatus presentation method, image processing apparatus, and image processing system
US9383952B1 (en) 2015-03-18 2016-07-05 Xerox Corporation Systems and methods for overriding a print ticket when printing from a mobile device
WO2018009176A1 (en) * 2016-07-06 2018-01-11 Hewlett-Packard Development Company, L.P. Printing device pool
US10896013B2 (en) 2016-07-06 2021-01-19 Hewlett-Packard Development Company, L.P. Printing device pool
US11200017B2 (en) * 2019-08-08 2021-12-14 Canon Kabushiki Kaisha Method for providing cloud print service and server

Also Published As

Publication number Publication date
PL360753A1 (en) 2003-12-29
RU2003119198A (en) 2005-01-10
MY141125A (en) 2010-03-15
AU2003204348A1 (en) 2004-01-15
EP1376331A3 (en) 2007-03-21
CA2432063A1 (en) 2003-12-26
JP2004062889A (en) 2004-02-26
BR0301980A (en) 2004-08-31
TW200400731A (en) 2004-01-01
NO20032398L (en) 2003-12-29
EP1376331A2 (en) 2004-01-02
MXPA03005368A (en) 2004-10-29
NO334043B1 (en) 2013-11-25
ZA200304201B (en) 2004-04-05
CN101526889A (en) 2009-09-09
CN101526889B (en) 2012-07-04
CN1495601A (en) 2004-05-12
KR100981802B1 (en) 2010-09-14
KR20040002681A (en) 2004-01-07
US8068247B2 (en) 2011-11-29
TWI265692B (en) 2006-11-01
AU2003204348B2 (en) 2009-08-13
CA2759771A1 (en) 2003-12-26
US20050132094A1 (en) 2005-06-16
NO20032398D0 (en) 2003-05-27
RU2325688C2 (en) 2008-05-27

Similar Documents

Publication Publication Date Title
US8068247B2 (en) System and method for users of mobile computing devices to print documents
US7312887B2 (en) Internet print protocol print dispatch server
US9354828B2 (en) Print system, print server, control method thereof, and program
US20040130744A1 (en) Online print with driverless web print server
US8001270B2 (en) Method and apparatus for discovering a network address
JP6677496B2 (en) Authentication federation system and authentication federation method, authorization server, application server and program
US7761908B2 (en) Network apparatus
JP2004206694A (en) System and method for dynamic sequencing of requirement-based workflow
US9047282B2 (en) Document management systems, apparatuses and methods configured to provide user interface customized for specific user
US20100082782A1 (en) Providing peripheral device attributes to a client for selection
JP2006277005A (en) Server device, network system, control method for server device, and control program for server device
JP6672596B2 (en) Image forming apparatus and program
US8576432B2 (en) Print service system and print processing method
JP6060573B2 (en) OUTPUT SYSTEM, OUTPUT CONTROL DEVICE, OUTPUT DEVICE, AND PROGRAM
US7565400B2 (en) Method and system for preserving user identification when generating image data from a remote location
JP4275165B2 (en) Information communication system
JP4419496B2 (en) Printing apparatus, printing system, and computer program
US8395799B2 (en) Printing system, output device, data management system, control method, and program
JP2024506547A (en) Printing system and printing method
Sweet CUPS (Common Unix Printing System)
JP2013008174A (en) Printing system, method, and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WU, ZHANBING;REEL/FRAME:013053/0957

Effective date: 20020625

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014