Задать вопрос
RusMikle
@RusMikle
Программист

Где для принтера в реестре можно изменить какие страницы печатать, и сколько страниц разместить на листе?

Доброе время суток!

Необходимо через реестр настроить какие страницы печатаются (напр 2,4,5-6) и сколько страниц размещать на печатном листе.
После поиска в сети этой информации удалось найти только немного о количестве страниц на листе (тут).
Автор пишет что эта информация находится по смещению 24(0x18) после окончания DEVMODE. Хотя учитывая что длина DEVMODE может меняться непонятно от какого конца отсчитывать. Лучьше бы он написал смещение от начала структуры DevMode. По тому где находится в реестре список номеров печатаемых страниц вообще ничего найти не удалось.

Если кому то известна эта информация поделитесь пожалуйста или направьте по ссылке.

п.с. обращаю внимание что интересует только как это делается через реестр.

Спасибо
  • Вопрос задан
  • 3703 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
m08pvv
@m08pvv
Может проще воспользоваться Print Spooler API Functions?
Ответ написан
Комментировать
RusMikle
@RusMikle Автор вопроса
Программист
нет, тут работа ведётся с webbrowser компонентом а он, при печати, читает настройки каждый раз из реестра.
Ответ написан
RusMikle
@RusMikle Автор вопроса
Программист
так, с количеством страниц на листе разобрался. Есть в DEVMODE в конце кусок называется Driver Extra Date и в этом куске

по смещению byte[24]: это количество страниц на листе (0-одна, 1-2, 2-4, 3-6, 4-9, 5-16)

по смещению byte[20]: как располагаются страницы на листе (0- спереди назад, 1- с зада на перёд)

по смещению byte[564]: рисовать разделительную линию или нет (0- рисовать, 1- нет).

а вот как изменить какие страницы печатать пока не найду
Ответ написан
RusMikle
@RusMikle Автор вопроса
Программист
маленькое дополнение byte[24] == 6 это брошура
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы