Валерий Сидоров Грандмастер

Windows: как устранить проблемы с очередью печати?

Что такое очередь печати, диспетчер очереди печати

spool (англ.) — подкачивать/откачивать данные;
SPOOL — сокр. от Simultaneous Print Operations On Line — одновременная online-обработка заданий на печать;
spooler (print spooler) — спулер, спулер печати — 1) диспетчер очереди печати — программа-планировщик, которая принимает документы, отправленные пользователем на печать, сохраняет их (на диске или в оперативной памяти) и отправляет в порядке очереди на выбранный принтер. Дисковый адрес Диспетчера очереди печати (Spooler SubSystem App) — \Windows\System32\spoolsv.exe; 2) подсистема печати получает, обрабатывает, выполняет диспетчеризацию и распределяет документы, направляемые на печать. Дисковый адрес Подсистемы печати (Spooler SubSystem DLL) — \Windows\System32\spoolss.dll;
spool file — файл спулинга, спул-файл — файл, в который в процессе спулинга сбрасывается содержимое задания на печать;
spooling — 1) спулинг (процесс обработки посылаемых на печать документов, которые сохраняются на диске или в ОЗУ до момента, когда печатающее устройство сможет их обработать); 2) подкачка (данных); откачка (данных) (одновременно с решением задачи);
print spooling — вывод задания на печать с (предварительной) подкачкой;
print queue — очередь заданий на печать (очередь печати) — список документов, ожидающих печати. Очередь печати (Windows Vista и XP) формируется в папке \Windows\system32\spool\PRINTERS;
Буферизация печати — создание очереди печати, позволяет процессору компьютера ускорить обработку задания печати за счет его временного сохранения на жестком диске перед отправкой на принтер. В результате процессор может значительно быстрее вернуть управление программе, из которой выполняется печать, чем если бы обработка всего задания и отправка его непосредственно на принтер выполнялись самой программой.

Как отменить задание на печать
 — XP: нажмите Пуск → Настройка → Принтеры и факсы (Vista: Пуск → Панель управления → Принтеры);
 — в диалоговом окне Принтеры и факсы (Принтеры) двойным щелчком левой кнопки мыши откройте окно нужного принтера (или щелкните нужный принтер правой кнопкой мыши, из открывшегося контекстного меню выберите Открыть);
 — в очереди печати щелкните правой кнопкой мыши элемент, печать которого требуется остановить, и выберите команду Отмена (для отмены всех заданий в меню Принтер выберите команду Очистить очередь печати).

Примечания
1. Если не удается отменить задание печати с помощью указанных действий, нажмите кнопку Отмена на самом принтере.
3. Чтобы быстро просмотреть список текущих заданий печати, дважды щелкните значок принтера в области уведомлений Панели задач (рядом с часами).
3. Пользователь может отменять только собственные задания печати. Для отмены задания печати другого пользователя необходимо иметь разрешение на управление документами на принтере.

Проблемы с отменой заданий на печать
Windows Vista и XP «не любят» отмену заданий на печать «на лету» (когда печать уже идет). В таких случаях очистить очередь печати зачастую удается не сразу, а до тех пор, пока вы не очистите очередь печати, следующее задание на печать выполняться не будет. Иногда отменить задание на печать удается только после перезагрузки (а иногда после перезагрузки задание на печать, которое мы уже вроде бы отменили, принтер начинает распечатывать).

В таких случаях можно попытаться вручную очистить папку очереди печати (\Windows\system32\spool\PRINTERS). Правда, удается это не всегда, т.к. эта папка имеет атрибуты Скрытая, Системная, Только для чтения, поэтому Windows не позволит вам особо «бесчинствовать» в этой папке.

Можно попытаться очистить очередь печати с помощью альтернативного файлового менеджера, например, Total Commander (в настройках должен быть установлен флажок Показывать скрытые и системные файлы).

Есть еще один — радикальный! — метод:
 — завершите все задания печати;
 — остановите спулер печати;
 — создайте специальную папку для заданий очереди печати (например, C:\spool);
 — укажите в настройках сервера печати (или через Реестр) ее месторасположение;
 — запустите спулер печати;
 — теперь при проблемах с отменой печати запустите Службы (или Диспетчер задач);
 — выгрузите спулер печати spoolsv.exe;
 — откройте папку C:\spool и удалите все временные файлы (каждое задание на печать, как правило, «оформляется» парой файлов спулинга — *.SPL, *.SHD, например, 00005. SHD и 00005. SPL (или FP00001. SPL и FP00001. SHD). У некоторых принтеров, в папке очереди печати, вдобавок к файлам *.SPL, *.SHD, создаются еще и файлы *.tmp);
 — запустите спулер печати.

Как выгрузить (остановить) Диспетчер очереди печати (спулер печати)
 — нажмите Пуск → Настройка → Панель управления → Администрирование → Службы (или Пуск → Выполнить… → в выпадающем списке Открыть диалогового окна Запуск программы введите services.msc → OK);
 — в диалоговом окне Службы найдите Диспетчер очереди печати;
 — щелкните Остановить службу.

Как запустить Диспетчер очереди печати
 — нажмите Пуск → Настройка → Панель управления → Администрирование → Службы (или Пуск → Выполнить… → в выпадающем списке Открыть диалогового окна Запуск программы введите services.msc → OK);
 — в диалоговом окне Службы найдите Диспетчер очереди печати;
 — щелкните Запустить службу.

