v4 Printer Driver with customizable capabilities RRS feed

  • Question

  • Hi,

    I need to create a driver for virtual printer. The problem is printer capabilities is unknown during development. We know printer capabilities only when user installs driver on his local machine. But we cannot change *.gpd files because of driver signing.

    Is there any way to create  v4 printer driver, sign it and then customize it's capabilities during installation ?

    • Edited by tony_avt Tuesday, August 16, 2016 6:53 AM
    Tuesday, August 16, 2016 6:40 AM

All replies

  • Let me clarify my task.

    For example, we have two printers - Printer1 and Printer2.

    Priner1 supports 70dpi, 300dpi and 600dpi resolutions, duplex mode, color and grayscale printing.

    Printer2 supports only 300dpi and 70dpi, no duplex mode and only grayscale printing.

    Now, i need to create one driver for Printer1 and Printer2 support. So, it's necessary to hide, 600dpi, duplex mode and color options for Printer2.

    Can I do this with v4 print driver ?

    • Edited by tony_avt Wednesday, September 14, 2016 11:40 AM typo
    Wednesday, September 14, 2016 8:50 AM
  • Hi.

    It seems that V4 printer driver model is very dependent to .gpd and .ppd data files. As you mentioned, changing data files is not possible since any changes in these files will break the driver package sign.

    In V3 printer driver model that is possible by full implementation of "IPrintTicketProvider" ("IPrintOemPrintTicketProvider") as a .dll file. But in V3 model it sounds that the same solution does not work. I tried to implement it as a "Render Filter". That is not a solution due to the fact that these filters are called after loading GUI which making print preferences (say capabilities) available for a user. I also tried to call my .dll file (implemented as a V3 solution model) but it did not called by other components like libraries or extensions (like GUI extensions).

    Check following thread for some more info.:


    • Edited by amirfg Thursday, January 31, 2019 11:05 AM
    Thursday, January 31, 2019 10:42 AM