1 (08 Mar 2013 01:13:11 отредактировано crazy_man)

Тема: Решение проблем с очередью печати

Термины и определения

spooler (print spooler) - спулер, спулер печати

диспетчер очереди печати – программа-планировщик, которая принимает документы, отправленные пользователем на печать, сохраняет их (на диске или в оперативной памяти) и отправляет в порядке очереди на выбранный принтер.
Дисковый адрес Диспетчера очереди печати (Spooler SubSystem App) – \Windows\System32\spoolsv.exe;

Подсистема печати получает, обрабатывает, выполняет диспетчеризацию и распределяет документы, направляемые на печать.
Дисковый адрес Подсистемы печати (Spooler SubSystem DLL) – \Windows\System32\spoolss.dll;

spool file – файл спулинга, спул-файл – файл, в который в процессе спулинга сбрасывается содержимое задания на печать;

spooling – 1) спулинг (процесс обработки посылаемых на печать документов, которые сохраняются на диске или в ОЗУ до момента, когда печатающее устройство сможет их обработать);
2) подкачка (данных); откачка (данных) (одновременно с решением задачи);

print spooling – вывод задания на печать с (предварительной) подкачкой;

print queue – очередь заданий на печать (очередь печати) – список документов, ожидающих печати. Очередь печати (Windows Vista и XP) формируется в папке \Windows\system32\spool\PRINTERS;

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

Как отменить задание на печать

  • Windows XP: нажмите Пуск –> Настройка –> Принтеры и факсы (Vista: Пуск –> Панель управления –> Принтеры);

  • в диалоговом окне Принтеры и факсы (Принтеры) двойным щелчком левой кнопки мыши откройте окно нужного принтера (или щелкните нужный принтер правой кнопкой мыши, из открывшегося контекстного меню выберите Открыть);

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

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


Проблемы с отменой заданий на печать

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

  • завершите все задания печати;

  • остановите спулер печати;

  • создайте специальную папку для заданий очереди печати (например, C:\spool);

  • укажите в настройках сервера печати (или через Реестр) ее месторасположение;

  • запустите спулер печати;

Теперь при проблемах с отменой печати

  • запустите Службы (или Диспетчер задач);

  • выгрузите спулер печати spoolsv.exe;

  • откройте папку C:\spool и удалите все временные файлы (каждое задание на печать, как правило, «оформляется» парой файлов спулинга – *.SPL, *.SHD, например, 00005.SHD и 00005.SPL (или FP00001.SPL и FP00001.SHD). У некоторых принтеров, в папке очереди печати, вдобавок к файлам *.SPL, *.SHD, создаются еще и файлы *.tmp);

  • запустите спулер печати.

Как остановить/запусить Диспетчер очереди печати (спулер печати):

  • Нажмите Пуск –> Настройка –> Панель управления –> Администрирование –> Службы (или Пуск –> Выполнить… –> в выпадающем списке Открыть диалогового окна Запуск программы введите services.msc –> OK)

  • в диалоговом окне Службы найдите Диспетчер очереди печати;

  • щелкните Остановить/Запустить службу.

Как изменить расположение Папки очереди печати (1-й способ - через GUI)

  • Vista: нажмите Пуск –> Панель управления –> Принтеры (WinXP: Пуск –> Настройка –> Принтеры и факсы);

  • откройте меню Файл –> Свойства сервера…;

  • в диалоговом окне Свойства: Сервер печати откройте вкладку Дополнительные параметры;

  • в  поле Папка очереди печати введите C:\spool (путь к новой папке) (по умолчанию – C:\Windows\system32\spool\PRINTERS) –> OK;

  • Подтвердите изменение папки

Как изменить расположение Папки очереди печати (2-й способ - через Реестр)

  • нажмите Пуск –> Выполнить… –> regedit

  • найдите раздел [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers];

  • измените значение REG_SZ-параметра на путь к папке, которую мы создали, например, C:\spool (значение по умолчанию – C:\WINDOWS\System32\spool\PRINTERS);

  • закройте Редактор реестра.

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

2

Re: Решение проблем с очередью печати

Можно ещё и так. Создайте батник вида

net stop spooler
del %systemroot%\system32\spool\printers\*.shd
del %systemroot%\system32\spool\printers\*.spl
net start spooler