# Resumo do &kdeprint;

O novo sistema &kdeprint; inclui muitas funcionalidades. Embora não tenhas trabalhado num ambiente tão sofisticado como seria suposto em relação a impressões nos anos anteriores, dá uma vista de olhos em algumas das funcionalidades que vêm com o &kdeprint;.

## O Assistente de Adicionar Impressora

O &kdeprint; tem um Assistente de Adição de Impressoras. Este assistente ajuda-te a adicionares e configurares uma nova impressora. Claro que o podes fazer à mesma manualmente.

O &kdeprint; ajuda-te a descobrir impressoras. Tem a capacidade de inspeccionar à sua volta os dispositivos e filas disponíveis. Isto funciona para as ligações de rede com impressoras por TCP (AppSocket, aka &HP; JetDirect, ou IPP) ou SMB/Samba (partilhadas pelo &Windows;) e para as impressoras ligadas directamente por portas paralelas, série e USB.

Uma imagem do novo Assistente de Adição de Impressoras
Aqui está uma imagem do Assistente de Adição de Impressoras (esta ainda não é muito empolgante, mas...)

O assistente faz a instalação e a gestão dos dispositivos nas calmas. A selecção, configuração e teste devem ser do mais fácil que algum sistema &Linux; viu alguma vez.

## Controlo Completo das Tarefas de Impressão

O Visualizador de Tarefas de Impressão é iniciado automaticamente pelo &kprinter;. Pode estar acoplado no painel do &kde; (na bandeja do sistema). O Visualizador de Tarefas de Impressão permite a gestão completa das tarefas, se tal for suportado pelo sub-sistema de impressão.

Podes:

- Manter e libertar tarefas,

- Mover as tarefas pendentes para outra impressora,

- Cancelar as tarefas pendentes ou em processamento.

Uma imagem do Visualizador de Tarefas do &kdeprint; mostra a informação que obténs: o ID da tarefa, a impressora de destino, o nome da tarefa, o dono, o estado e o tamanho. Na próxima versão do &kdeprint; irás também ver informações sobre o número de páginas (partindo do princípio que o &CUPS; as calcula; vê o capítulo sobre a contabilidade de páginas para mais informações sobre os seus méritos e limitações).

Uma imagem do novo Visualizador de Tarefas do &kdeprint;
Aqui está uma imagem do Visualizador de Tarefas do &kdeprint;.

Uma imagem do Visualizador de Tarefas do &kdeprint;.

