Printing from small mobile devices is now possible as devices emerge with print drivers, bluetooth communication to bluetooth enabled printers, and also as printers become generally available as network resources in kiosk settings (so-called hotspot printing).
There are many concepts that can be learned from experiences in re-purposing content in support of printing that the mobile world can use to facilitate tools, browsers and print driver details in support of viewing and printing in a mobile environment.
Traditional desktop browser environments encounter problems when trying render certain content for printing. Very often web developers re-format pages intended for printing and then place a pointer on a page to access a copy of the page formatted as “printable”. This situation can be alleviated with the proper use of Cascading Style Sheets. W3C CSS specifications including [CSS2, CSS Mobile Profile 1.0, CSS Print Profile] cover the use of Cascading style sheets in support of re-formatting content for printing.
Eric Meyer in (4) “Print Different” http://www.meyerweb.com/eric/articles/webrev/200001.html does a nice job explaining how CSS can be used to support printing.
Mobile web developers can learn a lot from these CSS manipulation concepts, but the situation is more complicated when mobile printing is added to the experience. In some cases, web servers will determine that a mobile device is being used and present content to the device formatted to accommodate the small screen. As the user goes to print the page, it is desirable to use the full size content to format the page for printing. Again, proper manipulation of CSS alleviates this, but the many combinations of presentation can get quite complex. Development tools in support of mobile web with printing considerations would go a long way to solving this complexity.
CSS2 specifies how developers can author style sheets for presenting documents across multiple devices and media types. While this is very important, it is also important that authors have an understanding of what features are supported on these different devices. Likewise, it is important that similar devices operate in a similar manner. Otherwise, authors will need to develop style sheets for each version of each device—raising the cost of content development and decreasing interoperability.
The CSS Print Profile specifies a conformance profile for printing from mobile devices to low-cost printers, identifying a minimum set of properties, values, selectors, and cascading rules. This profile was designed in conjunction with XHTML-Print [XHTMLPRINT] for low cost printers that may not have a full-page buffer and that generally print from top-to-bottom and left-to-right with the paper in a portrait orientation.
This profile also contains an enhanced layout extension set that is the companion of the XHTML-Print extension set and supports more exacting page layouts and orientations. The enhanced layout extension may require full page buffering within the printer.
Some print applications require a more exacting page layout than is available from a conforming printer (e.g. photo album pages or pages from a digital TV). The Enhanced Layout Extension increases the number of properties that a conforming printer supports and thereby the requirements of its memory and performance capabilities.
Two fundamental architectures exist to support printing in a mobile context. One of these methods involves mobile print drivers which are used on smartphones and PDAs where the rendering of the page is performed on the device itself. Typically the connection to the printer is based on Bluetooth or on Wifi facilities on the mobile device to network connected printers. In this case, page formatting and the print drivers are located on the mobile device, and print data is transmitted to Bluetooth or Wifi connected printers. Examples of this are available for smartphone environments like Pocket PC & Symbian. Mobile Print.
Another method of printing in support of mobile environments is via “Print by Reference”. In this scheme, the mobile device provides a URI of the printable content to a network connected printer. The printer is then responsible for getting the content, formatting it, and then printing. In this case, the mobile device does not need the print drivers, and the rendering engines exist as part of the printer or as network resources. One benefit of this scheme is that the data to be printed is not sent to the wireless device, it is sent to the network printer via traditional networking facilities
Whether Mobile print drivers or print by reference schemes are used, proper CSS manipulation is key to reasonable print output. This manipulation can be facilitated via tools in support of mobile web with consideration for printing. As multimodal interaction standards emerge allowing for multiple input and output methods, the concept of printing as another mode of output with larger presentation capabilities, is a powerful concept only if care is taken to make sure the printable content is formatted correctly.
(1) XHTML-Print, W3C Candidate Recommendation, Jim Bigelow, World Wide Web Consortium, 20 January 2004. Available from http://www.w3.org/TR/2004/CR-xhtml-print-20040120/. The latest version is available at http://www.w3.org/TR/xhtml-print/.
(2) CSS Print Profile , W3C Candidate Recommendation, J. Bigelow, 25 February 2004. Available at: http://www.w3.org/TR/2004/CR-css-print-20040225/ . The latest version is available at http://www.w3.org/TR/css-print/.
(3) CSS Mobile Profile 1.0, W3C Candidate Recommendation 25 July 2002, T. Wugofski, D. Dominiak, R. Stark, T. Roy, at http://www.w3.org/TR/css-mobile.
(4) Print Different – Eric Meyer http://www.meyerweb.com/eric/articles/webrev/200001.html
(5) CSS Design: Going to Print - Eric Meyer http://www.alistapart.com/articles/goingtoprint/
(6) Cascading Style Sheets, level 2 CSS2 Specification http://www.w3.org/TR/REC-CSS2/
15-october-2004 Hewlett Packard; Paul Burke.