Partilhar via


Crie um driver de impressora v4 básico

Importante

A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), 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 Guia de design do aplicativo de suporte de impressão v1 e v2.

Importante

A Microsoft anunciou o fim da vida útil dos drivers de impressora v3 e v4 herdados.

Para obter mais informações, consulte Fim do plano de manutenção para drivers de impressora de terceiros no Windows.

Advertência

Este tutorial do driver de impressora contém vários erros e não é utilizável 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 criar 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 ao desenvolver um driver de impressora no Visual Studio 2019.

Uma análise mais detalhada das opções do driver da impressora é fornecida em Explorando as opções do driver no assistente.

Pré-requisitos

Siga as orientações em Baixar o Kit de Driver do Windows (WDK) e verifique se você concluiu os seguintes itens:

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

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

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

Selecione recursos para o driver básico

  1. No Visual Studio, no menu principal, selecione Ficheiro>Novo>Projecto.

  2. Na janela Novo projeto , na caixa de pesquisa no canto superior direito, 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 central, selecione Driver de impressora V4.

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

  5. No Assistente para Criar um Driver de Impressão v4, em Escolha 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 em 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 em suas configurações padrão e selecione Avançar.

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

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, então, por padrão, os arquivos seriam salvos no seguinte local: Meus documentos > Projetos do Visual Studio 2019 > MyV4PrintDriver >> MyV4PrintDriver.

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

    Nome do ficheiro Tipo de ficheiro
    MyV4PrintDriver.gpd Arquivo de descrição da impressora
    MyV4PrintDriver.inf Arquivo de informações de instalação
    MyV4PrintDriver.vcxproj Arquivo de projeto C++
    MyV4PrintDriver.vcxproj.filters Arquivo de filtros do 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 deve ser concluído para que ele possa ser usado para instalar o driver.

Criar um ID de Driver de Impressora exclusivo para o driver da impressora

  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 Explorador de Soluções, expanda o nó MyV4PrintDriver.

  4. Selecione Arquivos de driver e, em seguida, na janela Propriedades , examine 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 ficheiro.

As primeiras 2 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 <O nome> do 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 <O nome> do fabricante pelo nome da sua empresa e substitua os caracteres do < da > impressora pelo nome do modelo da impressora suportado 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, digite 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 que vê esta linha:

    ClassVer=4.0
    
  • Verifique e certifique-se de que vê esta linha:

    Signature="$WINDOWS NT$"
    

3. Configure a seção [SourceDisksFiles]

Encontre a linha que contém [SourceDisksFiles].

Abaixo deste título, escreva as seguintes linhas:

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

4. Configure a seção [DriverFiles]

Encontre a linha que contém [DriverFiles].

Escreva as linhas seguintes abaixo deste tipo:

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 secção faz referência à Install secção do INF para cada modelo. Por exemplo, se o modelo da impressora for Fabrikam 1234, digite o seguinte:

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

6. Adicione o PrinterDriverID ao arquivo INF

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

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

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

"Fabrikam 1234"=DriverInstall,

E, após a 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 <O nome> do 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, digite o seguinte:

ManufacturerName="Fabrikam"

8. Salve o arquivo INF

Quando você concluir o arquivo INF, ele deve ter a seguinte aparência:

; 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 Arquivos de Driver

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

  2. Selecione o ficheiro MyV4PrintDriver.gpd e arraste o para o nó Driver Files.

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

Adicionar o arquivo Pipeline Config ao pacote de driver

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

  2. Na janela MyV4PrintDriver Property Pages , expanda Configuration Properties no painel esquerdo.

  3. Expanda Instalação do driver e, em seguida, 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 de pipeline, por exemplo, ../MyV4PrintDriver Render Filter/MyV4PrintDriverRenderFilter-PipelineConfig.xml, e clique em OK.

    Substitua o marcador pelo caminho relativo.

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

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

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

  3. Marque a caixa de seleção MyV4PrintDriver Render Filter e selecione OK.

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

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

  2. Na janela MyV4PrintDriver Property Pages , expanda Configuration Properties no painel esquerdo.

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

    • Verifique se o Nome do Computador de Destino está configurado. Caso contrário, selecione "..." e siga as instruções no assistente Configurar dispositivos para configurar um computador de destino remoto.

    • Verifique 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 do driver

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

  2. Na janela MyV4PrintDriver Property Pages , expanda Configuration Properties no painel esquerdo.

  3. Expanda Assinatura de controladores e selecione Geral.

  4. No painel direito, confirme se o Modo de Sinal está definido como Sinal 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) Solution MyV4PrintDriver (2 projetos) e selecione Build Solution.

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

Testar o condutor

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 V4 Driver INF.

Além dos arquivos na tabela anterior, observe que uma pasta MyV4PrintDriver Render Filter foi criada. Este é o modelo de projeto de filtro de renderização e fornece uma boa base para criar 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.