Advances in Windows Printing
Daniel EmersonProgram ManagerDigital Documents Platform and SolutionsMicrosoft Corporation
Session OutlineSession Outline
Tenets of Windows Printing ImprovementsRich end-to-end document and color printing
Address technical limitations
Windows Longhorn/WinFX Print PathsBusiness impact
Development requirements
Call to Action
Session GoalsSession Goals
Ensure understanding of Longhorn Printing Landscape
End to End Data flow
Enabling vendor innovation
Provide details on technologies contributing to keynote demonstration
Metro: The Keystone of Windows PrintingMetro: The Keystone of Windows Printing
New format, code-named “Metro”, is the foundational building block for Longhorn document and printing improvements
Enabler for core Windows Printing tenets
OS will continue to support today’s drivers and application to enable innovation on new technology
Word Document Word Document (.doc)(.doc)
PublishPublish as as Metro documentMetro document
PrintPrint to Metro spool to Metro spool filefile
““Metro” is a Metro” is a document document format, a format, a spool file spool file and a PDLand a PDL
““Metro” is a Metro” is a document document format, a format, a spool file spool file and a PDLand a PDL
Tenet: Enable Document Workflow InnovationTenet: Enable Document Workflow Innovation
New print spool file is open and extensibleWell-defined container format and XML content markup
Enables vendor innovation
New applications and new spool file share content markup
Save Format = Print FormatPreserves application content and user intent
Spool file viewable using platform services
Spool file can be reintroduced into document workflows
Tenet: Enable Color Workflow InnovationTenet: Enable Color Workflow Innovation
Color data can be reliably persisted from the application to the driver
Color profiles and processing instructions can be directly embedded in the spool file
New spool file supports representation greater than 8 bpc color
Improved communication of color capabilities and settings
Applications can control color processing“Turn-off” system color management in the new print path
Drivers can more completely express color capabilities
Tenet: Realizing WYSIWYGTenet: Realizing WYSIWYG
Maintain the contract between screen and printConsistent format for electronic publishing and print publishing ensures fidelity
Support Enterprise printing trendsIn-house printing enabled through improved output fidelity
Print on Demand requires alignment of producer and consumer
Architecture Impacts of TenetsArchitecture Impacts of Tenets
Improve abstraction of hardware from softwareBuilt on a rich content spool file format
Native support for transparency and gradients
Enable applications to print to any device without unnecessary “workarounds”
Provide new opportunities for print driver innovation
Enable modular, extensible framework
Eliminate spool file size limitationsFacilitate advanced graphics printing for large format media
Eliminate content bloat from format translation
Remove infrastructure limits on maximum spool file size
Windows Longhorn Print Paths
Pri
nt S
ubsy
stem
Architecture Overview: Simplified ViewArchitecture Overview: Simplified View
Win32 App WinFX App
GDI/DDI Driver MetroDrv Driver
Existing PDLDevice
Metro Device
GD
I Pri
nt P
ath
Me
tro P
rint P
ath
GDI to Metro PP Metro to
GDI PP
New driver model extension, code-named “MetroDrv”
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Pri
nt S
ubsy
stem
Architecture OverviewArchitecture Overview
Win32 App WinFX App
GDI/DDI Driver MetroDrv Driver
Existing PDL Device
Metro Device
Metro to GDIConversion
GDI to MetroConversion
EMF Metro
New spool file format, code-named “Metro”
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Beneficial for ApplicationsBeneficial for Applications
Print path selection automatic for both GDI and MetroDrv driver and devices
Print Subsystem handles conversion paths
Conversions preserve and optimize original content within the bounds of the print path
Delivers the value of Metro drivers and devices to Win32 applications
Win32 application can be optimized for conversion path for additional improvements
Beneficial for DriversBeneficial for Drivers
Print path selection automatic for both Win32 and WinFX applications
Print Subsystem handles conversion paths
Enables “scalable consumption”IHV can optimize driver to complement device functionality
Enhanced Version 3 driver model: MetroDrvMetroDrv offers better flexibility
Extensible filter pipeline, filter reuse, rich spool file format
MetroDrv offers better fidelityWYSWYG preservation of application content
Beneficial for DevicesBeneficial for Devices
Allows direct consumption of the spool file in the device
Enables PCs, mobile devices and removable storage to directly print to supporting devices
Multi-function devices become active workflow participants
Devices are both sources and destinations for document content
Print Path Components: Metro Spool File FormatPrint Path Components: Metro Spool File Format
Open, extensible format for fixed layout, paginated content
Better integrates printing into document and color workflows
Word Document Word Document (.doc)(.doc)
ConsumeConsume in in driver or driver or
directly in printer directly in printer as a PDLas a PDL
PublishPublish as as Metro documentMetro document
PrintPrint to printer to printer(Metro spool file)(Metro spool file)
Metro is a Metro is a document document format, a format, a spool file spool file and a PDLand a PDL
Print Path Components: MetroDrv DriverPrint Path Components: MetroDrv Driver
Extends the existing Version 3 print driver modelWorks with Point and Print downlevel to Windows XP
Consumes the Metro spool file format
Enables vendor innovation through a filter pipeline
Designed for print processing, rendering, and post-processing functionality
MS provides the infrastructure and DDK samples
Enable application compatibility through built-in GDI to Metro conversion
Attend “Foundation Technologies for the Document Life Cycle” presentation for more information on Metro consumption
Pri
nt S
ubsy
stem
WinFX Content ProductionWinFX Content Production
WinFX App
GDI/DDI Driver MetroDrv Driver
Existing PDL Device
Metro Device
Metro to GDIConversion
EMF Metro
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Pri
nt S
ubsy
stem
Metro Print PathMetro Print Path
WinFX App
MetroDrv Driver
Existing PDL Device
Metro Device
Metro
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Metro Print Path DetailsMetro Print Path Details
Optimal printing path for fidelity and performanceMetro content from application (production) to driver/device (consumption) – end to end support
Spooler is “Metro-aware”Native spool file
Direct spooling path
ComponentsWinFX application
MetroDrv driver
Pri
nt S
ubsy
stem
Metro to GDI Conversion Print PathMetro to GDI Conversion Print Path
WinFX App
GDI/DDI Driver
Existing PDL Device
Metro to GDIConversion
EMF
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Metro to GDI Conversion Print Path DetailsMetro to GDI Conversion Print Path Details
Ensures WinFX applications can print to existing drivers
Print Subsystem intelligently converts content within the capabilities of GDI
Transparency is flattened
Gradients are simulated
Complexity gradient and transparency interaction may be rasterized for performance
WinFX printing infrastructure simulates a Win32 application printing
ComponentsWinFX Application
GDI/DDI Driver
Pri
nt S
ubsy
stem
Win32 Content ProductionWin32 Content Production
Win32 App
GDI/DDI Driver MetroDrv Driver
Existing PDL Device
Metro Device
GDI to MetroConversion
EMF Metro
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Pri
nt S
ubsy
stem
GDI to Metro Conversion Print PathGDI to Metro Conversion Print Path
Win32 App
MetroDrv Driver
Existing PDL Device
Metro Device
GDI to MetroConversion Metro
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
GDI to Metro Conversion Print Path DetailsGDI to Metro Conversion Print Path Details
Enables Win32 applications to print to MetroDrv drivers
Conversion is bundled in MetroDrv driver package
Conversion optimizes for Metro benefitsResource reuse
Font subsetting
Transparency and gradient optimizations
ComponentsWin32 Application
MetroDrv Driver
Pri
nt S
ubsy
stem
GDI Print PathGDI Print Path
Win32 App
GDI/DDI Driver
Existing PDL Device
EMF
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
GDI Print Path DetailsGDI Print Path Details
Existing GDI Printing still available for Windows Longhorn
ComponentsWin32 Application
GDI/DDI Driver
Print Paths Comparisons: QualityPrint Paths Comparisons: Quality
Win32 App WinFX App
GDI/DDI Driver MetroDrv Driver
PS/PCL Device Metro Device
GD
I P
rint
Pat
hM
etro Print P
ath
GDI to Metro PP Metro to
GDI P
P
Baseline quality.Baseline quality.Today’s print pathToday’s print path
Baseline quality.Baseline quality.Today’s print pathToday’s print path
Good.Good. Optimizations Optimizations for transparencies for transparencies and gradients, post and gradients, post GDI/GDI+.GDI/GDI+.
Good.Good. Optimizations Optimizations for transparencies for transparencies and gradients, post and gradients, post GDI/GDI+.GDI/GDI+.
Best.Best. Transparencies and Transparencies and gradients are gradients are graphics primitive graphics primitive attributes and attributes and natively consumed natively consumed by devices/drivers.by devices/drivers.
Best.Best. Transparencies and Transparencies and gradients are gradients are graphics primitive graphics primitive attributes and attributes and natively consumed natively consumed by devices/drivers.by devices/drivers.
Better.Better. Flattening Flattening filters applied to filters applied to improve fidelity of improve fidelity of transparency and transparency and gradients, gradients, converted to GDI.converted to GDI.
Better.Better. Flattening Flattening filters applied to filters applied to improve fidelity of improve fidelity of transparency and transparency and gradients, gradients, converted to GDI.converted to GDI.
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Print Paths Comparisons: PerformancePrint Paths Comparisons: Performance
Win32 App WinFX App
GDI/DDI Driver MetroDrv Driver
PS/PCL Device Metro Device
GD
I P
rint
Pat
hM
etro Print P
ath
GDI to Metro PP Metro to
GDI P
P
Baseline quality.Baseline quality.Today’s print pathToday’s print path
Baseline quality.Baseline quality.Today’s print pathToday’s print path
Better.Better. Graphics Graphics optimizations, font optimizations, font subsetting and subsetting and resource reuse resource reuse support in support in conversion reduce conversion reduce spool file sizespool file size
Better.Better. Graphics Graphics optimizations, font optimizations, font subsetting and subsetting and resource reuse resource reuse support in support in conversion reduce conversion reduce spool file sizespool file size
Best.Best. Native Native graphical primitives, graphical primitives, resource resource management, and management, and native spool file native spool file support result in support result in highest highest performance.performance.
Best.Best. Native Native graphical primitives, graphical primitives, resource resource management, and management, and native spool file native spool file support result in support result in highest highest performance.performance.
Good.Good. Intelligent Intelligent flattening reduces flattening reduces rasterization.rasterization.
Good.Good. Intelligent Intelligent flattening reduces flattening reduces rasterization.rasterization.
Provided by:Provided by:
MicrosoftMicrosoft
ISVISV
IHVIHV
Call to ActionCall to Action
Understand Longhorn Print ArchitectureIdentify strategic devices to target the Metro Print Path
Identify extension scenarios
Understand the Windows Color System
Review the Metro v.7 specification and provide feedback to prninfo @ microsoft.com
http://www.microsoft.com/whdc/device/print/metro.mspx
Start implementation with Beta 1
Convert GDI/DDI based drivers to MetroDrv driversExplore the sample filters in Longhorn Beta 1 WDK
Consider on-device rendering with a RIP implementationA reference implementation is planned for Longhorn Beta 1 tools
Visit the WinHEC Hardware Showcase and vendor booths in the exhibition
Community ResourcesCommunity Resources
Community Siteshttp://www.microsoft.com/communities/default.mspx
List of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or webcasthttp://www.microsoft.com/communities/chats/default.mspx
http://www.microsoft.com/seminar/events/webcasts/default.mspx
Locate a local user group(s)http://www.microsoft.com/communities/usergroups/default.mspx
Non-Microsoft Community Siteshttp://www.microsoft.com/communities/related/default.mspx
Additional ResourcesAdditional ResourcesMSDN Developer Community Chats:
Printer Drivers -- Ask the Experts Online http://msdn.microsoft.com/chats/windows/windows_102402.aspWindows Drivers: Printer Drivers http://msdn.microsoft.com/chats/windows/windows_101602.aspWindows Drivers Printing and Networking http://msdn.microsoft.com/chats/windows/windows_022002.asp
Web resourcesWS-Devices Profile:
http://msdn.microsoft.com/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/devprof.asp Printer Working Grouphttp://www.pwg.org WHDC Printing home page: http://www.microsoft.com/whdc/device/print/default.mspxWHDC Still Imaging / WIA home page: http://www.microsoft.com/whdc/device/stillimage/default.mspxColor Use Caseshttp://www.microsoft.com/whdc/device/display/color/WCS_cases.mspx
“Writing Effective Use Cases”, Alistair Cockburn, ISBN 0201702258
Additional ResourcesAdditional Resources
E-mailFor developer print questions: prninfo @ microsoft.com
For developer scan questions: wiainfo @ microsoft.com
For developer color questions: mscolor @ microsoft.com
Developer kit references:SDK for Print Schema User Manual and Keywords: http://winfx.msdn.microsoft.com/library/en-us/printschema/PrintSchema/Overviews/PrintSchema_entry.asp
WDK for PT/PC interfaces: Reference\Printer Driver and Spooler Component Interfaces\Printer Driver Functions and Structures\Unidrv and Pscript Interfaces\Methods for Print Ticket Providers and Consumers
WinFX Print System ObjectDocumentation available in WinFX Beta 1 SDK
Related Sessions: WinHEC 2005Related Sessions: WinHEC 2005
April 25:Foundation Technologies for the Document Life Cycle
Windows Color System Overview
Ask the Experts:Windows Color
Windows Printing
Windows Document Technology
Avalon
April 27:Avalon Imaging Codec Architecture: Overview
Web Services for Devices: the .NET Vision Realized
New Document Life Cycle Opportunities