<chapter id="technical-overview">
<title
>Visão Técnica</title>

<para
>Este capítulo tem o objetivo de fornecer uma visão técnica do &kdeprint; que não-programadores possam compreender.</para>

<para
>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;.</para>

<sect1 id="brief-description">
<title
>Uma Rápida Descrição do &kdeprint;</title>

<para
>Você pode acessar as funções do &kdeprint; de diferentes maneiras: através do Gerenciador de Impressão no &kcontrol;, através do comando <command
>kprinter</command
> ou através do diálogo que aparece quando você deseja imprimir.</para>

<sect2 id="what-kdeprint-is-not">
<title
>O que ele <emphasis
>não</emphasis
> é</title>

<para
>O &kdeprint; <emphasis
>não</emphasis
> é um substituto para o sub-sistema de impressão propriamente dito. O &kdeprint; conseqüentemente <emphasis
>não</emphasis
> fornece um serviço de fila de impressão, e ele <emphasis
>não</emphasis
> faz o processamento básico de &PostScript; e outros dados de impressão.</para>

</sect2>

<sect2 id="what-kde-print-is">
<title
>O que ele <emphasis
>é</emphasis
></title>
<para
>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.</para>

<para
>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 <quote
>sistema</quote
> de impressão do &Qt;. Usuários podem facilmente escolher e configurar seu sub-sistema de impressão.</para>

<para
>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.</para>

</sect2>

</sect1>

<sect1 id="different-users">
<title
>&kdeprint; -- Diferentes Usos para Diferentes Pessoas</title>

<para
>O &kdeprint; possui facetas diferentes para diferentes pessoas.</para>

<sect2 id="what-users-can-do">
<title
>O que usuários e administradores podem fazer com o &kdeprint;</title>

<para
>O &kdeprint; permite aos usuários e/ou administradores, dependendo de suas permissões, acessar os sub-sistemas de impressão(&CUPS;, <acronym
>LPD</acronym
>, <acronym
>RLPR</acronym
>, <application
>LPRng</application
>, <application
>PDQ</application
> &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.</para>

<para
>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 <quote
>plain vanilla</quote
> do &kdeprint;. Leia-o.</para>

</sect2>


<sect2 id="what-developers-can-do">
<title
>O que desenvolvedores do &kde; podem fazer com ele...</title>

<para
>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 <classname
>QPrinter</classname
>, uma biblioteca de funções do Kit de Ferramentas &Qt;. A classe <classname
>QPrinter</classname
> funcionava sob o antigo <quote
>Line Printer Daemon</quote
> (<acronym
>LPD</acronym
>). 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 <acronym
>LPD</acronym
> e outros sistemas de impressão legados ou menos elaborados. Ele também <quote
>deixa a porta aberta</quote
> para qualquer novo desenvolvimento que venha ocorrer.</para>

<para
>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 <classname
>QPrinter</classname
>, eles apenas precisam mudá-la para <classname
>KPrinter</classname
>. Substituir uma (!) letra em poucos pontos, e automaticamente eles permitiram aos seus aplicativos usarem todos os recursos da nova biblioteca &kdeprint;.</para>

<para
>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 <quote
>Abas</quote
> adicionais, onde suas extensões ao padrão do &kdeprint; ficarão acessíveis.</para>


<para
>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 <systemitem class="username"
>root</systemitem
>) 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.</para>

<para
>Esta imagem mostra um exemplo do utilitário &kcron;. <screenshot>
<screeninfo
>O utilitário &kcron; é um pequeno exemplo de um trabalho de cron do sistema como mostrado através do &kde; <acronym
>GUI</acronym
>&GUI;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kcron_to_be_printed.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Os desenvolvedores do &kcron; permitiram-lhe escolher entre imprimir toda a tabela do cron ou apenas as partes marcadas dela.</phrase
></textobject>
</mediaobject>
</screenshot>
</para>

<para
>O diálogo para configurar as opções de impressão do &kcron;: a aba adicional intitulada <guilabel
>Opções do Cron</guilabel
> é 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.</para>


<screenshot>
<screeninfo
>Adição do &kcron; ao diálogo do &kdeprint;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_with_kcron_developer_special.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Adição do &kcron; ao diálogo do &kdeprint;.</phrase
></textobject>
<caption>
<para
>Adição do &kcron; ao diálogo do &kdeprint;.</para>
</caption>
</mediaobject>
</screenshot>

