Spool: send print files directly to a Windows printer

Skip to main content (skip navigation menu)

Spool: send print files directly to a Windows printer

This product is made in the EU

Spool is a small Win32 console utility that sends the contents of a file to the spooler of a Windows printer, bypassing the printer driver. The purpose is to send a raw print file, such as one produced by the “print to file” functionality of Windows and many DOS programs, to a printer.

In our documentation generation system, based on TEX, the source documents are processed to a “DVI” file (device-independent) which then passes through a DVI driver to generate the codes for the specific printer. When the printer is directly connected to the PC, the DVI driver can output to that printer directly, but for printing to a network printer, it must send its output to a file, for later spooling to the printer. This “Spool” utility performs this last step.

There is a handful of utilities like this one; a search for “raw print” or “direct print” on the Internet will uncover both shareware and freeware programs with a similar purpose. Most of these utilities are GUI programs, without command-line support. The Spool utility fits in because it is a freeware, command-line driven utility that prints to either a specific printer or the default printer.

Downloads & license

Spool version 1.3 (35 KiB)
The Spool utility in a ZIP archive. Just unzip and run; Spool writes nothing in the registry, no installation or uninstallation is required. Source code in C is included.

Spool 1.3 is copyrighted software that is free for personal and commercial use. You may use it and distribute it without limitations. You may adapt it for your own use. If you distribute modified versions of this utility, you must however make clear that it is not the original version, and you must keep the copyright notice intact. There are no guarantees or warranties whatsoever; use it at your own risk.


Starting the command spool without any command-line arguments shows the usage, and a list with the available printers. The default printer is also identified. Below is typical output, on a laptop that has one local (virtual) printer (PDFCreator), a second printer that is connected to another PC in the network (called "server") and a third that is directly connected to the network. This third printer is set as the default. Whether the names of the servers and/or the addresses of network print queues are shown, depends on how the printers were installed. So even if spool only lists the names of the printers, without network path prefix, these may still be network printers.

Spool 1.3
(c) Copyright 2008-2020, CompuPhase, Netherlands

USAGE: spool.exe filename [printer name] [document title]

Available printers:
        * \\\BRN0ACD3B

The printer marked with a * is the default printer

Running spool with a filename, sends that file to the default printer. To print to any other printer, add the printer name to the command line as the second argument to spool. The printer name may optionally include the server path. Given the list of printers in the above example, the names "\\server\brother" and "brother" would both select the same printer.

If a filename or the printer name contains space characters, the entire name must be between double quotes.

The optional document title is the name that will be shown in the print queue. If it contains space characters, it must be between double quotes.


Version 1.3, 16 November 2020
“document title” parameter.
Version 1.2, 26 October 2020
Source code included (no modifications in the software).
Version 1.2, 9 May 2011
Support for more than 20 installed printers.
Version 1.1, 13 December 2010
Bug corrections.
Version 1.0
First public release.