Compartilhar via


Criar um driver de impressora v4 básico

Importante

A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

Importante

A Microsoft anunciou o fim do suporte para drivers de impressora herdados v3 e v4.

Para mais informações, consulte Fim do plano de suporte para drivers de impressora de terceiros no Windows.

Aviso

Este tutorial do driver da impressora contém vários erros e não pode ser usado no momento.

Crie um driver de impressora v4 básico usando o assistente de desenvolvimento de driver no Microsoft Visual Studio 2019 para selecionar o conjunto mínimo de recursos para criar um driver de impressora funcional.

As instruções neste tópico se concentrarão nas etapas necessárias para a criação de um driver e não explicarão as muitas opções de driver de impressora disponíveis no assistente.

A intenção deste tópico é fornecer uma introdução ao processo envolvido no desenvolvimento de um driver de impressora no Visual Studio 2019.

Uma visão mais detalhada das opções do driver da impressora é fornecida em Explorando as opções do driver no assistente.

Pré-requisitos

Siga as diretrizes em Baixar o WDK (Windows Driver Kit) e verifique se você concluiu os seguintes itens:

  1. Instale o Visual Studio 2019 com a carga de trabalho Desenvolvimento da área de trabalho com C++ e a versão correta do SDK do Windows 10.

  2. Instale o WDK (Windows Driver Kit) para Windows 10, versão 2004.

  3. Instale a extensão Kit do Driver do Windows (WDK) para o Visual Studio 2019.

Selecione os recursos para o driver básico

  1. No Visual Studio, no menu principal, selecione Arquivo>Novo>Projeto.

  2. Na janela Novo Projeto, na caixa de pesquisa superior direita, digite driver de impressora v4 e pressione Enter. Isso recuperará todos os modelos de driver cujos nomes contêm o texto de pesquisa.

  3. No painel do meio, selecione Driver de impressora V4.

  4. Digite um nome para o driver no campo Nome e selecione OK. Por exemplo, você poderia digitar MyV4PrintDriver.

  5. No Assistente para Criar um Driver de Impressão v4, em Escolher o tipo de renderização do driver:, selecione Driver de impressão V4 com filtros de renderização personalizados (aceita somente XPS).

  6. Deixe todas as outras opções com suas configurações padrão e selecione Avançar.

  7. Na seção Informações de configuração do assistente, deixe todas as opções com suas configurações padrão e selecionet Avançar.

  8. Na seção Informações de configuração (página 2) do assistente, deixe todas as opções com suas configurações padrão e selecionet Avançar.

O Microsoft Visual Studio usa as seleções anteriores para gerar os arquivos de projeto para MyV4PrintDriver.

Verifique os arquivos de driver gerados

  1. Navegue até a pasta dos arquivos de driver gerados. Por exemplo, se você nomeou seu projeto MyV4PrintDriver, por padrão, os arquivos serão salvos no seguinte local: Meus Documentos > Visual Studio 2019 > Projetos > MyV4PrintDriver > MyV4PrintDriver.

  2. Verifique se a pasta contém os seguintes arquivos:

    Nome do arquivo Tipo de arquivo
    MyV4PrintDriver.gpd Arquivo de descrição da impressora
    MyV4PrintDriver.inf Arquivo de informações de configuração
    MyV4PrintDriver.vcxproj Arquivo de projeto C++
    MyV4PrintDriver.vcxproj.filters Arquivo de filtros de projeto C++
    MyV4PrintDriver-manifest.ini Arquivo de definições de configuração (o manifesto do driver de impressão)
    V4PrintDriver-Intellisense.js Arquivo JavaScript para Intellisense
    V4PrintDriver-Intellisense-Windows8.1.js Arquivo JavaScript para Intellisense

Observe na tabela anterior que um dos arquivos criados é um arquivo INF. Observe que o Visual Studio criou um arquivo INF esquelético que precisa ser concluído para que ele possa ser usado para instalar o driver.

