Принтер виден в системе, но не печатает: устранение ошибки очереди

Иван Корнев·29 июля 2026·3 мин

Если принтер виден в системе, но не печатает, чаще всего проблема кроется в зависшей или заблокированной очереди печати. Для решения необходимо остановить службу диспетчера печати, удалить временные файлы из системной папки и запустить службу заново с правами администратора.

Оглавление

Причины сбоя печати

Основным компонентом, отвечающим за управление документами, отправленными на печать в Windows, является служба диспетчера печати (Print Spooler). Процесс spoolsv.exe формирует очередь и передает данные на устройство. Если эта служба зависает или сталкивается с ошибкой доступа, принтер остается видимым в списке устройств, но фактическая печать не происходит.

Частой причиной является накопление поврежденных файлов в системной директории очереди. Также проблема может возникать из-за недостатка прав доступа: для управления принтером и очередью необходимо членство в группе Administrators или наличие специального права Manage printers.

Пошаговая инструкция по очистке очереди

Для полного сброса зависшей очереди требуется выполнение действий в строгой последовательности. Простая перезагрузка компьютера может временно решить проблему, но не устраняет корневую причину сбоя.

  1. Остановите службу Print Spooler. Откройте командную строку с правами администратора и выполните команду: net stop spooler

  2. Очистите папку очереди печати. Перейдите в директорию C:\Windows\System32\spool\PRINTERS. Удалите все файлы с расширениями .SPL и .SHD, находящиеся в этой папке. Эти файлы представляют собой зависшие задания печати.

  3. Запустите службу заново. Вернитесь в командную строку и выполните: net start spooler

После выполнения этих шагов очередь будет полностью очищена, и система сможет принимать новые задания.

Ошибка «Доступ запрещен» при попытке открыть свойства принтера или очистить очередь напрямую указывает на недостаток прав. Все операции со службой Spooler и системными папками должны выполняться от имени администратора.

Проверка статуса и портов

Если очистка очереди не помогла, проверьте текущий статус устройства и настройки сетевого подключения.

Для быстрой проверки состояния всех принтеров в системе используйте PowerShell. Выполните команду: Get-Printer | Format-Table Name, PrinterStatus

Это позволит увидеть, какое именно устройство имеет статус ошибки. Для сетевых принтеров критически важно корректное настройка порта. Стандартным портом для протокола TCP/IP является порт 9100 (RAW) или 515 (LPR). Убедитесь, что в свойствах принтера указан верный IP-адрес и порт.

ПараметрЗначение / Действие
Служба управленияPrint Spooler (spoolsv.exe)
Путь к файлам очередиC:\Windows\System32\spool\PRINTERS
Удаляемые файлы.SPL и .SHD
Сетевой порт (RAW)9100
Требуемые праваAdministrators или Manage printers

Если сбои повторяются регулярно, производитель рекомендует скачать и установить актуальный драйвер с официального сайта производителя устройства.

Частые ошибки

  • Удаление файлов без остановки службы. Попытка удалить файлы .SPL и .SHD из папки PRINTERS при активной службе Spooler приведет к ошибке доступа, так как файлы будут заблокированы системой.
  • Игнорирование прав администратора. Запуск команд net stop/start или удаление системных файлов из обычной командной строки без повышенных привилегий невозможен.
  • Ожидание результата после перезагрузки. Перезагрузка ПК часто лишь маскирует проблему, временно очищая оперативную память, но оставляя поврежденные файлы в папке спулера.

FAQ

Почему принтер отображается в Windows, но документы не печатаются? Наиболее вероятная причина — зависание службы Print Spooler или блокировка очереди печати поврежденными файлами заданий. Система видит устройство, но не может передать ему данные.

Какие файлы нужно удалять для очистки очереди? Необходимо удалить все файлы с расширениями .SPL (данные печати) и .SHD (тень задания) из папки C:\Windows\System32\spool\PRINTERS.

Что делать, если появляется ошибка «Доступ запрещен»? Эта ошибка свидетельствует о недостатке прав. Убедитесь, что вы запустили командную строку или PowerShell от имени администратора, так как управление службой печати требует высоких привилегий.

Как проверить статус принтера через командную строку? Используйте PowerShell и команду Get-Printer | Format-Table Name, PrinterStatus. Это выведет таблицу с именами принтеров и их текущим состоянием.