US7085801B1 - Method and apparatus for printing web pages - Google Patents

Method and apparatus for printing web pages Download PDF

Info

Publication number
US7085801B1
US7085801B1 US09/444,121 US44412199A US7085801B1 US 7085801 B1 US7085801 B1 US 7085801B1 US 44412199 A US44412199 A US 44412199A US 7085801 B1 US7085801 B1 US 7085801B1
Authority
US
United States
Prior art keywords
web page
printing
data processing
processing system
web
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.)
Expired - Fee Related, expires
Application number
US09/444,121
Inventor
Sanaa F. Abdelhadi
Maritza Borunda
Hypatia Rojas
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.)
LinkedIn Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/444,121 priority Critical patent/US7085801B1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ABDELHADI, SANAA F., BORUNDA, MARITZA, ROJAS, HUPATIA
Application granted granted Critical
Publication of US7085801B1 publication Critical patent/US7085801B1/en
Assigned to LINKEDIN CORPORATION reassignment LINKEDIN CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Adjusted expiration legal-status Critical
Expired - Fee Related 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
    • 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/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks

Definitions

  • the present invention relates generally to an improved data processing system and in particular to a method and apparatus for outputting data to a device. Still more particularly, the present invention provides a method and apparatus for printing Web pages containing links.
  • the Internet also referred to as an “internetwork”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary).
  • Internet refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
  • the Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society such as the Internal Revenue Service and secretaries of state. Providing informational guides and/or searchable databases of online public records may reduce operating costs. Further, the Internet is becoming increasingly popular as a medium for commercial transactions.
  • HTTP Hypertext Transfer Protocol
  • HTML Hypertext Markup Language
  • HTML allows developers to specify “links” to other Web resources identified by a Uniform Resource Identifier (URI) such as a Uniform Resource Locator (URL).
  • URI Uniform Resource Identifier
  • URL Uniform Resource Locator
  • a URL is a special syntax identifier defining a communications path to specific information.
  • the URL provides a universal, consistent method for finding and accessing this information, not necessarily for the user, but mostly for the user's Web “browser”.
  • a browser is a program capable of submitting a request for information identified by a URL at the client machine. Retrieval of information on the Web is generally accomplished with an HTML-compatible browser.
  • a user may desire to obtain a hard copy of one or more Web pages.
  • the user may desire to print out a copy of an article or some other content on a Web site.
  • the entire article or the desired content may be printed all at once.
  • the article or desired content may be divided up into many different pages which are linked to each other by URLs.
  • the user must print a page. This page may contain a number of links pointing to other pages containing other portions of the article or desired content. Each of these links must be visited by the user and then printed. Such a process becomes tedious and difficult when large number of links are present.
  • the present invention provides a method and apparatus in a data processing system for printing web pages.
  • a request to print a web page is received.
  • the web page is printed and each web page associated with the web page on selected levels below the web page also are printed.
  • FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented
  • FIG. 2 is a block diagram depicts a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a block diagram illustrates a data processing system in which the present invention may be implemented
  • FIG. 4 is a diagram illustrating a print process depicted in accordance with a preferred embodiment of the present invention.
  • FIGS. 5 a and 5 B are diagrams illustrating printing of Web pages depicted in accordance with a preferred embodiment of the present invention.
  • FIG. 6 is a diagram illustrating Web page link. printing depicted in accordance with a preferred embodiment of the present invention.
  • FIG. 7 is a flowchart of a process for Web page link printing depicted in accordance with a preferred embodiment of the present invention.
  • FIG. 8 a flowchart of a process for selecting and printing links is depicted in accordance with a preferred embodiment of the present invention.
  • FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented.
  • Distributed data processing system 100 is a network of computers in which the present invention may be implemented.
  • Distributed data processing system 100 contains a network 102 , which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system 100 .
  • Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • a server 104 is connected to network 102 along with storage unit 106 .
  • clients 108 , 110 , and 112 also are connected to network 102 .
  • These clients 108 , 110 , and 112 may be, for example, personal computers or network computers.
  • a network computer is any computer, coupled to a network, which receives a program or other application from another computer coupled to the network.
  • server 104 provides data, such as boot files, operating system images, and applications to clients 108 – 112 .
  • Clients 108 , 110 , and 112 are clients to server 104 .
  • Web pages and other contents may be printed in a hard copy form using printers, such as printers 114 and 116 . The printing may take place locally or remotely.
  • Distributed data processing system 100 may include additional servers, clients, and other devices not shown.
  • distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages.
  • distributed data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN).
  • FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
  • Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206 . Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208 , which provides an interface to local memory 209 . I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212 . Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • SMP symmetric multiprocessor
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216 .
  • PCI bus 216 A number of modems may be connected to PCI bus 216 .
  • Typical PCI bus implementations will support four PCI expansion slots or add-in connectors.
  • Communications links to network computers 108 – 112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228 , from which additional modems or network adapters may be supported. In this manner, data processing system 200 allows connections to multiple network computers.
  • a memory-mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • FIG. 2 may vary.
  • other peripheral devices such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted.
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • the data processing system depicted in FIG. 2 may be, for example, an IBM RISC/System 6000 system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • IBM RISC/System 6000 system a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • AIX Advanced Interactive Executive
  • Data processing system 300 is an example of a client computer.
  • Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture.
  • PCI peripheral component interconnect
  • AGP Accelerated Graphics Port
  • ISA Industry Standard Architecture
  • Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308 .
  • PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302 . Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards.
  • local area network (LAN) adapter 310 SCSI host bus adapter 312 , and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection.
  • audio adapter 316 graphics adapter 318 , and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots.
  • Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320 , modem 322 , and additional memory 324 .
  • Small computer system interface (SCSI) host bus adapter 312 provides a connection for hard disk drive 326 , tape drive 328 , and CD-ROM drive 330 .
  • Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3 .
  • the operating system may be a commercially available operating system such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation.
  • An object oriented programming system such as Java may run in conjunction with the operating system and provides calls to the operating system from Java programs or applications executing on data processing system 300 .
  • Java is a trademark of Sun Microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326 , and may be loaded into main memory 304 for execution by processor 302 .
  • FIG. 3 may vary depending on the implementation.
  • Other internal hardware or peripheral devices such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3 .
  • the processes of the present invention may be applied to a multiprocessor data processing system.
  • data processing system 300 may not include SCSI host bus adapter 312 , hard disk drive 326 , tape drive 328 , and CD-ROM 330 , as noted by dotted line 332 in FIG. 3 denoting optional inclusion.
  • the computer to be properly called a client computer, must include some type of network communication interface, such as LAN adapter 310 , modem 322 , or the like.
  • data processing system 300 may be a stand-alone system configured to be bootable without relying on some type of network communication interface, whether or not data processing system 300 comprises some type of network communication interface.
  • data processing system 300 may be a Personal Digital Assistant (PDA) device which is configured with ROM and/or flash ROM in order to provide non-volatile memory for storing operating system files and/or user-generated data.
  • PDA Personal Digital Assistant
  • data processing system 300 also may be a notebook computer or hand held computer in addition to taking the form of a PDA.
  • data processing system 300 also may be a kiosk or a Web appliance.
  • the present invention provides a method, apparatus, and instructions for outputting content from a Web page or set of Web pages to an output device.
  • the present invention allows for a user to print a Web page and a selected number of other pages linked to this page, directly or indirectly, on lower levels.
  • the mechanism of the present invention receives a request to print a particular Web page. This Web page is printed along with all other Web pages located on selected levels below the particular Web page. The number of levels below the selected Web page may be selected by a user or may be based on a default value.
  • the environment in which the mechanism operations is discussed in more detail below.
  • FIG. 4 a diagram illustrating a print process is depicted in accordance with a preferred embodiment of the present invention.
  • the user at client 400 requests pages from a server 402 .
  • requests are generated using a browser 404 .
  • a browser is a client application that enables a user to view content in distributed data processing system.
  • a Web browser is illustrated, allowing HTML documents on the World Wide Web, another network, or the user's computer to be viewed.
  • browser 404 may be used to follow hyperlinks in the documents among them as well as transfer files.
  • Browser 400 includes a connection that can handle IP packets as well display graphics that are in the document, play audio and video files, and execute small programs, such as Java applets, that can be embedded in HTML documents. Some Web browsers use helper applications or plug-ins to accomplish one or more of these tasks.
  • the request is received at a request engine 406 located in server 402 .
  • Request engine 406 queries Web page database 408 for a Web page matching the request from client 400 .
  • a Web page 410 matching the request in Web page database 408 is returned to browser 404 in client 400 via request engine 406 .
  • the user at client 400 may decide to print Web page 410 using browser 404 .
  • This Web page is printed using printer driver 412 in this example.
  • Web page 410 may be actually printed at a printer located remotely from client 400 .
  • the mechanism of the present invention identifies all of the links within Web page 410 and retrieves those pages for printing. The retrieved pages may be parsed or reviewed for links. The pages to these links also may be retrieved for printing. Each successive Web page is considered another level.
  • the number of levels may be set by the user or through a default value.
  • This printing of Web pages is also referred to as Web page link printing.
  • the mechanism of the present invention may be implemented in a number of places.
  • the mechanism may be implemented as a plug-in in a Web browser or as a print driver.
  • a “plug-in” is a small software program that plugs into a larger application to provide added functionality.
  • the mechanism may be located on a server, which returns all of the pages to a client for printing in response to a request to print a Web page.
  • FIGS. 5 a and 5 B diagrams illustrating printing of Web pages is depicted in accordance with a preferred embodiment of the present invention.
  • a Web page 500 is selected for printing using the mechanism of the present invention.
  • Web page 500 is at level 0 in this example.
  • Link 502 in Web page 500 is identified and Web page 504 in FIG. 5B is retrieved as the content associated with link 502 .
  • Web page 504 is identified as being in level 1 in this example.
  • FIG. 5B Link 506 in Web page is identified and Web page 508 in FIG. 5B is retrieved.
  • Web page 508 is at level 2 .
  • Each of these Web pages, Web pages 500 , 504 , and 508 may be printed as they are retrieved or after all of the pages have been retrieved. Only one link is identified for each level below level 0 for printing in relation to the Web pages. Of course in actual practice, all of links for each Web page on each level are identified with the associated Web pages being retrieved for printing.
  • FIG. 6 a diagram illustrating Web page link printing is depicted in accordance with a preferred embodiment of the present invention.
  • a user has selected Web page 600 for printing along with printing associated Web pages two levels down from Web page 600 .
  • Web page 600 is located at level 0 and contains three links 602 – 606 . These three links are associated with Web pages 608 – 612 . Web pages 608 – 612 are located on level 1 in this example. Web page 608 is accessed using link 602 , Web page 610 is accessed using link 604 , and Web page 612 is accessed using link 606 . Web page 608 contains links 614 and 616 . Web page 610 contains links 618 and 620 . Web page 612 contains a single link, link 622 .
  • Level 2 contains Web pages 624 – 632 .
  • Web page 624 is accessed using link 614 in Web page 608 .
  • Web page 626 is accessed using link 616 in Web page 608 .
  • Web pages 628 and 630 are accessed using links 618 and 620 in Web page 610 .
  • Web page 632 is accessed using link 622 in Web page 612 .
  • Web pages 624 , 626 , and 632 contain links 634 – 642 . The pages associated with these links are not retrieved because they are located on a level lower than the one specified by the user.
  • Web page 632 contains a link returning to a previous level.
  • link 640 in this example is tied to link 604 in Web page 600 .
  • the mechanism of the present invention does not process the link such that a recursive loop occurs.
  • the tracking of prior paths may be performed in a number of ways. For example, all links that have been selected for printing may be stored in a hash table in which each entry contains a URL and a file name. If the mechanism of the present invention identifies a link that matches an entry into hash table, this link is not retrieved or printed. The prior path is identified and remains unfollowed.
  • all of the Web pages on levels 0 – 2 are printed in response to a selection of page 600 for printing.
  • the other pages are retrieved and printed without the user having to select each link for each page and printing a page after it has been retrieved. Instead, the user is able to select a single page and a depth or level to which printing should occur.
  • the present invention also may allow a user to select selected pages on different levels for printing. For example, a user may see twenty links on a page, but choose not to print all twenty of the pages below. In such a case, the user may select a subset of the links for printing. Only those selected links would be traversed by the mechanism of the present in printing pages.
  • the process begins by receiving a request to print a Web page (step 700 ).
  • a determination is made as to whether multi-level printing is to be performed (step 702 ). This determination is made in response to a user input. For example, a prompt may be displayed to the user asking whether mulit-level printing is to be performed. If multi-level printing is to occur, a determination is then made as to whether a level has been selected (step 704 ). The level may be selected by a prompt to the user or through some other input mechanism. If a level has been selected, the maximum depth is set equal to the selected level (step 706 ). A level index i is set equal to zero (step 708 ).
  • the process then identifies links in each of the retrieved Web pages (step 710 ).
  • This page is the Web page selected by the user for printing.
  • more than one page may be present for printing.
  • the index i is incremented by one (step 712 ).
  • prior paths are identified and eliminated (step 714 ). This step is used to prevent the process from being stuck in a recursive loop. Paths to pages previously accessed are ignored using step 714 .
  • step 716 Web pages are retrieved for the identified links.
  • the Web pages are then printed (step 718 ).
  • the first pass through step 718 includes printing the Web page selected by the user.
  • step 704 if the level was not selected by the user, the maximum depth is set equal to a default value (step 722 ) with the process then proceeding to step 708 as described above.
  • step 702 if multi-level printing has not be selected, the Web page identified in the request back in step 700 is printed (step 724 ) with the process terminating thereafter.
  • FIG. 8 a flowchart of a process for selecting and printing links is depicted in accordance with a preferred embodiment of the present invention.
  • the process begins by loading a page for display to the user (step 800 ). Thereafter, a determination is made as to whether a link has been selected by the user for printing (step 802 ). If a link has been selected, the link is stored in a table (step 804 ). Thereafter, the link is displayed in a “tag” form (step 806 ) with the process returning to step 802 . This display of link may be using some symbol in association with the link or by highlighting the link or displaying the link in a different color. With reference again to step 802 , if no more links are selected, the process then terminates.
  • the process in FIG. 8 generates a table of links that may be used in the process illustrated in FIG. 7 .
  • each link that has been tagged or selected by the user is treated as a separate request to print a Web page.
  • the process may be implemented such that only links selected by a user are retrieved and printed.
  • the present invention provides an improved method and apparatus for printing content, such as Web pages having links or associations with other Web pages.
  • a depth or level of printing is selected for the content and all of the content down to the selected level is retrieved and printed.
  • the mechanism of the present invention may be applied to other content other than Web pages.
  • Files identified by links in Web pages also may be retrieved and printed.
  • content located in tree structures such as files in directories arranged in a hierarchical fashion, may be printed using the mechanism of the present invention. In such a case, a directory or file may be selected for printing. Files located in subdirectories are identified and retrieved for printing.
  • the mechanism of the present invention may be located in various components.
  • One location is as a plug-in in a Web browser.
  • Another location may be as a print driver that is selectable by the user when the user desires to perform multi-level printing.
  • the “print driver” would perform the step necessary to identify content on lower levels, retrieve the content, and print the content.
  • the printing may be accomplished by directing the content to a typical print driver, such as one for a laser printer. Additionally, the content may be output to other output devices other than a printer.
  • the content may be directed to a display or even to a file.
  • the embodiment was chosen and described in order to best explain the principles of the invention the practical application and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Abstract

