2016-01-05 5 views
0

Я работаю над пользовательским драйвером принтера V3. Текущая задача - предоставить возможность создавать пользовательский размер бумаги для пользователя. Я немного искал его и нашел 2 способа сделать это:Драйвер принтера - размер нестандартной бумаги

1) Опция CUSTOMSIZE в файле GPD. Я добавил это в мой файл GPD:

*Option: CUSTOMSIZE 
{ 
    *rcNameID: =USER_DEFINED_SIZE_DISPLAY 
    *MinSize: PAIR(4724, 6992)  
    *MaxSize: PAIR(14032, 20410)  
    *MaxPrintableWidth: 14032 
    *MinLeftMargin: 0 
    *CenterPrintable?: FALSE 
    *Command: CmdSelect 
    { 
     *Order: PAGE_SETUP.2 
     *Cmd: "" 
    } 
} 

, но не смог найти, где он появляется в интерфейсе пользователя.

2) Также я обнаружил, что у некоторых принтеров есть пользовательские диалоги, которые позволяют создавать собственные размеры бумаги. Например:

enter image description here

Можно ли создать для драйвера принтера V3? Если да, то как?

Заранее благодарен!

+0

Да, конечно, это возможно. Если вы добавили опцию настраиваемого размера в GPD правильно, вы должны увидеть нестандартный размер в качестве опции в раскрывающемся списке размера бумаги. Если вы выбираете эту опцию, это зависит от вашего драйвера принтера. Взгляните на эту статью. https://msdn.microsoft.com/en-us/library/windows/hardware/ff562747%28v=vs.85%29.aspx –

+0

Спасибо за ответ. Конечно, я прочитал его, но не нашел, как показать этот пользовательский интерфейс для выбора размера нестандартной бумаги. В раскрывающемся списке нет размера бумаги. –

ответ

0

Нестандартная бумага должна быть создана пользователем в форме «Свойства сервера печати». Он появился в раскрывающемся списке размера бумаги для принтера, если он соответствует minsize/maxsize и другим.