Spooler de impressão

O componente principal da interface de impressão é o spooler de impressão. O spooler de impressão é um arquivo executável que gerencia o processo de impressão. O gerenciamento da impressão envolve a recuperação do local do driver de impressora correto, o carregamento desse driver, o spooling de chamadas de função de alto nível em um trabalho de impressão, o agendamento do trabalho de impressão para impressão e assim por diante. O spooler é carregado na inicialização do sistema e continua a ser executado até que o sistema operacional seja desligado.

Aplicativos que imprimem criam um DC (contexto de dispositivo de impressora). Quando um aplicativo cria um DC de impressora, o spooler executa tarefas necessárias, como determinar o local do driver de impressora necessário e carregar esse driver. O spooler de impressão também determina o tipo de dados usado para registrar o trabalho de impressão.

O spooler de impressão dá suporte aos seguintes tipos de dados:

  • Meta-arquivo avançado (EMF).
  • Texto ASCII.
  • Dados brutos, que incluem tipos de dados de impressora, como PostScript, PCL e tipos de dados personalizados.

Tipos de dados personalizados podem ser adicionados ao spooler instalando drivers de impressora adicionais e processadores de impressão. Um trabalho de impressão é um documento armazenado internamente e codificado usando um dos tipos de dados com suporte, e um trabalho de impressão pode conter uma ou mais páginas de saída. O trabalho de impressão pode consistir em várias formas; por exemplo, um trabalho pode consistir em um envelope e três páginas de papel A4. Um trabalho de impressão é definido (ou entre colchetes) pelas funções StartDoc e EndDoc .

O tipo de dados padrão para um trabalho de impressão é o metarquivo aprimorado. Um registro EMF é uma estrutura compacta usada para armazenar comandos de saída de texto, comandos gráficos raster e assim por diante. Quando um aplicativo chama StartDoc, o spooler cria um arquivo de spool e um arquivo de dados e começa a armazenar registros EMF no arquivo spool. Sempre que o aplicativo chama uma das funções de desenho GDI, um ou mais novos registros EMF são criados e armazenados no arquivo spool. Os arquivos de spool e de dados são criados em um diretório do sistema operacional. O spooler usa o arquivo spool para armazenar registros EMF e usa o arquivo de dados para registrar o tipo de formulário, o tipo de dados para o trabalho de impressão, a impressora de destino e assim por diante. O spooler exclui esses arquivos quando o trabalho é impresso com êxito.

Metafiles de formato aprimorado