A method and apparatus in a data processing system for printing web pages. A request to print a web page is received. The web page is printed and each web page associated with the web page on selected levels below the web page.

Description

BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for outputting data to a device. Still more particularly, the present invention provides a method and apparatus for printing Web pages containing links.
2. Description of Related Art
The Internet, also referred to as an “internetwork”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary). When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
The Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society such as the Internal Revenue Service and secretaries of state. Providing informational guides and/or searchable databases of online public records may reduce operating costs. Further, the Internet is becoming increasingly popular as a medium for commercial transactions.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, also called simply “the Web”. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transaction using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). The information in various data files is formatted for presentation to a user by a standard page description language, the Hypertext Markup Language (HTML). In addition to basic presentation formatting, HTML allows developers to specify “links” to other Web resources identified by a Uniform Resource Identifier (URI) such as a Uniform Resource Locator (URL). A URL is a special syntax identifier defining a communications path to specific information. Each logical block of information accessible to a client, called a “page” or a “Web page”, is identified by a URL. The URL provides a universal, consistent method for finding and accessing this information, not necessarily for the user, but mostly for the user's Web “browser”. A browser is a program capable of submitting a request for information identified by a URL at the client machine. Retrieval of information on the Web is generally accomplished with an HTML-compatible browser.
In some cases, a user may desire to obtain a hard copy of one or more Web pages. In many cases, the user may desire to print out a copy of an article or some other content on a Web site. In some cases, the entire article or the desired content may be printed all at once. In other cases, the article or desired content may be divided up into many different pages which are linked to each other by URLs. In this situation, the user must print a page. This page may contain a number of links pointing to other pages containing other portions of the article or desired content. Each of these links must be visited by the user and then printed. Such a process becomes tedious and difficult when large number of links are present.
Therefore, it would be advantageous to have an improved method and apparatus for printing web pages.
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus in a data processing system for printing web pages. A request to print a web page is received. The web page is printed and each web page associated with the web page on selected levels below the web page also are printed.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented;
FIG. 2 is a block diagram depicts a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention;
FIG. 3 is a block diagram illustrates a data processing system in which the present invention may be implemented;
FIG. 4 is a diagram illustrating a print process depicted in accordance with a preferred embodiment of the present invention;
FIGS. 5 a and 5B are diagrams illustrating printing of Web pages depicted in accordance with a preferred embodiment of the present invention;
FIG. 6 is a diagram illustrating Web page link. printing depicted in accordance with a preferred embodiment of the present invention;
FIG. 7 is a flowchart of a process for Web page link printing depicted in accordance with a preferred embodiment of the present invention; and
FIG. 8, a flowchart of a process for selecting and printing links is depicted in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
With reference now to the figures, FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented. Distributed data processing system 100 is a network of computers in which the present invention may be implemented. Distributed data processing system 100 contains a network 102, which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system 100. Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
In the depicted example, a server 104 is connected to network 102 along with storage unit 106. In addition, clients 108, 110, and 112 also are connected to network 102. These clients 108, 110, and 112 may be, for example, personal computers or network computers. For purposes of this application, a network computer is any computer, coupled to a network, which receives a program or other application from another computer coupled to the network. In the depicted example, server 104 provides data, such as boot files, operating system images, and applications to clients 108112. Clients 108, 110, and 112 are clients to server 104. Web pages and other contents may be printed in a hard copy form using printers, such as printers 114 and 116. The printing may take place locally or remotely.
Distributed data processing system 100 may include additional servers, clients, and other devices not shown. In the depicted example, distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. Of course, distributed data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
Referring to FIG. 2, a block diagram depicts a data processing system that may be implemented as a server, such as server 104 in FIG. 1, in accordance with a preferred embodiment of the present invention. Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems may be connected to PCI bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 108112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228, from which additional modems or network adapters may be supported. In this manner, data processing system 200 allows connections to multiple network computers. A memory-mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
The data processing system depicted in FIG. 2 may be, for example, an IBM RISC/System 6000 system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
With reference now to FIG. 3, a block diagram illustrates a data processing system in which the present invention may be implemented. Data processing system 300 is an example of a client computer. Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures such as Accelerated Graphics Port (AGP) and Industry Standard Architecture(ISA) may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. Small computer system interface (SCSI) host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3. The operating system may be a commercially available operating system such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation. An object oriented programming system such as Java may run in conjunction with the operating system and provides calls to the operating system from Java programs or applications executing on data processing system 300. “Java” is a trademark of Sun Microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. Also, the processes of the present invention may be applied to a multiprocessor data processing system.
For example, data processing system 300, if optionally configured as a network computer, may not include SCSI host bus adapter 312, hard disk drive 326, tape drive 328, and CD-ROM 330, as noted by dotted line 332 in FIG. 3 denoting optional inclusion. In that case, the computer, to be properly called a client computer, must include some type of network communication interface, such as LAN adapter 310, modem 322, or the like. As another example, data processing system 300 may be a stand-alone system configured to be bootable without relying on some type of network communication interface, whether or not data processing system 300 comprises some type of network communication interface. As a further example, data processing system 300 may be a Personal Digital Assistant (PDA) device which is configured with ROM and/or flash ROM in order to provide non-volatile memory for storing operating system files and/or user-generated data.
The depicted example in FIG. 3 and above-described examples are not meant to imply architectural limitations. For example, data processing system 300 also may be a notebook computer or hand held computer in addition to taking the form of a PDA. Data processing system 300 also may be a kiosk or a Web appliance.
The present invention provides a method, apparatus, and instructions for outputting content from a Web page or set of Web pages to an output device. The present invention allows for a user to print a Web page and a selected number of other pages linked to this page, directly or indirectly, on lower levels. In particular, the mechanism of the present invention receives a request to print a particular Web page. This Web page is printed along with all other Web pages located on selected levels below the particular Web page. The number of levels below the selected Web page may be selected by a user or may be based on a default value. The environment in which the mechanism operations is discussed in more detail below.
With reference now to FIG. 4, a diagram illustrating a print process is depicted in accordance with a preferred embodiment of the present invention. In this example, the user at client 400 requests pages from a server 402. Specifically, requests are generated using a browser 404. As used herein a browser is a client application that enables a user to view content in distributed data processing system. In these examples, a Web browser is illustrated, allowing HTML documents on the World Wide Web, another network, or the user's computer to be viewed. Also, browser 404 may be used to follow hyperlinks in the documents among them as well as transfer files. Browser 400 includes a connection that can handle IP packets as well display graphics that are in the document, play audio and video files, and execute small programs, such as Java applets, that can be embedded in HTML documents. Some Web browsers use helper applications or plug-ins to accomplish one or more of these tasks.
The request is received at a request engine 406 located in server 402. Request engine 406 queries Web page database 408 for a Web page matching the request from client 400. A Web page 410 matching the request in Web page database 408 is returned to browser 404 in client 400 via request engine 406. In this example, the user at client 400 may decide to print Web page 410 using browser 404. This Web page is printed using printer driver 412 in this example. Furthermore, Web page 410 may be actually printed at a printer located remotely from client 400. The mechanism of the present invention identifies all of the links within Web page 410 and retrieves those pages for printing. The retrieved pages may be parsed or reviewed for links. The pages to these links also may be retrieved for printing. Each successive Web page is considered another level. In these examples, the number of levels may be set by the user or through a default value. This printing of Web pages is also referred to as Web page link printing. The mechanism of the present invention may be implemented in a number of places. For example, the mechanism may be implemented as a plug-in in a Web browser or as a print driver. A “plug-in” is a small software program that plugs into a larger application to provide added functionality. Alternatively, the mechanism may be located on a server, which returns all of the pages to a client for printing in response to a request to print a Web page.
Turning now to FIGS. 5 a and 5B, diagrams illustrating printing of Web pages is depicted in accordance with a preferred embodiment of the present invention. In this example, a Web page 500 is selected for printing using the mechanism of the present invention. Web page 500 is at level 0 in this example. Link 502 in Web page 500 is identified and Web page 504 in FIG. 5B is retrieved as the content associated with link 502. Web page 504 is identified as being in level 1 in this example. In FIG. 5B, Link 506 in Web page is identified and Web page 508 in FIG. 5B is retrieved. Web page 508 is at level 2.
Each of these Web pages, Web pages 500, 504, and 508 may be printed as they are retrieved or after all of the pages have been retrieved. Only one link is identified for each level below level 0 for printing in relation to the Web pages. Of course in actual practice, all of links for each Web page on each level are identified with the associated Web pages being retrieved for printing.
Turning next to FIG. 6, a diagram illustrating Web page link printing is depicted in accordance with a preferred embodiment of the present invention. In this example, a user has selected Web page 600 for printing along with printing associated Web pages two levels down from Web page 600.
Web page 600 is located at level 0 and contains three links 602606. These three links are associated with Web pages 608612. Web pages 608612 are located on level 1 in this example. Web page 608 is accessed using link 602, Web page 610 is accessed using link 604, and Web page 612 is accessed using link 606. Web page 608 contains links 614 and 616. Web page 610 contains links 618 and 620. Web page 612 contains a single link, link 622.
Level 2 contains Web pages 624632. Web page 624 is accessed using link 614 in Web page 608. Web page 626 is accessed using link 616 in Web page 608. Web pages 628 and 630 are accessed using links 618 and 620 in Web page 610. Web page 632 is accessed using link 622 in Web page 612. Web pages 624, 626, and 632 contain links 634642. The pages associated with these links are not retrieved because they are located on a level lower than the one specified by the user. Also, in this example, Web page 632 contains a link returning to a previous level. In particular, link 640 in this example is tied to link 604 in Web page 600. The mechanism of the present invention does not process the link such that a recursive loop occurs. The tracking of prior paths may be performed in a number of ways. For example, all links that have been selected for printing may be stored in a hash table in which each entry contains a URL and a file name. If the mechanism of the present invention identifies a link that matches an entry into hash table, this link is not retrieved or printed. The prior path is identified and remains unfollowed.
Using the mechanism of the present invention, all of the Web pages on levels 02 are printed in response to a selection of page 600 for printing. The other pages are retrieved and printed without the user having to select each link for each page and printing a page after it has been retrieved. Instead, the user is able to select a single page and a depth or level to which printing should occur.
Additionally, the present invention also may allow a user to select selected pages on different levels for printing. For example, a user may see twenty links on a page, but choose not to print all twenty of the pages below. In such a case, the user may select a subset of the links for printing. Only those selected links would be traversed by the mechanism of the present in printing pages.
With reference now to FIG. 7, a flowchart of a process for Web page link printing is depicted in accordance with a preferred embodiment of the present invention. The process begins by receiving a request to print a Web page (step 700). A determination is made as to whether multi-level printing is to be performed (step 702). This determination is made in response to a user input. For example, a prompt may be displayed to the user asking whether mulit-level printing is to be performed. If multi-level printing is to occur, a determination is then made as to whether a level has been selected (step 704). The level may be selected by a prompt to the user or through some other input mechanism. If a level has been selected, the maximum depth is set equal to the selected level (step 706). A level index i is set equal to zero (step 708).
The process then identifies links in each of the retrieved Web pages (step 710). In the first pass, only a single Web page is present. This page is the Web page selected by the user for printing. On subsequent passes, more than one page may be present for printing. The index i is incremented by one (step 712). Thereafter, prior paths are identified and eliminated (step 714). This step is used to prevent the process from being stuck in a recursive loop. Paths to pages previously accessed are ignored using step 714.
Next, Web pages are retrieved for the identified links (step 716). The Web pages are then printed (step 718). The first pass through step 718 includes printing the Web page selected by the user. Thereafter, a determination is made as to whether the index i is equal to the maximum depth (step 720). If the index i is equal to the maximum depth, the process terminates. Otherwise, the process returns to step 710.
With reference again to step 704, if the level was not selected by the user, the maximum depth is set equal to a default value (step 722) with the process then proceeding to step 708 as described above. Turning back to step 702, if multi-level printing has not be selected, the Web page identified in the request back in step 700 is printed (step 724) with the process terminating thereafter.
With reference now to FIG. 8, a flowchart of a process for selecting and printing links is depicted in accordance with a preferred embodiment of the present invention. The process begins by loading a page for display to the user (step 800). Thereafter, a determination is made as to whether a link has been selected by the user for printing (step 802). If a link has been selected, the link is stored in a table (step 804). Thereafter, the link is displayed in a “tag” form (step 806) with the process returning to step 802. This display of link may be using some symbol in association with the link or by highlighting the link or displaying the link in a different color. With reference again to step 802, if no more links are selected, the process then terminates. The process in FIG. 8 generates a table of links that may be used in the process illustrated in FIG. 7. In such a case, each link that has been tagged or selected by the user is treated as a separate request to print a Web page. Alternatively, the process may be implemented such that only links selected by a user are retrieved and printed.
Thus, the present invention provides an improved method and apparatus for printing content, such as Web pages having links or associations with other Web pages. A depth or level of printing is selected for the content and all of the content down to the selected level is retrieved and printed. The mechanism of the present invention may be applied to other content other than Web pages. Files identified by links in Web pages also may be retrieved and printed. Further, content located in tree structures, such as files in directories arranged in a hierarchical fashion, may be printed using the mechanism of the present invention. In such a case, a directory or file may be selected for printing. Files located in subdirectories are identified and retrieved for printing.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links.
The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. For example, the mechanism of the present invention may be located in various components. One location is as a plug-in in a Web browser. Another location may be as a print driver that is selectable by the user when the user desires to perform multi-level printing. In such a case, the “print driver” would perform the step necessary to identify content on lower levels, retrieve the content, and print the content. The printing may be accomplished by directing the content to a typical print driver, such as one for a laser printer. Additionally, the content may be output to other output devices other than a printer. For example, the content may be directed to a display or even to a file. The embodiment was chosen and described in order to best explain the principles of the invention the practical application and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (34)

