210 likes | 307 Views
Package! Publish! Print!. Brian Adelberg Digital Document Solutions Software Development Lead Microsoft Corporation. Session Outline. Printing Printer Pipeline Asynchronous Printing Notification Packaging File Format Definitions Developer Scenarios Package Overview Publishing
E N D
Package! Publish! Print! Brian Adelberg Digital Document Solutions Software Development Lead Microsoft Corporation
Session Outline • Printing • Printer Pipeline • Asynchronous Printing Notification • Packaging • File Format Definitions • Developer Scenarios • Package Overview • Publishing • XPS – new Publishing Format • Developer Scenarios • XPS Overview
Session Goals • Demonstrate new technologies in .NET 3.0 that deliver new ways to distribute data • Explore these technologies and show how they apply to future products • Brief technical overview of the new technologies
日本語 日本語 PrintingTraditional Data Distribution
Packaging Application Data
Microsoft XPS Document Writer Electronic Publishing
Printing • Print Filter Pipeline • Asynchronous UI Notification
Print Filter Pipeline • New print driver model in Window Vista • XPS Document spool file • Quality • Archiving • Easy to interpretation • Extensible • Provide clear interfaces for plug-ins • Third parties can improve print quality • Flexible • Compatibility with Win32 and .NET 3.0 applications
Provided by Microsoft ISV IHV XPSDrv Filter Pipeline Architecture .NET 3.0 App Win32 App ApplicationProcess SpoolerProcess Filter Pipeline Process Version 3Driver Filter Pipeline Config Module/Plug-in XPS Filter PipelineManager Filter 1 ConversionRender Module FPConfigXML Filter N PropertyBag
Asynchronous UI Notification • Bi-directional • Data agnostic • Extensible • More Control • Works across machine boundaries • It is asynchronous
Notification R Channel R Registration Message Asynchronous Notification Print Spooler service Application Printing component Reply Notification SENDER SENDER
Printing Developer Scenarios • Print Preview • Color Correction • Archiving • Legal Compliance • Print Monitoring and Management
Packaging • Provides foundation of a file format • Described in the Open Packaging Conventions Specification v0.9 • Usable by any application • Multiple implementations underway • XPS Document • Office 2007 Open XML formats
More than just Zip • Allows for related collections of files • Provides means to identify file types • Provides Digital Signing • Provides a basis for Rights Management
Custom File Formats • Data can be logically separated into files • Relationship tree organizes data • Content Types identify data types
Custom File Formats • Take advantage of common package services • E.g. core properties, digital signatures • Packages can contain multiple formats • Interleaving provides simultaneous production and consumption
XML Paper Specification (XPS) • Interoperability of independently created software and hardware systems. • Usable by any application • Human Readable • Can be developed with access to common PKZIP and XML libraries
Developer Scenarios • Any .NET 3.0 Visual tree can be serialized as XPS • Any application that can print can generate Xps using the Xps Document Writer • Packaging can be used to generate multi-format documents
Required or Recommended Parts Common Package Parts Core Properties Thumbnail Optional Parts X509 Cert Signature Signature Origin Resources Relationship All parts signed URI Reference Fixed Payload Parts FixedDocumentSequence XPS Package Relationships DocumentStructure FixedDocument Thumbnail FixedPage Font Fonts & Images FixedPage Thumbnail Xps Overview
Fixed Page Glyphs Paths Text Gradient Brush Image Brush
Conclusions • Printing-Traditional means to distribute data • We empower developers by allowing more hooks into the printing process. • Other Developers can cooperatively extend printing functionality • Allow better user experience by providing better methods to communicate with the driver • Packaging – Improve on traditional methods of electronic distribution • Relationships allow for file association • Digital Signatures and Rights Management improve security • File Content types allow for type identification for easier consumption • Publishing – XPS provides easy way to electronically distribute paginated data • Wide distribution of viewing software (XPS Viewer ) • Ease of production with .NET 3.0 and legacy applications] • Open specification makes XPS available to everyone