Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Windows test prints differing in size - and what is 'Enable Advanced Printing Features' all about?

Posted on 2004-08-29
Medium Priority
Last Modified: 2012-05-05
This is a question regarding Windows test prints differing in size when one comes from a workstation printing to a  network attached printer, and a test page being printed directly from the print server itself. I will use an HP  Color LaserJet 4600dtn as an example, but I have seen this issue on various models. The answer may be stupidly simple, but the strange world of printing eludes me sometimes.

When printing a test page from my workstation, I map to the printer using \\servername\printername and I  immediately go to the print queue, select Properties and print a Windows test page and it spools to a size of about  82 KB and then prints.

When I log into the print server through Terminal Services and go to the same printer, select properties and print  a Windows test page, it spools to only about 23 KB and then prints.

I verified that all files (.dlls and such) and information are listed as the same on both of the test prints. I also verified the default settings one both the server and workstation pring queue are the same, such as dpi, etc...

When the print queue is built on the server (and the workstation), by default "Enable Advanced Printing Features"  is enabled, which I believe enables EMF spooling - someone please correct me if I am wrong here. However, the Print  Processor Default Datatype is set to RAW. So does one take precedence or do RAW and EMF not conflict. By looking at the test prints, it states the data format is RAW, so if that's the case, is having "Enable Advanced PRinting  Features" creating additional overhead?

It's difficult finding some straight answers on this subject from both Microsoft and HP knowledge bases. The best  I've been able to do is piecing together bits of information from different places and now it's just starting to  get confusing.

I've never found a good answer as to what "Enable Advanced Printing Features" is all about...Thanks!
Question by:Wicked_Koala
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Author Comment

ID: 11933845
Point value increased.

Accepted Solution

Scott_Willcocks earned 1400 total points
ID: 11940030
enable advanced printing features enable you to do these options. Inwindows 2k

Print multiple pages on one page. Save paper by shrinking several pages and printing them on the same page.
Print multiple copies. Get multiple-copy support even for printers that ordinarily handle only one copy.
Print pages in the correct order. Save the hassle of shuffling pages for those printers that print pages in reverse order. Windows 2000 now automatically corrects this.

and that is all advanced printing does.

so yes enable advanced printing will create more overhead

check thhis link for the difference between RAW and EMF


the reason when you send a print to the printer from the server to the printer it's size is smaller is Because of the way windows handle printing when you send a print job from a local printer it spools it with localpsl.dll this dll only sends the incformation that is needed it's a stripped down version of the remote print spoolers. The remote print spooler has the print router information how to route the print information and where to send any errors you don't need this information with the local print jobs.

below is a break down on printing and spooling.

SO the reason the print jobs are larger from remote clients is it uses a different dll when printing from a local pc or server than when using a remote printer.

Print Process
When print requests are made to a print device that is available through a print server the following happens:

By default, the disk files used by the spooler are contained in %SystemRoot%\System32\spool\printers. Each spooled print job results in two files:

The spool file, which is the print job and has a file extension of .spl.
The shadow file, with a file extension of .shd, which contains the information needed to print the job (things like the priority, the name of the sending user, and the name and location of the physical printer).
The collection of spool files in the spooler directory is called the queue. Every computer that has an installed printer, whether it’s attached locally or remotely, uses the same default location for the queue. If a print job is sent to a remote printer, the local spooler accepts the files and then ships them to the remote computer. In the end, the disk files sit on the computer that has the printer attached waiting to be sent to the physical printer.

The Print Provider
The print provider is responsible for matching your configuration options to the job that’s being sent to the printer. There are two print providers, one for local printing and one for remote printing.

The local print provider (localspl.dll) is found in \%SystemRoot%\system32 and operates only when a print job is sent to a local printer. It performs these chores:

It writes the two files to the spooler (the job file and the shadow file).
It processes the configuration item for a separator page if there is one.
It determines which print processor is needed to take care of the job’s data type and passes the job along to that print processor (see the section on print processors coming up soon in this chapter).
It passes the print job to the print monitor for the target port (information on print monitors is found in this chapter).
The remote print provider wakes up when a Windows computer sents a print job to a remote print server. There are actually two remote print providers: win32spl.dll for Windows print servers; and nwprovau.dll for NetWare print servers. Both files are in the \%SystemRoot%\system32 directory.

If the print job is going to a Windows print server, the print provider turns the file over to the print router (discussed next). If the print job is going to a NetWare server, the job is sent to the NetWare redirector, which passes the job to the NetWare print server.

The Print Router
The print router sits between the client and the print server (even if the print server is also the client because the job is going to a local printer) and it is implemented with winspool.drv which is in the \%SystemRoot%\system32 subdirectory.

The print router has two important jobs:

It has to find the printer the print job needs.
It has to make sure there’s a printer driver for that printer on the print server.
After the print router has located the printer, it searches the print server to make sure there’s an appropriate driver for the printer. If not, it sends one. If the print server is not the same computer as the sending computer (in other words, it’s not a local print process) it copies the spooled print file from the local hard drive to the spooler of the print server.

The Print Monitors
Another component in the Windows NT 4 printing process is the print monitor. This component controls the port and the communications between the port and the spooler. It performs these specific tasks:

Accesses the port and sends the job to the port
Releases the port at the end of a print job
Notifies the spooler when the port is released so the spooler can delete the job from the queue and send the next job
Monitors the printer to see if there are errors being returned

Local Print Monitor
The local print monitor is named localmon.dll and it is in the \%SystemRoot\System32 subdirectory. It controls local ports, but it defines the term “local ports” in its own way. To the local print monitor, every item in the following list is a local port:

The locally attached parallel port(s)
The locally attached serial port(s)
A file (the print monitor prompts for a name if you select this port for a print job)
An explicit filename (every job sent to that filename overwrites the last print job sent there)
A UNC designation for a remote printer connection


Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
Geo-targeting is the practice of distributing content based on a person’s location, as best as you can determine it. Let’s look at some ways you could successfully use this tactic. The following tips and case studies could lead to meaningful results.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question