Introdução Técnica Este capítulo pretende dar uma vista geral técnica sobre o &tdeprint; que seja compreensível para os não-programadores. O &tdeprint; é uma ferramenta nova e revolucionária para permitir um fácil acesso aos serviços de impressão, quer para os utilizadores, quer para os programadores do &kde;. Uma Breve Descrição do &tdeprint; O utilizador poderá aceder às funções do &tdeprint; de diferentes formas: através do Gestor de Impressão no &kcontrol;, através do comando kprinter ou através da janela que aparece quando deseja imprimir. O que <emphasis>não</emphasis> é O &tdeprint; não é um substituto do sistema de impressão em si. Como tal, o &tdeprint; não define o escalonamento e não realiza o processamento básico de &PostScript; ou de outros dados de impressão. O que <emphasis>é</emphasis> O &tdeprint; é uma camada intermédia entre o escalonamento e o sub-sistema de processamento dos dados de impressão instalado, e a aplicação que pretende imprimir. O &tdeprint; oferece uma interface comum para os programadores e utilizadores do &kde; entre os vários sub-sistemas de impressão suportados. Ao mesmo tempo, é altamente personalizado. O &tdeprint; é fácil de usar pelos programadores e utilizadores do &kde;. Os programadores podem alterar as suas aplicações, com o mínimo de alterações, de modo a passarem a usar o &tdeprint; em vez do sistema de impressão antigo do &Qt;. Os utilizadores podem escolher e configurar facilmente o sub-sistema de impressão deles. Como referência para os novos utilizadores do &kde;: o &Qt; é a biblioteca básica gráfica que é usada por todas as aplicações do &kde;; o &Qt; é desenvolvido pela TrollTech, uma companhia de 'software' norueguesa. &tdeprint; -- Utilização Diferente do &tdeprint; para Diferentes Pessoas O &tdeprint; tem diferentes vistas para diferentes pessoas. O que os utilizadores e os administradores podem fazer com o &tdeprint; O &tdeprint; permite aos utilizadores e/ou administradores, dependendo dos seus direitos, acederem aos sub-sistemas de impressão (o &CUPS;, o LPD, o RLPR, o LPRng, o PDQ &etc;), através de uma interface de utilizador gráfica do &kde; (&GUI;). Através do &tdeprint;, poderão imprimir, administrar as tarefas, impressoras e o servidor de impressão, de uma forma confortável. Os utilizadores experientes gostarão da possibilidade de adicionar qualquer filtro funcional dos dados de impressão entre a aplicação e o servidor de impressão. Alguns desses exemplos vêm já com o &tdeprint; básico. O utilizador podê-lo-á confirmar. O que os programadores do &kde; podem fazer com ele... Se um programador do &kde; necessitar de acesso às impressoras para a sua aplicação, não irá codificar as funções de impressão do zero. Antes do &kde; 2.2, este serviço era disponibilizado pela classe QPrinter, uma função da biblioteca &Qt;. A classe QPrinter baseava-se no desactualizado Line Printer Daemon(LPD). A biblioteca do &tdeprint; baseia-se firmemente no sistema mais moderno que é o Common &UNIX; Printing System (&CUPS;), mantendo à mesma a compatibilidade com o LPD e com os outros sistemas legados ou menos elaborados, assim como também deixam a porta aberta para qualquer novo desenvolvimento que possa ocorrer. Para os programadores do &kde; usarem a nova classe do &tdeprint; nas suas aplicações, é necessário efectuar alterações mínimas do código: para cada chamada à classe QPrinter, só precisam de a alterar para KPrinter. Basta mudar uma (!) letra em alguns sítios, e é tudo; as suas aplicações passam a tirar partido de todas as funcionalidades da biblioteca &tdeprint;. Os programadores mais ambiciosos, ou aqueles com necessidades especiais, poderão fazer mais: é-lhes possível personalizar à mesma a janela de impressão da sua aplicação, permitindo a adição de uma nova página, onde poderão ser colocadas as suas extensões ao &tdeprint; normal. Esta última funcionalidade não está a ser largamente usada no &kde; até agora, dado que os programadores ainda não têm o conhecimento completo das potencialidades do &tdeprint;. Espere mais algumas destas coisas num futuro próximo. Um exemplo que foi descoberto é a aplicação &kcron;. Esta permite ao utilizador editar o 'crontab' através de uma interface gráfica. Os programadores implementaram uma funcionalidade de impressão e que, neste caso, lhe permite (ou ao root) escolher se deseja imprimir o 'crontab' completo (para todos os utilizadores) ou apenas a parte seleccionada. Poderá ver os efeitos no &tdeprint; nas imagens seguintes. Esta imagem apresenta uma amostra do utilitário &kcron;. O utilitário &kcron;: uma pequena amostra das tarefas do 'cron' de um sistema mostradas na interface do &kde;. Os programadores do &kcron; permitem-lhe optar por imprimir toda a tabela do cron ou apenas a parte seleccionada. A janela para configurar as opções de impressão do &kcron;: a secção adicional Opções do Cron provém do &kcron;, não do &tdeprint;; é uma extensão especial adicionada pelos programadores do &kcron; para fins de impressão que, não sendo originárias do &tdeprint;, são executadas por este. Os programadores das outras aplicações terão a liberdade para adicionar as suas próprias funcionalidades, se sentirem a necessidade. A adição do &kcron; à janela do &tdeprint;. A adição do &kcron; à janela do &tdeprint;. A adição do &kcron; à janela do &tdeprint;. O que o &tdeprint; oferece a todos... A interface simples de usar do &tdeprint; para os sub-sistemas de impressão suportados não elimina a fraqueza tradicional de alguns desses sistemas, mas lima algumas arestas. Os diferentes utilizadores poderão utilizar diferentes sistemas de impressão na mesma máquina. Um utilizador tem inclusive a possibilidade de mudar na altura o sub-sistema a usar na próxima tarefa, a partir da janela de impressão. (Isto é possível se os diferentes sistemas estiverem instalados de modo a que cada um não se meta no caminho de outro.) A maioria dos utilizadores estão acostumados à impressão com o LPD. O LPD oferece só algumas funções de impressão básicas, é muito inflexível e não utiliza as várias opções dos sistemas de impressão mais recentes, como o &CUPS;. Embora também funcione remotamente para qualquer parte (como qualquer protocolo baseado no TCP/IP), falta ao LPD bidireccionabilidade, autenticação, controlo de acesso e suporte de cifra. O &tdeprint; pode usar o &CUPS; para suportar: A pesquisa na LAN pelas impressoras disponíveis, Autenticação Básica, com 'Digests' e com Certificados, Controlo de Acesso baseado nos endereços IP, nos endereços de rede, nas máscaras de rede, nos nomes das máquinas e nos domínios, e a cifra, com o TLS de 128 Bits ou com o SSL3, dos dados de impressão, para prevenir intromissões, ou pelo menos complicar tais acções. Isto torna o &tdeprint; uma solução muito mais robusta e fiável do que utilizar o venerável LPD. Como aceder ao &tdeprint; Poderá obter acesso ao &tdeprint;, ou a partes dele, de quatro formas diferentes: através das suas aplicações: se chamar a janela de impressão (quer por Ficheiro Imprimir...), quer pelo botão com o ícone da pequena impressora neste; isto irá abrir a janela de impressão. através do comando kprinter indicado num terminal, numa janela do &konsole; ou na janela de mini-CLI Executar um Comando...: isto também abre a janela de impressão. a partir do botão do , iniciando o &kcontrol;, e indo a SistemaGestor de Impressão. Isto abre a administração do &tdeprint; como parte do &kcontrolcenter;, permitindo-lhe mudar para outras componentes do &kcontrol; a partir da linha de comandos (&konsole; ou mini-CLI), escreva tdecmshell . Isto abre apenas a componente &tdeprint; do &kcontrol;, de modo que o utilizador efectue a sua configuração. A janela do &kprinter; a iniciar na janela de Executar um Comando... A iniciar a janela do &kprinter; numa janela para Executar um Comando.... A iniciar a janela do &kprinter; numa janela para Executar um Comando.... Aqui está um desenho do &kivio; e a janela do &tdeprint;, logo que aparece após o seu início... O utilizador poderá sempre adicionar uma nova impressora, se carregar no pequeno botão do Assistente (marcado a vermelho/amarelo neste desenho). A janela do &kprinter; iniciada (rascunho do &kivio;) A janela do &kprinter; iniciada (rascunho do &kivio;) A janela do &tdeprint; iniciou (rascunho do &kivio;)