Windows  ·  medium  ·  Microsoft Office

Printing from Office fails, prints blank, or goes to the wrong printer

Office will not print, prints an empty page, or sends the job somewhere unexpected. Whether other applications can print is the question that splits this in half, and it takes ten seconds to answer.

What you see

"Word cannot print. There is no printer installed" on a machine with printers, pages that come out blank, or jobs arriving at a printer nobody chose. Notepad may print perfectly from the same machine.

What is actually wrong

Office asks Windows for the default printer at startup and again at print time, so anything wrong with the default — including Windows silently changing it — surfaces here first. Beyond that: a stuck spooler queue, a driver that fails only on the richer output Office produces, or a document whose content is genuinely set not to print.

Codes and articles

Word cannot printno printers installedblank page printedspoolerLegacyDefaultPrinterMode

Start here — find out which fix applies

A script that runs the 6 inspection commands from the write-up below and prints what each one returned. It reads the machine and changes nothing — every command that could write, delete, start or stop is excluded from it by construction. Run this first, then pick the fix its output points at.

Download the read-only diagnosticchanges nothing · safe to run before reading

Fixes (4)

Pin the default printer and stop Windows moving it
PowerShell as the affected user15 minuteslow riskreversible

Jobs go somewhere unexpected, or Office claims there is no printer.

  1. See what Windows currently thinks the default is.

    PowerShell
    Get-CimInstance Win32_Printer | Where-Object Default -eq $true | Select-Object Name, PortName, WorkOffline
  2. Check whether Windows is managing the default itself.

    PowerShell
    Get-ItemProperty 'HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows' -Name LegacyDefaultPrinterMode -ErrorAction SilentlyContinue

    "Let Windows manage my default printer" sets the default to whatever was last printed to, including at a different site. This is the answer whenever the default keeps changing on its own, and nothing in Office hints at it.

  3. Turn it off so the default stays where you put it.

    PowerShell
    Set-ItemProperty 'HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows' -Name LegacyDefaultPrinterMode -Type DWord -Value 1
  4. Set the correct default explicitly.

    PowerShell
    (Get-CimInstance Win32_Printer -Filter "Name='Your Printer Name'") | Invoke-CimMethod -MethodName SetDefaultPrinter
  5. Check no printer is stuck in the offline state, which makes Office behave as though it does not exist.

    PowerShell
    Get-Printer | Select-Object Name, PrinterStatus, @{n='Offline';e={(Get-CimInstance Win32_Printer -Filter "Name='$($_.Name)'").WorkOffline}}
  6. Restart Office completely. It reads the default at startup and will not notice a change made while it was open.

Confirm it workedThe default printer is correct, survives a reboot, and Office prints to it.
If you need to undo itSet LegacyDefaultPrinterMode back to 0 to let Windows manage the default again.
Download this fix as a PowerShell script1 step you do yourself · asks before each step
Clear the print queue and restart the spooler
PowerShell as administrator15 minutesmedium risknot reversible

Nothing prints from any application, or a job is stuck and will not delete. Note that this discards every queued job on the machine, for every user.

  1. Look at what is queued before clearing it, so you know what will be lost.

    PowerShell
    Get-Printer | ForEach-Object { Get-PrintJob -PrinterName $_.Name -ErrorAction SilentlyContinue } | Select-Object PrinterName, Id, DocumentName, SubmittedTime, JobStatus
  2. Stop the spooler.

    PowerShell
    Stop-Service Spooler -Force
  3. Empty the spool folder.

    PowerShell
    Remove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue

    A job that cannot be rendered sits here and blocks everything behind it, and it cannot be deleted through the print queue window because the spooler has it open. Stopping the service is what releases it.

  4. Start the spooler again.

    PowerShell
    Start-Service Spooler
  5. Reprint. If the same document jams the queue again, the document or its driver is the problem — go to the driver fix below.

Confirm it workedThe spooler is running, the queue is empty, and a test page prints.
PowerShell
Get-Service Spooler | Select-Object Status
If you need to undo itCleared jobs cannot be recovered and have to be printed again. Nothing else here persists.
Download this fix as a PowerShell scriptnot reversible · needs an elevated shell · 1 step you do yourself · asks before each step
Isolate the driver
PowerShell as administrator40 minutesmedium riskreversible

Office prints blank or garbled while simpler applications are fine.

  1. Print the same document to Microsoft Print to PDF. This separates the document from the printer in one step.

    A clean PDF means the document and Office are fine and the fault is the driver or the device. A broken PDF means the document itself is the problem and no amount of driver work will help.

  2. List what driver the printer is using.

    PowerShell
    Get-Printer | Select-Object Name, DriverName, PortName
  3. Try the alternative driver type. If it is on a PCL driver, add the same printer again using the PostScript driver, or the reverse.

    Office generates far richer output than most applications — transparency, gradients, embedded fonts — and a driver with a rendering bug will fail on that and nothing else. Swapping the driver type is quicker than diagnosing the bug and usually resolves it outright.

  4. Update the driver from the manufacturer rather than from Windows Update, which often carries a older or generic version.

  5. Test with the document's graphics simplified — in Word, File → Options → Advanced → Print, tick "Print in background" off and test again.

Confirm it workedThe document prints correctly from Office with the working driver.
If you need to undo itThe original printer and driver are untouched if you added a second queue rather than replacing it — delete the test queue when finished.
Download this fix as a PowerShell scriptneeds an elevated shell · 4 steps you do yourself · asks before each step
Check the document is not set to withhold content
The Office application15 minuteslow riskreversible

One document prints blank or missing elements while others are fine.

  1. In Word, check File → Options → Display → Printing options, and confirm "Print drawings created in Word" and "Print background colours and images" are ticked if the missing content is graphical.

  2. Check whether the text is formatted as hidden. Home → the paragraph mark button shows hidden text on screen, and File → Options → Display controls whether it prints.

  3. In Excel, check the print area has not been set to an empty or wrong range. Page Layout → Print Area → Clear Print Area, then set it again.

    A print area saved with the file is the single most common reason an Excel sheet prints blank or prints one stray cell. It is invisible in normal view.

  4. Check for rows, columns or sheets set to hidden, and for objects whose properties have printing turned off — right-click an object → Format → Properties → Print object.

  5. Use Print Preview rather than printing to test. It renders through the same path and saves the paper.

Confirm it workedPrint Preview shows the expected content and the printed page matches it.
If you need to undo itEvery setting here is per document and reversible — put back anything you changed if it does not help.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.