Criar um PrinterDriverID exclusivo para o driver

  1. No menu Ferramentas do Visual Studio, selecione Criar GUID.

  2. Selecione a opção 4. Formato do Registro e selecione o botão Copiar.

  3. No Visual Studio, no Gerenciador de Soluções, expanda o nó MyV4PrintDriver.

  4. Selecione Arquivos de driver, na janela Propriedades, observe o valor do campo Identificador exclusivo. Substitua esse valor pelo GUID gerado usando Colar.

Preencha o arquivo INF

No projeto MyV4PrintDriver, deve haver uma entrada para Arquivos de Driver. Abra isso e o arquivo MyV4PrintDriver.inf deve ser listado. Abra este arquivo.

As 2 primeiras linhas do arquivo INF são o aviso de direitos autorais para o pacote de driver.

A linha 1 contém o ano e o nome da sua empresa. Substitua os caracteres AAAA pelo ano atual e substitua os caracteres <Nome do seu fabricante> pelo nome da sua empresa.

A linha 2 descreve o conteúdo do driver INF, incluindo o nome do fabricante e as informações do modelo do dispositivo. Substitua os caracteres <Nome do seu fabricante> pelo nome da sua empresa e substitua os caracteres de >Modelo da impressora< pelo nome do modelo da impressora suportada pelo driver.

Por exemplo, se o ano for 2021 e o nome da sua empresa for Fabrikam e o modelo do dispositivo de impressão for 1234, você digitará o seguinte:

; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver

2. Verifique se a seção [Versão] está correta

Encontre a linha que contém [Versão].

  • Verifique e certifique-se de ver esta linha:

    ClassVer=4.0
    
  • Verifique e certifique-se de ver esta linha:

    Signature="$WINDOWS NT$"
    

3. Configure a seção [SourceDisksFiles]

Localize a linha que contém [SourceDisksFiles].

Abaixo disso, digite as seguintes linhas:

MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1

4. Configure a seção [DriverFiles]

Localize a linha que contém [DriverFiles].

Abaixo disso, digite as seguintes linhas:

MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll

5. Configure a seção [Standard.NT$ARCH$]

Encontre a linha que contém [Standard.NT$ARCH$].

Esta seção faz referência à seção Install do INF para cada modelo. Por exemplo, se o modelo da impressora for Fabrikam 1234, você digitará o seguinte:

"Fabrikam 1234"=DriverInstall, USBPRINT\\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\\Fabrikam1234

6. Adicione o PrinterDriverID ao arquivo INF

No Visual Studio, no Gerenciador de Soluções, expanda o nó MyV4PrintDriver.

Selecione Arquivos de driver, na janela Propriedades, observe o valor do campo Identificador exclusivo. Essa é a ID do driver (o GUID). Destaque e copie-a.

No arquivo INF, na seção [Standard.NT$ARCH$], digite a seguinte linha:

"Fabrikam 1234"=DriverInstall,

E, depois da vírgula, cole o GUID que você copiou na etapa anterior. A seção [Standard.NT$ARCH$] concluída deve ter a seguinte aparência:

"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234

7. Configure a seção [Strings]

Encontre a linha que contém [Strings].

Abaixo disso, você encontrará a definição da cadeia de caracteres ManufacturerName. Substitua os caracteres <Nome do seu fabricante> pelo nome da sua empresa para fornecer um nome do fabricante para a impressora de destino e exclua o restante da linha que contém o ; TODO:

Por exemplo, se o nome da sua empresa for Fabrikam, você digitará o seguinte:

ManufacturerName="Fabrikam"

8. Salve o arquivo INF

Quando você preencher o arquivo INF, ele deverá ficar parecido com o seguinte:

; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver

