Basic Windows Printing:
Printing to the Local Printer (directly connected to the workstation):
In a Windows environment, when you print to a printer connected to your local computer (when print jobs are spooled locally), the printer drivers and settings are stored on the computer itself. A typical printing process for locally spooled print jobs is:
- The application tells the local spooler to create a print job and an associated spool file on the local computer.
- On the local computer, Windows writes the application’s drawing commands to the local spool file.
- This process of writing commands occurs repeatedly until the job is completely spooled.
- The local spooler processes the job with the printer driver in a process known as rendering.
- The local spooler delivers the rendered data to the printing device (for example, a locally attached printer).
Printing to the Network Printer (printer connected to a central networked print server):
When print jobs are spooled remotely, the Windows print server processes the print job. A typical printing process for remotely spooled print jobs is
- The application tells the remote spooler to create a print job on the print server and an associated spool file.
- On the local computer, Windows writes the application’s drawing commands to the remote spool file.
- This process of writing commands across the network occurs repeatedly until the job is completely spooled.
- The remote spooler processes the job with the printer driver in a process known as rendering.
- The print server delivers the rendered data to the printing device (typically a network printer).
XenApp Printing:
Printing to the user Local Printer through XenApp:
When a print job is spooled to a client along the client printing pathway, it uses this process:
- The published application tells the local spooler on the server hosting the application (that is, the host server) to create a print job and an associated spool file on the host server.
- On the host server, Windows writes the application’s drawing commands to the local spool file. (This process of writing commands occurs repeatedly until the job is completely spooled.)
- The local spooler processes the job with the printer driver in a process known as rendering.
- The rendered data is delivered to the client device through the ICA protocol.
- The client device relays the print data to the client-side printing device (a locally attached printer in this example).
Printing to the User Network Printer through XenApp:
When a print job is spooled to a network printer along the client printing pathway, it uses this process:
- The application server sends the print job to the client for processing.
- The client processes the spooled job and sends it to the Windows print server for processing.
- The Windows print server then sends the print job to the appropriate network printer.
Printing to the XenApp Server Local Printer through XenApp:
- Printing begins on the farm server hosting the user’s session and
- Is routed to a printing device attached locally to the server.
Printing to the XenApp Session Network Printer through XenApp:
When a print job is spooled remotely in a Windows environment, it uses this process:
- The application tells the remote spooler to create a print job and an associated spool file.
- The Windows Print Provider sends the spool file to the print server.
- The print server processes the spool file.
- The print server then sends the print job to the appropriate network printer.
Key Differences Between Remote and Local Spooling:
Unlike remote spooling, local spooling does not use any network resources. Remote spooling requires that the local computer and the remote printer exchange many messages across the network. Even in a non-Citrix environment, if a WAN has substantial latency, users will have a poor user experience if the print jobs are spooled remotely across the WAN.
However, in some situations, for example when the resources on the local computer are needed for other tasks, remote spooling is preferable. In remote spooling, the print job is processed on the print server, which off-loads processing from the local computer.
Reference: Citrix XenApp eDocs product documentation library