an introduction to xhtm l print
play

An Introduction to XHTM L Print Presented to the W 3C Print - PowerPoint PPT Presentation

An Introduction to XHTM L Print Presented to the W 3C Print Symposium 2006 Dean Anderson, Hewlett-Packard Company October 17, 2006 dean.anderson@ hp.com XHTML -Print So why does the world need another print language? W e already have:


  1. An Introduction to XHTM L Print Presented to the W 3C Print Symposium 2006 Dean Anderson, Hewlett-Packard Company October 17, 2006 dean.anderson@ hp.com

  2. XHTML -Print So why does the world need another print language? • W e already have: • PostScript/ PDF • PCL – HP • EscP – Epson • And several others…

  3. In the days of MS DOS – M x N Problem N Printer Models M Applications

  4. Basic W indows (and Mac) printing model PC Application Font L ibrary GDI+ (Graphics L ibrary API) Vendor Specific Printer Drivers Vendor A Vendor A Vendor B Vendor C Model X Model Y Model Q Model W Printer X Printer Y Printer Q Printer W

  5. Advantages of the PC Model • Abstraction of the printer – a standard, layered interface, for supporting printing. • Allows the printer vendor to optimize cost tradeoffs • The cost historically was mainly in memory size • L aser Engines required a full page bitmap because you could not pause in the middle of the page • PCL 5 in HP’s case. Higher level objects are passed to the printer – Text and graphics objects • Inkjet Engines could easily pause in the middle of the page. • PCL 3 in HP’s case. L ow level raster interface

  6. Device Printing – A N ew Opportunity

  7. Device Capability • Very limited resources – Memory and processor speed. • Connectivity challenges • N o USB in many cases • N o common IO in all cases • However, there is a trend towards internet connectivity but usually through the PC. • L imited operating system – no printer abstraction • In some situations, no ability to load new applications. • N o ability to load a driver • The MxN problem would not be tolerated by vendors that did not see a lot of value in printing, or by printer vendors that did not see a big return on investment.

  8. Objectives for a new printer interface • Common language across all vendors and printer models. • Allow for printer differentiation • Small memory footprint • Appropriate for laser engines and inkjet engines.

  9. Convergence of Standards Activities • In 2000, the Bluetooth Printer W G began working on a Print Profile for printing from mobile phones and PDA’s. • About the same time the UPnP Imaging Committee began working on a Print Service for device-to-device printing in the home. • Both needed to specify a mandatory print format and image format for interoperability. • Several formats were considered, but all were found wanting: • Postscript, PCL , TIFF, J etSend, PDF, etc. • Bluetooth – BPP – Blue tooth Printing Profile • UPnP – UPnP PrintEnhanced:1

  10. Enter Modularization & XHTML Basic • W hen XHTML Basic advanced to R EC, a light went on… XHTML modules offer a format that: • Is suited for top-down, one-page-at-a-time processing; • Utilizes fonts on the printer, but tolerant of differing font metrics • Is network ready (MIME type, http-equiv, etc.) • Has a well-defined, rich toolbox and strong standards process for growth • Supports standard image formats • Coupled with a suitable CSS subset, provides strong presentation flexibility • Provides an easy off-ramp for printing XHTML Basic content • Allows for the printer to manage it’s own memory resources. In the case of XHTML image content can be pulled when needed as many times as needed.

  11. W hat is XHTML -Print? From the Abstract: • XHTML -Print is member of the family of XHTML languages defined by the Modularization of XHTML . • It is designed to be appropriate for printing from mobile devices to low-cost printers. • It is targeted at printing in environments where it is not feasible or desirable to install a printer-specific driver and where some variability in the formatting of the output is acceptable.

  12. W hat’s Included in XHTML -Print? • Essentially, it’s XHTML Basic 1.0, plus: • Text Extension Module - Presentation • b, big, hr, i, small, sub, sup, tt • Scripting Module • noscript, script (for printing of noscript; script is ignored.) • Style Sheet Module • style • Style Attribute Module • style attribute • A requirement for baseline J PEG support

  13. W hy N ot J ust Use XHTML 1.0? • It is sometimes suggested that modular profiles are not the best approach; that it would be better to just implement the parts of XHTML that are appropriate to one’s solution; and the parsing rules will ensure graceful degradation for incomplete implementations. • That approach would not meet the market requirements of either printer vendors or client manufacturers for this solution: printed results must be strongly deterministic to control support costs. This implies the author must know which features are supported to ensure consistent output across all printers. • This requires specifying which features are mandatory; ergo, a profile.

  14. L ooking at printing from a W eb centric point of view • Paper does not allow for a scroll bar – yet. • Part of the challenge was adapting XHTML to paged media – leading to the development of the CSS3 Module: Paged Media

  15. W hy is Microsoft not interested in supporting XHTML Print? • XHTML -Print does not guarantee W YSIW YG printing (W hat You See Is W hat You Get) • Basically there is no mechanism for downloading or managing fonts. • The design center for XHTML -Print was “content is king” – meaning it was more important to print the information then to meet W YSIW YG.

  16. The Print L anguage is only half the problem • Printers also require a control mechanism • A way to submit a print job • Track progress • Manage exceptions • Out of paper • Out of ink • Paper jam • Paper size selection

  17. UPnP Control Point – Object Oriented Methods Properties (remote procedure calls) • J ob status • GetPrinterAttributesV2 • Printer State • CreateJ obV2 • CreateUR IJ ob Events • GetJ obAttributes • Printer state changes • GetMediaL ist • Printer errors • GetMargins • CancelJ ob

  18. R elated Standards Bodies Universal Plug and Play W ireless Mobile Handsets N etworked digital home services (Digital L iving N etwork Alliance)

  19. DL N A Printing Profile DLNA DMPr Device DLNA DMPr Device CSS Print CSS Print UPnP PrintEnhanced:1 UPnP PrintEnhanced:1 XHTML Print XHTML Print Service Service CSS2 Print CSS2 Print Enhanced Enhanced Page Description Language UPnP Print Service

  20. TCP/ IP opens up interesting solutions 2 & 3 Box Printing Control 2 Box Print Content Printer Controller UPnP Printer Content 3 Box Print Control Control Digital Media Server UPnP Printer Printer Controller

  21. Content beyond the home Content Control Control Internet UPnP Printer

  22. Image Handling • XHTML Print does not require • Embedded thumbnails • Image R otation • Progressive rendering • Side-by-side images • Memory limitations in the printer may prohibit side-by- side image printing. In this case the printer is allowed to reformat the page. • In all cases the printer should attempt to preserve the content.

  23. UPnP Photo Templates – Adopted by DL N A • Photo Printing - A Key emerging application. • Printers combine Images with an XHTML template to create the printed page XHTML + Document = XHTML 2006 European Vacation 2006 European Vacation Template Template Document

  24. XHTML Example – Photo Templates • 57 Photo templates were written to make it easy for vendors to print photos • Available at www.upnp.org • Allows for printing 1-8 photos on a page • Supports many different media sizes. • Prints “Standard photo sizes”: 10x15cm, etc.. 2-up 3-up 1-up

  25. 2-up, 5x7 on A size Photo Template <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBL IC "-/ / W 3C/ / DTD XHTML -Print 1.0/ / EN" "http:/ / www.w3.org/ MarkUp/ DTD/ xhtml-print10.dtd"> <html xmlns="http:/ / www.w3.org/ 1999/ xhtml"> <head> <title>2up_portrait_A_5x7in</ title> <base href="http:/ / insert.proper.address.here/ " / > <style type="text/ css"> @ media print { @ page {size:letter; margin:0.2in;}} body { padding:0in; } div.page { position:relative; page-break-after:always; } div.page_last { position:relative;} div.img1 {overflow:hidden; padding:0in; position:absolute; top:0.13in; left:0.55in; width:7in; height:5in;} div.img2 {overflow:hidden; padding:0in; position:absolute; top:5.46in; left:0.55in; width:7in; height:5in;}

Recommend


More recommend