1. A method in a data processing system for printing web pages, the method comprising the data processing system implemented steps of:
receiving a request to print a web page; and
printing the web page and each web page associated with the web page;
wherein the printing stop automatically and individually prints each of a plurality of web pages associated with the web page on selected levels below the web page; and wherein if a first web page of the plurality appears more than once among the plurality, said first web page is only printed once.
2. The method of claim 1, wherein the printing, stop comprising:
sending the web page and each web page associated with the web page on selected levels below the web page to a printer.
3. The method of claim 1, wherein the printing step comprising:
sending the web page and each web page associated with the web page on selected levels below the web page to a display device.
4. The method of claim 1, wherein the printing step comprising:
sending the web page and each web pace associated with the web page on selected levels below the web page to a file.
5. The method of claim 1, wherein the data processing system is a client computer.
6. The method of claim 1, wherein the data processing system is a web server.
7. A method in a data processing system for printing web pages, the method comprising the data processing system implemented steps of:
responsive to an input selecting a current web page for printing, determining whether a maximum depth for printing has been reached;
identifying a set of universal resource identifiers located within the current web page in response to the maximum depth being unreached;
retrieving the web page identified by the set of uniform resource locators; and
printing each web page retrieved;
wherein each web page retrieved is represented in a hash table, and wherein if a web page appears more than once in the hash table, said web page is only printed once.
8. The method of claim 7 further comprising:
repeating the determining, identifying, retrieving, and printing steps for each web page until the maximum depth has been reached.
9. The method of claim 7, wherein the printing step comprises sending each web page to an output device.
10. The method of claim 9, wherein the output device is a printer.
11. The method of claim 9, wherein the output device is a display device.
12. The method of claim 7, wherein the data processing system is a client computer.
13. The method of claim 7, wherein the data processing system is a web server.
14. The method of claim 7, wherein the determining, identifying, and retrieving steps are performed in a web server and wherein the printing step is performed in a client computer.
15. A method for printing items comprising the data processing system implemented steps of:
receiving a request to print a current item, wherein additional items are associated with the current item in relationship in which the additional items are on levels below the current item;
printing the current item;
determining whether additional items on levels below the current item are to be printed; and
responsive to a determination that additional items are to be printed, printing the additional items;
wherein if a first item appears more than once among the additional item, the first item is only printed once.
16. The method of claim 15, wherein the items are web pages associated using universal resource identifiers.
17. The method of claim 15, wherein the items are files associated using directories.
18. A data processing system for printing web pages, the data processing system comprising:
receiving means for receiving a request to print a web page; and
printing means for printing the web page;
wherein the printing means automatically and individually prints each of a plurality of web pages associated with the web page on selected levels below the web page; and wherein if a first web page of the plurality appears more than once among the plurality, said first web page is only printed once.
19. The data processing system of claim 18, wherein the printing means comprises:
sending means for sending the web page and each web page associated with the web page on selected levels below the web page to a printer.
20. The data processing system of claim 18, wherein the printing means comprises:
sending means for sending the web page and each web page associated with the web page on selected levels below the web page to a display device.
21. The data processing system of claim 18, wherein the printing means comprises:
sending means for sending the web page and each web page associated with the web page on selected levels below the web page to a file.
22. The data processing system of claim 18, wherein the data processing system is a client computer.
23. The data processing system of claim 18, wherein the data processing system is a web server.
24. A data processing system for printing web pages, the data processing system comprising:
determining means, responsive to an input selecting a current web page for printing, for determining whether a maximum depth for printing has been reached;
identifying means for identifying a set of universal resource identifiers located within the current web page in response to the maximum depth being unreached;
retrieving means for retrieving the web page identified by the set of uniform resource locators; and
printing means for printing each web page retrieved;
wherein each web page retrieved is represented in a hash table, and wherein if a web page appears more than once in the hash table, said web page is only printed once.
25. The data processing system of claim 24 further comprising:
repeating the determining means, identifying means, retrieving means, and printing means for each web page until the maximum depth has been reached.
26. The data processing system of claim 24, wherein the printing means comprises sending each web page to an output device.
27. The data processing system of claim 26, wherein the output device is a printer.
28. The data processing system of claim 26, wherein the output device is a display device.
29. The data processing system of claim 24, wherein the data processing system is a client computer.
30. The data processing system of claim 24, wherein the data processing system is a web server.
31. The data processing system of claim 24, wherein the determining means, identifying means, and retrieving means are performed in a web server and wherein the printing means is performed in a client computer.
32. A computer program product in a computer readable medium for printing web pages, the computer program product comprising:
first instructions for receiving a request to print a web page; and
second instructions for printing the web page and each web page associated with the web page on selected levels below the web page;
wherein each web page to be printed is represented in a hash table, and wherein if a given web page appears in the hash table more than once, the given web page is only printed once.
33. A computer program product in a computer readable medium for printing web pages, the computer program product comprising:
first instructions, responsive to an input selecting a current web page for printing, for determining whether a maximum depth for printing has been reached;
second instructions for identifying a set of universal resource identifiers located within the current web page in response to the maximum depth being unreached;
third instructions for retrieving the web page identified by the set of uniform resource locators; and
fourth instructions for printing each web page retrieved;
wherein each web page retrieved is represented in a hash table, and wherein if a web page appears more than once in the hash table, said web page is only printed once.
34. The method of claim 1, wherein web pages selected for printing are represented in a hash table, and wherein if a web page matches an entry in the hash table, that web page is not printed.
US09/444,121 1999-11-19 1999-11-19 Method and apparatus for printing web pages Expired - Fee Related US7085801B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/444,121 US7085801B1 (en) 1999-11-19 1999-11-19 Method and apparatus for printing web pages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/444,121 US7085801B1 (en) 1999-11-19 1999-11-19 Method and apparatus for printing web pages

