Драйвер Windows V4 — несколько копий

Мы разрабатываем растровый драйвер Windows V4 для широкоформатного устройства, которое аппаратно не поддерживает множественные копии. Поэтому, если пользователь выбирает несколько копий, это должен выполнять драйвер.

Я попытался изменить исходный GPD, чтобы отключить сортировку, и я надеялся, что конвейер печати Windows сможет воспроизвести задание столько раз, сколько потребуется, но это, похоже, не имело никакого значения.

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

Если у кого-то есть предложение о том, как лучше всего разрешить драйверу XPS обрабатывать несколько копий в программном обеспечении.

Спасибо,

Джон


person Jon    schedule 31.07.2015    source источник


Ответы (1)


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

Вам понадобится новый фильтр, который выполняет копирование в задании. Я бы рекомендовал создать фильтр на основе частей, который копирует части по мере необходимости, прежде чем отправлять их в интерфейс IXpsDocumentConsumer. Несколько моментов, которые следует иметь в виду:

  1. Копии могут быть указаны на любом уровне билета печати, в JobCopiesAllDocuments, DocumentCopiesAllPages или PageCopies.
  2. В результате надежный фильтр должен будет выполнять необходимое копирование на каждом уровне.
  3. Может быть отправлен только один IFixedDocumentSequence, поэтому, если в билете FixedDocumentSequence указано, что копирование должно выполняться через запись JobCopiesAllDocuments, вы должны сделать копии всех IFixedDocument, а не самого IFixedDocumentSequence.
person Jon    schedule 31.07.2015