[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=MyV4PrintDriver.cat
ClassVer=4.0
DriverVer=03/17/2014,1.0.0.0
PnpLockdown=1

[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$

[Standard.NT$ARCH$]
"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234

[DriverInstall]
CopyFiles=DriverFiles

[DriverFiles]
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll

[DestinationDirs]
DefaultDestDir = 66000

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1

[Strings]
ManufacturerName="Fabrikam"
DiskName="MyV4PrintDriver Installation Disk"

Atualizar a lista de arquivos de driver

  1. No Visual Studio, no Gerenciador de Soluções, expanda o nó MyV4PrinterDriver.

  2. Selecione o arquivo MyV4PrintDriver.gpd e arraste-o para o nó Arquivos de Driver.

  3. Faça o mesmo com MyV4PrintDriver-manifest.ini.

Adicionar o arquivo de configuração de pipeline ao pacote de driver

  1. No Gerenciador de Soluções, mantenha selecionado (ou clique com o botão direito do mouse) no projeto MyV4PrintDriver, e selecione Propriedades.

  2. Na janela Páginas de Propriedades do MyV4PrintDriver, expanda Propriedades de Configuração no painel esquerdo.

  3. Expanda Instalação do driver e selecione Arquivos de pacote.

  4. No painel direito, selecione e clique na linha <Editar...> nos arquivos listados.

    Selecione a linha de edição de arquivos de pacote.

  5. Substitua o espaço reservado pelo caminho relativo do arquivo de configuração do pipeline, por exemplo, ../MyV4PrintDriver Render Filter/MyV4PrintDriverRenderFilter-PipelineConfig.xmle clique em OK.

    Substitua o espaço reservado  pelo caminho relativo.

Adicionar uma referência ao filtro de renderização ao pacote de driver

  1. No Visual Studio, no Gerenciador de Soluções, expanda o nó MyV4PrinterDriver.

  2. Selecione e segure (ou clique com o botão direito do mouse) no nó Referências -> selecione Adicionar referência.

  3. Marque a caixa de seleção Filtro de renderização MyV4PrintDriver, então selecione OK.

Configurar a solução de driver para depuração e implantação

  1. No Gerenciador de Soluções, mantenha selecionado (ou clique com o botão direito do mouse) no projeto MyV4PrintDriver, e selecione Propriedades.

  2. Na janela Páginas de Propriedades do MyV4PrintDriver, expanda Propriedades de Configuração no painel esquerdo.

  3. Expanda Instalação do driver e selecione Implantação. Faça o seguinte no painel direito:

    • Verifique se o Nome do computador de destino está configurado. Caso contrário, selecione "..." e siga os prompts no assistente Configurar dispositivos para configurar um computador de destino remoto.

    • Marque a caixa Remover versões anteriores do driver antes da implantação.

    • Selecione Instalar/Reinstalar e Verificar e, em seguida, selecione Tarefa de instalação do pacote de driver de impressora padrão na caixa suspensa.

    • Digite o nome do driver no campo Argumentos opcionais (sem aspas ao redor do nome).

    • Selecione OK.

Configurar a assinatura de driver

  1. No Gerenciador de Soluções, mantenha selecionado (ou clique com o botão direito do mouse) no projeto MyV4PrintDriver, e selecione Propriedades.

  2. Na janela Páginas de Propriedades do MyV4PrintDriver, expanda Propriedades de Configuração no painel esquerdo.

  3. Expanda Assinatura de Driver e selecione Geral.

  4. No painel direito, confirme se o Modo de Assinatura está definido como Assinatura de Teste.

  5. Selecione Certificado de Teste e, em seguida, selecione Criar Certificado de Teste... na caixa suspensa.

  6. Selecione TimeStampServer e, em seguida, selecione Verisign na caixa suspensa.

  7. Selecione OK.

Criar e implantar o driver

  1. No Gerenciador de Soluções, selecione e segure (ou clique com o botão direito do mouse) Solução MyV4PrintDriver (2 projetos) e selecione Compilar Solução.

  2. Quando o processo de compilação for concluído, o driver será instalado automaticamente. Certifique-se de que não haja erros na janela Saída.

Testar o driver

Crie uma fila de impressão usando plug-and-play ou o Assistente para Adicionar Impressora.

Para obter mais informações sobre arquivos INF para o driver de impressora v4, consulte INF do driver V4.

Além dos arquivos na tabela anterior, observe que uma pasta MyV4PrintDriver Render Filter foi criada. Esse é o modelo de projeto de filtro de renderização e fornece uma boa base para a criação de um filtro de renderização XPS e um arquivo de configuração de pipeline de filtro XPS. Para obter mais informações sobre filtros de renderização XPS, consulte Módulo de renderização XPSDrv.