Как изменить расположение Папки очереди печати
Создайте на жестком диске папку, например, C:\spool;

1-й способ
1) Windows Vista:
 — нажмите Пуск → Панель управления → Принтеры;
 — откройте меню Файл → Свойства сервера…;
 — в диалоговом окне Свойства: Сервер печати откройте вкладку Дополнительные параметры;
 — в текстовое поле Папка очереди печати введите C:\spool (по умолчанию — C:\Windows\system32\spool\PRINTERS) → OK;
 — в появившемся окне Свойства сервера печати санкционируйте изменение местоположения папки Диспетчера очереди печати, нажав Да.

2) Windows XP:
 — нажмите Пуск → Настройка → Принтеры и факсы;
 — в диалоговом окне Принтеры и факсы откройте меню Файл → Свойства сервера;
 — в диалоговом окне Свойства: Сервер печати откройте вкладку Дополнительные параметры;
 — в текстовое поле Папка очереди печати введите C:\spool (по умолчанию — C:\WINDOWS\System32\spool\PRINTERS) → OK;
 — в появившемся окне Свойства сервера печати санкционируйте изменение местоположения папки Диспетчера очереди печати, нажав Да.

Внимание!
1. Изменение местоположения папки Диспетчера очереди печати вступают в силу немедленно, и все текущие документы не будут напечатаны. Рекомендуется дождаться завершения печати всех документов, прежде чем изменять местоположение папки Диспетчера очереди печати.
2. Папка очереди печати по умолчанию (если не задано иное!) применяется для всех принтеров, установленных в системе.

2-й способ
Ручное редактирование Реестра:
 — нажмите Пуск → Выполнить… → в выпадающем списке Открыть диалогового окна Запуск программы введите regedit → OK;
 — в диалоговом окне Редактор реестра найдите раздел [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers];
 — измените значение REG_SZ-параметра на путь к папке, которую мы создали, например, C:\spool (значение по умолчанию — C:\WINDOWS\System32\spool\PRINTERS);
 — закройте Редактор реестра.

Примечания
1. Для каждого установленного в системе принтера можно назначить свою папку очереди печати. Например, у вас установлен принтер HP LaserJet 1015. Найдите раздел
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\HP LaserJet 1015].
Измените значение строкового параметра SpoolDirectory на путь к папке, которую мы создали, например, C:\spool (значение по умолчанию не задано).
2. Если вы не можете запустить Диспетчер задач, см. Что делать, если появляется сообщение «Диспетчер задач отключен администратором»?
3. Если пункт меню Свойства папки недоступен, см. Что делать, если недоступен пункт меню «Свойства папки»?
4. Если вы не можете запустить Редактор реестра Windows, см. Что делать, если появляется сообщение «Редактирование реестра запрещено»?
5. При работе с Редактором реестра Windows следует соблюдать осторожность, а то можно такого наредактировать, что придется переустанавливать операционную систему!..
6. Подсистему печати могут отключить вирусы — см. Windows: что делать, если вирусы отключили подсистему печати?
7. Если не удается отобразить скрытые файлы и папки, см. Windows: что делать, если не удается отобразить скрытые файлы и папки?

Обновлено 22.09.2008
Статья размещена на сайте 14.08.2008

Комментарии (6):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети:

  • Скот Торсонс Читатель 11 июля 2012 в 09:50 отредактирован 27 мая 2018 в 15:19

    Отличная информация! Но соглласитесь, что все случаи этой ошибки могут быть вызваны разными причинами и уничерсальных методов исправления ошибок этой службы нет. Не которые, возможно, будут полезны для вас, но бывают случаи, что практически все способы бесполезны, и вам просто остается искать что-то еще.

  • 5

    Хорошая нужная статья. Бывают у меня такие проблемы.

    Оценка статьи: 5

  • Очень полезная статья !

    Оценка статьи: 5

  • Андрей Трухов Читатель 22 октября 2008 в 13:26 отредактирован 22 мая 2018 в 18:36
    Есть третий способ быстрой очистки очереди печати

    К сожалению столкнулся в своё время с проблемой HP 1005 - печатает отлично но если вы задумали отменить задание - то это гиблый номер вплоть до перезагрузки было. Поэтому я почитав и изучив структуру работы очереди печати сделал следующее.
    На рабочем столе создаём файл ОчиститьОчередбПринтера.cmd
    В файле прописываем
    taskkill /f /im spoolsv.exe - принудительно останавливает процесс spoolsv
    del %systemroot%\system32\spool\printers\*.* /f /q - Принудительно удаляем Все файлы из папки очереди печати
    spoolsv start - Стартуем процесс обратно

    • Валерий Сидоров Грандмастер 2 декабря 2008 в 14:54 отредактирован 2 декабря 2008 в 14:55

      Да, выгрузить из памяти Диспетчер очереди печати и очистить очередь печати можно (и удобно!) таким bat- или cmd-файлом.
      К сожалению, заново стартовать spoolsv.exe этим bat- или cmd-файлом удается не всегда, даже если прописать полный путь %systemroot%\system32\spoolsv.exe (например, может помешать такому старту spoolsv.exe антивирус или ОС, особенно, если это Vista). Поэтому в таких случаях придется запустить spoolsv.exe вручную.