Visão Técnica Este capítulo tem o objetivo de fornecer uma visão técnica do &kdeprint; que não-programadores possam compreender. O &kdeprint; é uma nova e revolucionária ferramenta para fornecer um rápido acesso aos serviços de impressão tanto para usuários do &kde; como para desenvolvedores do &kde;. Uma Rápida Descrição do &kdeprint; Você pode acessar as funções do &kdeprint; de diferentes maneiras: através do Gerenciador de Impressão no &kcontrol;, através do comando kprinter ou através do diálogo que aparece quando você deseja imprimir. O que ele <emphasis >não</emphasis > é O &kdeprint; não é um substituto para o sub-sistema de impressão propriamente dito. O &kdeprint; conseqüentemente não fornece um serviço de fila de impressão, e ele não faz o processamento básico de &PostScript; e outros dados de impressão. O que ele <emphasis >é</emphasis > O &kdeprint; é uma camada intermediária entre a fila de impressão e o processamento de dados do sub-sistema de impressão (como instalado), e o aplicativo que busca imprimir um documento. O &kdeprint; fornece uma interface comum para desenvolvedores do &kde; e usuários do &kde;, aos vários sub-sistemas de impressão suportados. Ao mesmo tempo, ele é personalizável, e altamente configurável. O &kdeprint; é fácil de usar tanto por desenvolvedores do &kde; como usuários finais. Desenvolvedores podem portar seus aplicativos, com mudanças mínimas, para usar o &kdeprint; ao invés do antigo sistema de impressão do &Qt;. Usuários podem facilmente escolher e configurar seu sub-sistema de impressão. Como referência para usuários novos do &kde;: o &Qt; é a biblioteca básica e kit de ferramentas gráficas, que é usado por todos aplicativos do &kde;; o &Qt; é desenvolvido pela TrollTech, uma companhia de software Norueguesa. &kdeprint; -- Diferentes Usos para Diferentes Pessoas O &kdeprint; possui facetas diferentes para diferentes pessoas. O que usuários e administradores podem fazer com o &kdeprint; O &kdeprint; permite aos usuários e/ou administradores, dependendo de suas permissões, acessar os sub-sistemas de impressão(&CUPS;, LPD, RLPR, LPRng, PDQ &etc;) através de uma interface gráfica com o usuário do &kde; (&GUI;). Usando o &kdeprint;, eles podem imprimir, administrar trabalhos, impressoras e o serviço de impressão, tudo de uma maneira confortável. Usuários experientes gostarão da capacidade de adicionar qualquer filtro de trabalho para dados a serem impressos entre a saída de seus aplicativos e a entrada no sub-sistema de impressão escolhido. Alguns exemplos para isto vieram com o plain vanilla do &kdeprint;. Leia-o. O que desenvolvedores do &kde; podem fazer com ele... Se um desenvolvedor do &kde; precisa de acesso à impressão para seu aplicativos, ele não precisa codificar as funções de impressão a partir do zero. Antes do &kde; 2.2, este serviço era fornecido pela classe QPrinter, uma biblioteca de funções do Kit de Ferramentas &Qt;. A classe QPrinter funcionava sob o antigo Line Printer Daemon (LPD). A biblioteca do &kdeprint; se baseia firmemente no mais moderno Sistema de Impressão Comum para &UNIX; (&CUPS;), enquanto ao mesmo tempo mantém compatibilidade regressa com o LPD e outros sistemas de impressão legados ou menos elaborados. Ele também deixa a porta aberta para qualquer novo desenvolvimento que venha ocorrer. Para desenvolvedores do &kde; usarem a nova classe &kdeprint; em seus aplicativos, eles precisam apenas de mudanças mínimas no seu código: para cada chamada do QPrinter, eles apenas precisam mudá-la para KPrinter. Substituir uma (!) letra em poucos pontos, e automaticamente eles permitiram aos seus aplicativos usarem todos os recursos da nova biblioteca &kdeprint;. Desenvolvedores mais ambiciosos, ou com necessidades especiais, podem fazer mais: a despeito do ambiente de trabalho rico de recursos do &kdeprint;, eles ainda são capazes de personalizar o diálogo de impressão do seu aplicativo criando Abas adicionais, onde suas extensões ao padrão do &kdeprint; ficarão acessíveis. Este recurso mencionado por último não vem sendo usado largamente no &kde;, uma vez que os desenvolvedores ainda não estão totalmente cientes do poder do &kdeprint;. Espera-se um maior uso disto num futuro próximo. Um exemplo que eu descobri é o aplicativo &kcron;. Ele permite-lhe editar o crontab através de uma &GUI;. Os desenvolvedores implementaram um recurso de impressão que permite-lhe (ou o root) escolher se deseja imprimir todo o crontab (para todos os usuários) ou apenas a parte que estiver marcada. Você pode ver os efeitos no &kdeprint; nas seguintes capturas de tela. Esta imagem mostra um exemplo do utilitário &kcron;. O utilitário &kcron; é um pequeno exemplo de um trabalho de cron do sistema como mostrado através do &kde; GUI&GUI;. Os desenvolvedores do &kcron; permitiram-lhe escolher entre imprimir toda a tabela do cron ou apenas as partes marcadas dela. O diálogo para configurar as opções de impressão do &kcron;: a aba adicional intitulada Opções do Cron é do próprio &kcron;, e não do &kdeprint;; ela é uma extensão especial adicionada pelos desenvolvedores do &kcron; para fins de impressão, não originada de, mas executada pelo &kdeprint;. Desenvolvedores de outros aplicativos estão livres para implementar suas próprias melhorias, se eles sentirem necessidades delas. Adição do &kcron; ao diálogo do &kdeprint;. Adição do &kcron; ao diálogo do &kdeprint;. Adição do &kcron; ao diálogo do &kdeprint;. O que o &kdeprint; oferece à todos... A interface fácil de usar do &kdeprint; para todos os sub-sistemas de impressão suportados é claro que não elimina as fraquezas tradicionais básicas de alguns destes sistemas. Mas ele repara algumas arestas. Usuários diferentes podem usar sistemas de impressão diferentes num mesmo computador. Um usuário é livre para mudar em tempo real, a partir do diálogo de impressão, o sub-sistema de impressão a ser usado no próximo trabalho. (Isto é possível se diferentes sistemas estão instalados de modo que eles não sejam acessados de outras maneiras.) A maioria dos usuários &UNIX; estão usando o LPD para impressão. O LPD fornece somente funções básicas de impressão, é muito inflexível e não utiliza muitas das opções da maioria dos sistemas modernos de impressão como o &CUPS;. Apesar de também trabalhar remotamente em qualquer distância (como qualquer protocolo baseado no TCP/IP), ao LPD falta comunicação bi-direcional, autenticação, controle de acesso e suporte à criptografia. O &kdeprint; pode usar o &CUPS; para suportar: Consulta à LAN por impressoras disponíveis, Autenticação Básica, Sumária e Certificada, Controle de acesso baseado em endereços IP, endereços de rede, máscaras de rede, nomes de máquina e domínio, e criptografia de dados de 128-Bits TLS ou SSL3, para evitar interceptação, ou pelo menos torná-la muito mais difícil. Isto torna o &kdeprint; uma solução muito mais robusta e confiável do que usando o venerável LPD. Como acessar o &kdeprint; Você obtém acesso ao &kdeprint;, ou partes dele, de quatro diferentes modos: através de seus aplicativos: se você chamar o diálogo de impressão (tanto com Arquivo Imprimir... como com o botão com um pequeno ícone de impressora sobre ele); isto abre o diálogo de impressão. através da digitação do comando kprinter num terminal ou numa janela do &konsole; ou a partir da janela mini-CLI Executar Comando...: isto também abrirá o diálogo de impressão. a partir do botão , iniciando o &kcontrol;, e então indo para SistemaGerenciador de Impressão. Isto abre o administrador do &kdeprint; que é parte do &kcontrolcenter; e também permite-lhe alternar para outras partes do &kcontrol; a partir da linha de comando (&konsole; ou mini-CLI), digite kcmshell . Isto abre apenas a componente &kdeprint; do &kcontrol;, de modo que o usuário efetue a sua configuração. O diálogo do &kprinter; iniciado a partir da janela do Executar Comando... Iniciando o diálogo do &kprinter; iniciado a partir da janela do Executar Comando.... Iniciando o diálogo do &kprinter; iniciado a partir da janela do Executar Comando.... Aqui está um desenho do &kivio; do diálogo do &kprinter; como ele aparece após ser iniciado... Você sempre pode adicionar uma nova impressora clicando no pequeno botão Assistente (marcada em vermelho/amarelo neste desenho). O diálogo &kprinter; iniciado (desenho do &kivio;) O diálogo &kprinter; iniciado (desenho do &kivio;) O diálogo &kprinter; iniciado (desenho do &kivio;)