После того как задание печати поставлено в очередь, эта команда будет исполнена с помощью вызова system() для обработки файла заданий. Обычно указываемая команда отправит файл заданий печати на компьютер с принтером, но это не всегда верно. Сервер не будет удалять файл заданий, если только Вы вручную не укажете команду удаления файла после того как задание будет обработано. Эта опция — простое текстовое значение.
 
Допускает использование следующих макросов :
 
%s, %f — путь к файлу заданий
%p — принтер
%J — имя задания, отправленного клиентом
%c — количество напечатанных страниц текущего задания (если известно)
%z — размер задания (в байтах)
 
     Команда печати ДОЛЖНА содержать по меньшей мере %s или %f , %p необязателен. В то же время если имя принтера не указать, тогда %p будет молча убрано из параметра printer command.
     Если это указать в секции [global], указання команда будет использоваться для всех сервисов печати, которые не имеют своей собственной команды печати. А если эта команда не будет указана ни в глобальной секции [global], ни в секции конкретного сервиса печати, файлы заданий будут создаваться но не будут обрабатываться (и что более важно) — не будут удаляться.
     Заметьте, что в некоторых UNIX печать может не пройти от пользователя nobody. Если такое имеет место быть, создайте гостевую учетную запись, которой разрешено печатать и пропишите ее в секции [global]. Вы можете задавать сложные команды печати когда осознаете, что они всего лишь передаются интерпретатору shell. Например, следующая будет записывать в журнал событий задание печати, печатать его, а затем удалять его. Обратите внимание, что ‘;’ это обычный разделитель команд в скриптах shell.
print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s
 
     Возможо, Вам придется изменить этот параметр в зависимости от того как должна производиться печать в Вашем конкретном случае. Значение по умолчанию зависит от параметра printing.
 
Значение по умолчанию:
 
Для printing = BSD, AIX, QNX, LPRNG or PLP :
print command = lpr -r -P%p %s
 
Для printing = SYSV or HPUX :
print command = lp -c -d%p %s; rm %s
 
Для printing = SOFTQ :
print command = lp -d%p -s %s; rm %s
 
Для printing = CUPS :
если Самба скомпилирована с libcups, тогда printcap = cups будет использовать CUPS API для постановки заданий в очередь и т.д.
Иначе оно транслируется в команды System V с параметром для печати -oraw , а именно, используется lp -c -d%p -oraw; rm %s .
С параметром printing = cups и если Самба скомпилирована с libcups, любые значения, установленные вручную будут игнорироваться.
 
Нет значения по умолчанию.
 
Пример :
print command = /usr/local/samba/bin/myprintscript %p %s