# Resumo do &kdeprint;

O novo sistema &kdeprint; inclui muitas funcionalidades. Embora não tenha 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-o a adicionar e configurar uma nova impressora. Claro que o poderá fazer à mesma manualmente.

O &kdeprint; ajuda-o 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ém: 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á também ver as informações sobre o número de páginas (partindo do princípio que o &CUPS; as calcula; veja 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 olhar para a mesma informação (e ter o mesmo controlo é através do &kcontrolcenter;, indo a Sistema Gestor de Impressão. Se não vir a Informação da Impressora, carregue com o botão direito no fundo da janela e seleccione Ver as Informações da Impressora. Em seguida vá à página Tarefas para ver 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 virtuais, e alguns pré-filtros.

Antevisão da Impressão

- A partir da Janela de Impressão, o utilizador poderá 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-lhe uma plataforma onde poderá definir e configurar os seus próprios pré-filtros. Estes pré-filtros podem fazer efeito antes de passarem pelo seu sub-sistema de impressão para um posteriormente processamento, mas depois dos ficheiros de impressão (&PostScript;, texto ou outros) terem sido gerados pela sua 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.

  O utilizador poderá criar os seus 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 se assuste, não terá 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 ao utilizador 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 ao utilizador 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 sua 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, verifique se tem seleccionada a opção de 'duplex' que dá a volta ao resultado pelo lado menor do papel. Se dobrar o resultado ao meio, tornará o seu documento num panfleto razoável.

  Se estiver restringido ao uso de um dispositivo não-duplex, poderá fazer o mesmo, utilizando dois filtros diferentes e alguns passos adicionais.

  Dependendo do seu modelo, utilize primeiro o filtro para imprimir as páginas ímpares e depois introduza as folhas pela ordem correcta de volta na bandeja de impressão para imprimir as páginas pares no lado inverso. Termine 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` poderá agora usar o comando `kprinter`, e em vez do `kups` irá usar provavelmente o `kcmshell printmgr`.

O módulo do &kdeprint; para o &CUPS; também permite ao utilizador administrar por completo o sub-sistema de impressão, tal como o kups fazia. Pode iniciar, interromper e configurar o seu 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.

Utilize o &kprinter; em qualquer aplicação, mesmo nas aplicações não-&kde; que lhe permitem configurar o seu 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 deverá ter o `kprinter` na sua $`PATH` para esta pequena versão; caso contrário deverá 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í o utilizador obterá a janela do `kprinter` para configurar as suas 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;.

Poderá 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.

Certifique-se que dá pelo menos o ficheiro a ser impresso 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, indique da seguinte maneira: ``kprinter` `-d DANKAcolorC2000` `/home/kurt/linuxtag2001-paper.ps``. Poderá ainda deseleccionar a impressora `DANKAcolorC2000` e escolher uma diferente.

O utilizador não poderá, 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`, o utilizador tem a possibilidade de fazer tudo e mais alguma coisa com a sua impressora. Irá precisar de um ficheiro específico da impressora chamado &PPD; (&PostScript; Printer Description) para permitir ao CUPS activar esta equipa conjunta para fazer tudo por si. Leia mais em ppd-files.

## Planos para Desenvolvimento Futuro

O que teve até agora, foi a primeira versão, rica em funcionalidades, do &kdeprint;. Esta versão é, obviamente, completamente utilizável para imprimir. O utilizador poderá ainda pensar que nunca foi tão fácil (nem mesmo nos dias negros em que tinha 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 lhe dará acesso ao seu sub-sistema de impressão através do &konqueror;, por exemplo. Com isto, o utilizador será capaz de navegar pelo seu 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 seu 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.