Publications (1)

Publication Number Publication Date
US7085801B1 true US7085801B1 (en) 2006-08-01

Family

ID=36710658

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/444,121 Expired - Fee Related US7085801B1 (en) 1999-11-19 1999-11-19 Method and apparatus for printing web pages

Country Status (1)

Country Link
US (1) US7085801B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110304A1 (en) * 2000-07-13 2003-06-12 Fujitsu Limited Apparatus for controlling outputting of web data and method for outputting web data
US20030164981A1 (en) * 2002-02-20 2003-09-04 Minolta Co., Ltd. Printing data creation program and printing data processing apparatus
US20040078752A1 (en) * 2002-10-16 2004-04-22 Xerox Corporation Systems and methods for streamlined interactions with document services from mobile computing applications
US20060028669A1 (en) * 2004-08-05 2006-02-09 Canon Kabushiki Kaisha Image forming apparatus, printing-mode setting method, and printer driver
US20060056873A1 (en) * 2004-09-15 2006-03-16 Hiroyuki Kimura Image forming apparatus and print control method
US20070177165A1 (en) * 2006-01-28 2007-08-02 Lucent Technologies Inc. Printing tool
US20090089302A1 (en) * 2007-10-02 2009-04-02 Brother Kogyo Kabushiki Kaisha Method to generate linkage indicative data, computer usable medium therefor, and printing apparatus
US20090249194A1 (en) * 2008-03-28 2009-10-01 Michael Day Method for Converting Electronic Documents
US20100014108A1 (en) * 2002-11-28 2010-01-21 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
US20120150637A1 (en) * 2009-08-26 2012-06-14 Liu Samson J Systems and Methods for Adding Commercial Content to Printouts

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2332543A (en) * 1997-11-06 1999-06-23 Ibm Asynchronous printing of eg internet documents
US6029182A (en) * 1996-10-04 2000-02-22 Canon Information Systems, Inc. System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
US6061700A (en) * 1997-08-08 2000-05-09 International Business Machines Corporation Apparatus and method for formatting a web page
US6209030B1 (en) * 1998-04-13 2001-03-27 Fujitsu Limited Method and apparatus for control of hard copying of document described in hypertext description language
US6222634B1 (en) * 1997-07-11 2001-04-24 International Business Machines Corporation Apparatus and method for printing related web pages
US6282549B1 (en) * 1996-05-24 2001-08-28 Magnifi, Inc. Indexing of media content on a network
US6314432B1 (en) * 1998-05-13 2001-11-06 International Business Machines Corporation System and method for retrieval, saving and printing of using hyperlinks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282549B1 (en) * 1996-05-24 2001-08-28 Magnifi, Inc. Indexing of media content on a network
US6029182A (en) * 1996-10-04 2000-02-22 Canon Information Systems, Inc. System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
US6222634B1 (en) * 1997-07-11 2001-04-24 International Business Machines Corporation Apparatus and method for printing related web pages
US6061700A (en) * 1997-08-08 2000-05-09 International Business Machines Corporation Apparatus and method for formatting a web page
GB2332543A (en) * 1997-11-06 1999-06-23 Ibm Asynchronous printing of eg internet documents
US6209030B1 (en) * 1998-04-13 2001-03-27 Fujitsu Limited Method and apparatus for control of hard copying of document described in hypertext description language
US6314432B1 (en) * 1998-05-13 2001-11-06 International Business Machines Corporation System and method for retrieval, saving and printing of using hyperlinks

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110304A1 (en) * 2000-07-13 2003-06-12 Fujitsu Limited Apparatus for controlling outputting of web data and method for outputting web data
US7409419B2 (en) * 2000-07-13 2008-08-05 Fuji Xerox Co., Ltd. Apparatus for controlling outputting of web data and method for outputting web data
US20030164981A1 (en) * 2002-02-20 2003-09-04 Minolta Co., Ltd. Printing data creation program and printing data processing apparatus
US7830542B2 (en) * 2002-02-20 2010-11-09 Minolta Co., Ltd. Printing data creation program and printing data processing apparatus
US20040078752A1 (en) * 2002-10-16 2004-04-22 Xerox Corporation Systems and methods for streamlined interactions with document services from mobile computing applications
US7644353B2 (en) * 2002-10-16 2010-01-05 Xerox Corporation Systems and methods for streamlined interactions with document services from mobile computing applications
US20100014108A1 (en) * 2002-11-28 2010-01-21 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
US7847957B2 (en) * 2002-11-28 2010-12-07 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
US20060028669A1 (en) * 2004-08-05 2006-02-09 Canon Kabushiki Kaisha Image forming apparatus, printing-mode setting method, and printer driver
US8179537B2 (en) * 2004-08-05 2012-05-15 Canon Kabushiki Kaisha Image forming apparatus, printing-mode setting method, and printer driver
US20060056873A1 (en) * 2004-09-15 2006-03-16 Hiroyuki Kimura Image forming apparatus and print control method
US7911635B2 (en) * 2004-09-15 2011-03-22 Canon Kabushiki Kaisha Method and apparatus for automated download and printing of Web pages
US20070177165A1 (en) * 2006-01-28 2007-08-02 Lucent Technologies Inc. Printing tool
US20090089302A1 (en) * 2007-10-02 2009-04-02 Brother Kogyo Kabushiki Kaisha Method to generate linkage indicative data, computer usable medium therefor, and printing apparatus
US8073878B2 (en) * 2007-10-02 2011-12-06 Brother Kogyo Kabushiki Kaisha Method to generate linkage indicative data, computer usable medium therefor, and printing apparatus
US20090249194A1 (en) * 2008-03-28 2009-10-01 Michael Day Method for Converting Electronic Documents
US20120150637A1 (en) * 2009-08-26 2012-06-14 Liu Samson J Systems and Methods for Adding Commercial Content to Printouts