</sect2>

<sect2>
<title
>O que o &kdeprint; oferece à todos...</title>

<para
>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 <quote
>em tempo real</quote
>, 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 <quote
>sejam acessados de outras maneiras</quote
>.)</para>

<para
>A maioria dos usuários &UNIX; estão usando o <acronym
>LPD</acronym
> para impressão. O <acronym
>LPD</acronym
> 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 <acronym
>LPD</acronym
> falta comunicação bi-direcional, autenticação, controle de acesso e suporte à criptografia.</para>

<para
>O &kdeprint; pode usar o &CUPS; para suportar:</para>

<itemizedlist>
<listitem>
<para
>Consulta à <acronym
>LAN</acronym
> por impressoras disponíveis,</para>
</listitem>
<listitem>
<para
>Autenticação Básica, Sumária e Certificada,</para>
</listitem>
<listitem>
<para
>Controle de acesso baseado em endereços <acronym
>IP</acronym
>, endereços de rede, máscaras de rede, nomes de máquina e domínio,</para>
</listitem>
<listitem>
<para
>e criptografia de dados de 128-Bits TLS ou SSL3, para evitar interceptação, ou pelo menos torná-la muito mais difícil.</para>
</listitem>
</itemizedlist>

<para
>Isto torna o &kdeprint; uma solução muito mais robusta e confiável do que usando o venerável <acronym
>LPD</acronym
>.</para>

</sect2>
<sect2>
<title
>Como acessar o &kdeprint; </title>

<para
>Você obtém acesso ao &kdeprint;, ou partes dele, de quatro diferentes modos:</para>

<itemizedlist>
<listitem
><para
>através de seus aplicativos: se você chamar o diálogo de impressão (tanto com <menuchoice
><guilabel
>Arquivo</guilabel
> <guilabel
>Imprimir...</guilabel
></menuchoice
> como com o botão com um pequeno ícone de impressora sobre ele); isto abre o diálogo de impressão.</para
></listitem>

<listitem
><para
>através da digitação do comando <command
>kprinter</command
> num <application
>terminal</application
> ou numa janela do &konsole; ou a partir da janela mini-<acronym
>CLI</acronym
> <guilabel
>Executar Comando...</guilabel
>: isto também abrirá o diálogo de impressão.</para
></listitem>

<listitem
><para
>a partir do botão <inlinemediaobject
><imageobject
> <imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject
> </inlinemediaobject
>, iniciando o &kcontrol;, e então indo para <menuchoice
><guilabel
>Sistema</guilabel
><guilabel
>Gerenciador de Impressão</guilabel
></menuchoice
>. Isto abre o administrador do &kdeprint; que é parte do &kcontrolcenter; e também permite-lhe alternar para outras partes do &kcontrol;</para
></listitem>

<listitem
><para
>a partir da linha de comando (&konsole; ou mini-<acronym
>CLI</acronym
>), digite <userinput
> <command
>kcmshell</command
> <option
>printers</option
></userinput
>. Isto abre apenas a componente &kdeprint; do &kcontrol;, de modo que o usuário efetue a sua configuração. </para
></listitem>
</itemizedlist>
<screenshot>
<screeninfo
>O diálogo do &kprinter; iniciado a partir da janela do <guilabel
>Executar Comando...</guilabel
></screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_called_from_run_command.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Iniciando o diálogo do &kprinter; iniciado a partir da janela do <guilabel
>Executar Comando...</guilabel
>.</phrase
></textobject>
<caption
><para
>Iniciando o diálogo do &kprinter; iniciado a partir da janela do <guilabel
>Executar Comando...</guilabel
>.</para
></caption>
</mediaobject>
</screenshot>

<!-- TODO: This one ought to be a screenshot LW. --> <para
>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 <guiicon
>Assistente</guiicon
> (marcada em vermelho/amarelo neste desenho).</para>
  
<screenshot>
<screeninfo
>O diálogo &kprinter; iniciado (desenho do &kivio;) </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter-kivio.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>O diálogo &kprinter; iniciado (desenho do &kivio;)</phrase
></textobject>
<caption
><para
>O diálogo &kprinter; iniciado (desenho do &kivio;)</para
></caption>
</mediaobject>
</screenshot>

</sect2>

</sect1>

</chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:"index.docbook" "book"
End:
-->