Uma maneira alternativa de olhares para a mesma informação (e teres o mesmo controlo é através do &kcontrolcenter;, indo a SistemaGestor de Impressão. Se não vires a Informação da Impressora, carrega com o botão direito no fundo da janela e selecciona Ver Informações da Impressora. Em seguida vai à página Tarefas para veres isto:

Aqui está uma imagem do Visualizador de Tarefas do &kdeprint;.

## Módulos para os diferentes sub-sistemas de impressão

O &kdeprint; utiliza módulos diferentes para implementar a interface com os possíveis sub-sistemas de impressão. Nem todos os módulos estão desenvolvidos por completo, mas terás as funcionalidades básicas de impressão com:

- o LPD (estilo BSD)

- o LPRng (da &RedHat;, se apenas utilizares o seu sub-conjunto semelhante ao do BSD),

- o RLPR (um utilitário LPR da linha de comandos, que não precisa de um ficheiro `printcap`.

- comandos externos de impressão (como no &Netscape;).

Mais importante, o suporte completo para o &CUPS; já lá está. Os módulos para os outros sub-sistemas de impressão como o PLP, o PPR e o PDQ poderão estar disponíveis posteriormente.

O &kdeprint; torna o &kde; muito mais flexível. Dá a liberdade de escolha aos utilizadores do &kde; 2.2. Para usar os diferentes sub-sistemas de impressão disponíveis, estes precisam de estar instalados independentemente do &kde; como é óbvio. Nas versões anteriores, os utilizadores estavam presos aos sub-sistemas de impressão do estilo do LPD. Agora até podem usar o &CUPS;. No futuro, existirá a integração simples de novos sub-sistemas, assim que forem aparecendo.

## Mais Brindes do &kdeprint;

Tirar partido de Todos os Sub-Sistemas de Impressão.

Algumas funcionalidades específicas do &kdeprint; dependem do sub-sistema de impressão escolhido. Esta dependência poderá existir por elas só estarem implementadas nele; lembra-te, o &kdeprint; é uma camada intermédia entre as aplicações do &kde; e o sub-sistema de impressão, mas não é um substituto deste. Também poderá existir uma dependência por outra razão: o &kdeprint; pode ainda não ter implementado uma interface para todas as funcionalidades de todos os sub-sistemas.

Outras funcionalidades são extras do &kdeprint; que são independentes do sub-sistema de impressão escolhido, e que estão disponíveis para todos. No momento existem impressoras especiais ou cirtuais, e alguns pré-filtros.

Antevisão da Impressão

  A partir da janela de impressão, podes optar por ter uma antevisão da impressão. Para tal, o ficheiro é enviado através de filtros que o tornam adequado para mostrar no ecrã com o &kghostview;.

Impressoras Especiais

  Entre as funcionalidades adicionais do &kdeprint; existem algumas impressoras especiais ou virtuais:

  Estas impressoras especiais podem:

  Imprimir num PDF

    Converter o documento num PDF com a ajuda de um programa externo.

  Imprimir num email

    Envia o teu documento como um ficheiro PDF em anexo num email.

  Imprimir para um ficheiros PS

    Grava o teu documento como um ficheiro &PostScript;.

  Imprimir para Fax

    Enviá-lo através de uma interface de fax disponível, como o Hylafax.

  Estas impressoras especiais aparecem na janela de impressão do utilizador tal e qual como se fossem impressoras normais. São completamente configuráveis por cada utilizador.

Pré-Filtragem Genérica

  O &kdeprint; oferece-te uma plataforma onde podes definir e configurar os teus próprios pré-filtros. Estes pré-filtros podem fazer efeito antes de passarem pelo teu sub-sistema de impressão para um posteriormente processamento, mas depois dos ficheiros de impressão (&PostScript;, texto ou outros) terem sido gerados pela tua aplicação.

  Existem já pré-definidos alguns filtros úteis. Estes são:

  - O filtro de várias páginas por folha,

  - o filtro de texto enscript,

  - e três filtros para ajudar a imprimir panfletos.

  Podes criar os teus próprios filtros baseados em qualquer programa legado que seja capaz de processar ficheiros &PostScript;, de texto ou de imagens, e devolver qualquer um destes formatos.

  Estes filtros são configurados através de ficheiros XML. Isto facilita a extensão do conceito para os utilizadores mais experientes, mas também é possível efectuar a configuração através de uma interface gráfica intuitiva. Por isso não te assustes, não tens de aprender XML por causa do &kdeprint;!.

  Filtro de Várias Páginas por Folha

    Este é um filtro pré-definido instalado com o &kdeprint;. Permite-te criar um resultado em &PostScript; que imprime 1, 2 ou 4 páginas lógicas numa única página de papel físico.

  Filtro de Texto Enscript

    Este é um filtro pré-definido do &kdeprint;. Permite-te gerar &PostScript; a partir de qualquer ficheiro de texto, incluindo o realce de sintaxe para as listagens de programas, o embelezamento da impressão e alguns contornos e cabeçalhos de páginas bonitos.

  Filtros de Impressão de Panfletos

    Se a tua impressora for capaz de imprimir em duplex, quer através da tecnologia em um passo ou em dois passos, poderás usar um filtro de panfletos ou uma combinação deles.

    Para as impressoras duplex, verifica se tens seleccionada a opção de 'duplex' que dá a volta ao resultado pelo lado menor do papel. Se dobrares o resultado ao meio tornas o teu documento num panfleto razoável.

    Se estiveres restrito ao usado de um dispositivo não-duplex, podes fazer o mesmo, utilizando dois filtros diferentes e alguns passos adicionais.

    Dependendo do teu modelo, utiliza primeiro o filtro para imprimir as páginas ímpares e depois insere as folhas pela ordem de correcta de volta na bandeja de impressão para imprimires as páginas pares no lado inverso. Termina dobrando as folhas.

## Suporte de &CUPS;: o Módulo Mais Importante do &kdeprint;

O &kdeprint; contém um módulo para o &CUPS;. O &CUPS;, ou seja, o Common UNIX Printing System (http://www.cups.org/), é o sub-sistema mais avançado, poderoso e flexível no &Linux; e nos outros sistemas semelhantes ao &UNIX;. Ainda é bastante recente, mas é baseado no protocolo IPP, ou Internet Printing Protocol, a norma emergente para o futuro da impressão na rede. O &CUPS; é claramente o sistema de impressão de eleição do Michael Goffioul, o principal programador do &kdeprint;.

Os utilizadores do &kde; mais experientes podem já estar familiarizados com os utilitários do Michael, o qtcups e o kups (co-produzido pelo Jean-Eirc Cuendet). Estes eram até a agora as interfaces gráficas para o &CUPS; com uma relação forte com o &kde;.

### qtcups and kups — Os Predecessores

Ambos os utilitários têm um uso vasto. Para os que não estão familiarizados com eles, aqui estão algumas breves explicações.

O qtcups era uma interface gráfica para os comandos de impressão `lp` e `lpr` instalados pelo &CUPS;. O qtcups chamava uma janela, na qual podias seleccionar confortavelmente a tua impressora e as opções das tarefas de impressão. O qtcups funcionava a partir da linha de comandos, ou dentro das aplicações, quando as aplicações em questão tinham um comando de impressão configurável.

O kups era uma interface gráfica para as tarefas de administração do servidor do &CUPS;. Podias adicionar, remover, modificar, configurar, iniciar e interromper impressoras. Podias cancelar, apagar, mover, parar e reiniciar tarefas de impressão e podias modificar as opções do servidor, iniciá-lo, interrompê-lo e reiniciá-lo.

### &kdeprint; — O Herdeiro

O módulo do &CUPS; no &kdeprint; contém actualmente todas (e mais algumas) as funções que eram fornecidas pelo qtcups e pelo kups nas versões anteriores do &kde;.

Em vez do `qtcups` podes agora usar o comando `kprinter`. E em vez do `kups` irás usar provavelmente o `kcmshell printmgr`.

O módulo do &kdeprint; para o &CUPS; também te permite administrar por completo o sub-sistema de impressão, tal como o kups fazia. Pode iniciar, interromper e configurar o teu servidor do &CUPS;, bem como iniciar, interromper, adicionar e remover impressoras (isto é, filas de impressão) e instâncias de impressoras. As instâncias de impressoras são filas de impressão que apontam para o mesmo dispositivo de saída mas com um conjunto de opções de impressão diferente.

### &kprinter; — Comando Gráfico de Impressão

O módulo de &CUPS; do &kdeprint; dá-te acesso a um comando de impressão gráfico, como o qtcups fazia.

Utiliza o &kprinter; em qualquer aplicação, mesmo nas aplicações não-&kde; que te permitem configurar o teu comando de impressão. Alguns exemplos destas aplicações são o &Netscape; e o StarOffice, mas não a maioria dos programas antes do &kde; 2.2.

Uma imagem de como usar o novo comando de impressão `kprinter` em vez do antiquado `lpr`... (Claro que deves ter o `kprinter` na tua $`PATH` para esta pequena versão; caso contrário deves indicar a localização exacta na janela uma vez, como por exemplo ``/opt/kde/bin/kprinter``. O &Netscape; irá recordar isto e a partir daí obténs a janela do `kprinter` para configurar as tuas impressões.

Uma imagem do comando de impressão `kprinter` em acção.
Aqui está uma imagem de como usar o novo comando de impressão `kprinter` em vez do antigo `lp` ou `lpr` no &Netscape;.

Podes também usar o `&kprinter;` a partir da linha de comandos e ver a janela resultante a aparecer:

Imagem do comando `kprinter`
Imagem da utilização do `kprinter` a partir da linha de comandos.

Certifica-te que dás pelo menos o ficheiro a ser imprimido na linha de comandos: ``kprinter` `/usr/share/doc/packages/cups/sam.pdf``. Isto irá conduzir À janela do `kprinter`, a qual se irá abrir com a impressora por omissão seleccionada.

Para preseleccionar uma impressora específica a partir da linha de comandos, indica da seguinte maneira: ``kprinter` `-d DANKAcolorC2000` `/home/kurt/linuxtag2001-paper.ps``. Podes ainda deseleccionar a impressora `DANKAcolorC2000` e escolher uma diferente.

Tu não podes todavia chamar o ``kprinter`` sem um ficheiro de impressão e esperar que se abra uma janela de selecção de ficheiros na janela do kprinter. Esta é uma funcionalidade que só será implementada na próxima versão.

Através do `kprinter` tens a possibilidade de fazer tudo e mais alguma coisa com a tua impressora. Irás precisar de um ficheiro específico da impressora chamado &PPD; (&PostScript; Printer Description) para permitires ao CUPS activar esta equipa conjunta para fazer tudo por ti. Lê mais em .

## Planos para Desenvolvimento Futuro

O que tiveste até agora, foi a primeira versão, rica em funcionalidades, do &kdeprint;. Esta versão é, obviamente, completamente utilizável para imprimir. Podes ainda pensar que nunca foi tão fácil (nem mesmo nos dias negros em que tinhas de utilizar o &Microsoft; &Windows;).

No futuro, o &kdeprint; irá realizar ainda um melhor trabalho na detecção do próprio sub-sistema de impressão instalado. O &kdeprint; já se porta bastante bem a detectar automaticamente se tens o &CUPS; no teu sistema, mas na maior parte dos casos poderás ter de indicar ao &kdeprint; o que é que estás a usar, se quiseres gerir um sistema de impressão legado.

Um melhoramento importante num futuro próximo será a finalização do 'plugin' do LPRng. O actual é ainda muito básico. Está restringido à componente clássica de LPD do LPRng.

Também tens a possibilidade de adicionar impressoras directamente ao teu sistema na janela de impressora na hora, sem teres de ir ao &kcontrol; primeiro.

Alguns melhoramentos menores já planeados são:

- adicionar uma janela de selecção de ficheiros para a janela do kprinter para permitir combinar ficheiros adicionais à tarefa de impressão actual.

- adicionar um botão de histórico na janela do KJobViewer, bem como uma coluna para mostrar o número de páginas que o &CUPS; calcula para a tarefa.

Finalmente, existirá um IO slave que te dará acesso ao teu sub-sistema de impressão através do &konqueror;, por exemplo. Com isto serás capaz de navegar pelo teu sub-sistema de impressão no &konqueror; através de um URL do estilo `print://printers/nomeimpressora`. Um KPart irá adicionar uma pasta virtual para a secção dos serviços da barra lateral do &konqueror;, o que resulta numa forma integrada de navegar e gerir o teu sistema de impressão através do URL `print:/manager`.

Contacta o Michael Goffioul em goffioul@imec.be para algumas sugestões de utilizador ou de programador.