Similar Documents

Publication Publication Date Title
US6453342B1 (en) Method and apparatus for selective caching and cleaning of history pages for web browsers
US7058944B1 (en) Event driven system and method for retrieving and displaying information
US7392303B2 (en) Method for preserving referential integrity within web sites
US7519902B1 (en) System and method for enhanced browser-based web crawling
US6408316B1 (en) Bookmark set creation according to user selection of selected pages satisfying a search condition
US6553363B1 (en) Method and apparatus for processing documents in a browser
US6988135B2 (en) Method and system for specifying a cache policy for caching web pages which include dynamic content
US6397218B1 (en) Network interactive search engine server and method
US20030009459A1 (en) Method and system for automated collaboration using electronic book highlights and notations
US20080140626A1 (en) Method for enabling dynamic websites to be indexed within search engines
US20020107882A1 (en) Automatically inserting relevant hyperlinks into a webpage
US20040221006A1 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US6308210B1 (en) Method and apparatus for traffic control and balancing for an internet site
US6938034B1 (en) System and method for comparing and representing similarity between documents using a drag and drop GUI within a dynamically generated list of document identifiers
US7137009B1 (en) Method and apparatus for securing a cookie cache in a data processing system
US20050005234A1 (en) Method and apparatus for displaying and processing input fields from a document
US7590631B2 (en) System and method for guiding navigation through a hypertext system
US20040205558A1 (en) Method and apparatus for enhancement of web searches
US6725252B1 (en) Method and apparatus for detecting and processing multiple additional requests from a single user at a server in a distributed data processing system
US7437660B1 (en) Editable dynamically rendered web pages
US6928429B2 (en) Simplifying browser search requests
US6339829B1 (en) Method and apparatus to store extended security information in a data structure which shadows a java class object
US7085801B1 (en) Method and apparatus for printing web pages
US20040205495A1 (en) Apparatus and method of bookmarking paths to web pages
US20030225858A1 (en) Method and apparatus for traversing Web pages in a network data processing system

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABDELHADI, SANAA F.;BORUNDA, MARITZA;ROJAS, HUPATIA;REEL/FRAME:010403/0698

Effective date: 19991118

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

AS Assignment

Owner name: LINKEDIN CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:035201/0479

Effective date: 20140331

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20180801