<chapter id="technical-overview">
<title>Технический обзор</title>

<para>Цель этой главы - дать технический обзор &tdeprint;, которым могли бы пользоваться не только программисты.</para>

<para>&tdeprint; - новый, революционный инструмент, обеспечивающий простой доступ к возможностям печати как для пользователей, так и для разработчиков &kde;.</para>

<sect1 id="brief-description">
<title>Краткое описание &tdeprint;</title>

<para>Вы можете получить доступ к функциям &tdeprint; различными способами: через Диспетчер печати Центра управления KDE, через команду <command>kprinter</command> или через диалог, который выводится перед печатью документа.</para>

<sect2 id="what-tdeprint-is-not">
<title>Чем это <emphasis>не</emphasis> является</title>

<para>&tdeprint; - это <emphasis>не</emphasis> замена собственнно подсистемы печати, поэтому &tdeprint; <emphasis>не</emphasis> обеспечивает использование демона печати и <emphasis>не</emphasis> осуществляет операции над данными, предназначенными для печати, такими как данные &PostScript;.</para>

</sect2>

<sect2 id="what-kde-print-is">
<title>Чем это <emphasis>является</emphasis></title>
<para>&tdeprint; является промежуточным слоем между демоном и установленной подсистемой печати и приложениями, использующими печать. &tdeprint; обеспечивает общий интерфейс разнообразных поддерживаемых подсистем печати для пользователей и разработчиков &kde;. В то же время приложение поддаётся широкой настройке.</para>

<para>&tdeprint; прост в использовании как для разработчиков, так и для конечных пользователей &kde;. Разработчики могут переносить свои приложения, с минимальными изменениями, для использования &tdeprint; вместо старой <quote>системы</quote> печати &Qt;. Пользователи могут легко выбирать и настраивать подсистему печати.</para>

<para>К сведению новых пользователей &kde;: &Qt; - это основная библиотека и графический набор инструментов, используемый всеми приложениями &kde;. &Qt; был создан норвежской компанией программного обеспечения TrollTech.</para>

</sect2>

</sect1>

<sect1 id="different-users">
<title>&tdeprint; - для каждого свои методы использования.</title>

<para>&tdeprint; выглядит по-разному для разных людей.</para>

<sect2 id="what-users-can-do">
<title>Что с помощью &tdeprint; могут делать пользователи и администраторы</title>

<para>&tdeprint; предоставляет пользователям и/или администраторам, в зависимости от их прав, доступ к подсистемам печати (&CUPS;, <acronym>LPD</acronym>, <acronym>RLPR</acronym>, <application>LPRng</application> и т. д. ) через графический интерфейс &kde; (&GUI;). Используя &tdeprint;, они могут распечатывать документы, управлять заданиями принтера и демоном печати, и всё это - удобным способом.</para>

<para>Опытным пользователям понравится возможность подключать любой работающий фильтр для данных, предназначенных на печать, между выходными данными приложения и входными данными подсистемы печати. </para>

</sect2>


<sect2 id="what-developers-can-do">
<title>Что с этим могут делать разработчики &kde;...</title>

<para>Если приложению &kde; необходим доступ к принтеру, разработчику не надо программировать функции печати. Версии &kde; 2.2 и более ранние предоставляли этот сервис через класс <classname>QPrinter</classname> библиотеки &Qt;. Класс <classname>QPrinter</classname> основан на <quote>демоне печати</quote> (<acronym>LPD</acronym>). Библиотека &tdeprint; основана на более современной системе Common &UNIX; Printing System (&CUPS;), в то же время она совместима с <acronym>LPD</acronym> и другими устаревшими системами печати. Она также <quote>оставляет открытыми двери</quote> для будущих разработок. </para>

<para>Чтобы использовать новый класс &tdeprint; в приложениях, разработчикам &kde; надо внести минимальные изменения в код программы: следует просто изменить название класса <classname>QPrinter</classname> на <classname>KPrinter</classname>. Стоит изменить один (!) символ в нескольких частях кода, и всё готово: приложение способно использовать все средства библиотеки &tdeprint;.</para>

<para>Более амбициозные или более требовательные разработчики могут сделать большее: несмотря на то, что окно &tdeprint; богато опциями настройки, они могут изменить диалоговое окно печати, добавив к нему дополнительную <quote>закладку</quote>, где их расширения к стандартному &tdeprint; будут чувствовать себя как дома.</para>


<para>Это последнее свойство в &kde; не использовалось широко, так как разработчики не полностью сознают мощность &tdeprint;. В ближайшем будущем ожидается нечто большее. Один пример я открыл для себя в приложении &kcron;. Оно позволяет вам редактировать задания системы через графический интерфейс. Разработчики реализовали свойство печати, позволяющее вам (или <systemitem class="username">root</systemitem>) выбрать, будут ли выполнены все задания печати из списка (для всех пользователей) или только отмеченные. Вы можете видеть возможности &tdeprint; на следующих снимках.</para>

<para>На этом снимке показан пример окна утилиты &kcron;. <screenshot>
<screeninfo>&kcron;: пример приложения, запускающего программы по расписанию. Использует <acronym>GUI</acronym> - графический интерфейс.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kcron_to_be_printed.png"
format="PNG"/></imageobject>
<textobject>
<phrase>Разработчики &kcron; позволяют вам выбрать, печатать ли все документы из таблицы, или же только отмеченные.</phrase></textobject>
</mediaobject>
</screenshot>
</para>

<para>Диалоговое окно настройки опций печати &kcron;: дополнительная закладка, озаглавленная <guilabel>Опции Cron</guilabel>, которая относится к &kcron;, а не к &tdeprint;; это специальное расширение, внесённое разработчиками &kcron; для удобства печати,</para>


<screenshot>
<screeninfo>дополнение &kcron; к диалоговому окну &tdeprint;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_with_kcron_developer_special.png"
format="PNG"/></imageobject>
<textobject>
<phrase>дополнение &kcron; к диалоговому окну &tdeprint;.</phrase></textobject>
<caption>
<para>дополнение &kcron; к диалоговому окну &tdeprint;.</para>
</caption>
</mediaobject>
</screenshot>

</sect2>

<sect2>
<title>Что &tdeprint; предоставляет каждому...</title>

<para>Лёгкий в использовании интерфейс &tdeprint; для всех поддерживаемых подсистем печати, конечно же, не снимает традиционные недостатки некоторых из этих систем. Но он сглаживает некоторые острые углы. Разные пользователи могут использовать разные системы печати в одном окне. Пользователь может переключаться <quote>на лету</quote>, с помощью диалогового окна печати, между подсистемами печати, используемыми для разных заданий. (Это возможно, если различные установленные подсистемы печати не <quote>перекрывают друг другу дорогу</quote>.)</para>

<para>Большинство пользователей &UNIX; используют систему печати <acronym>LPD</acronym>. <acronym>LPD</acronym> обеспечивает только основные функции печати, является очень негибкой системой и не использует многие возможности, предоставляемые более современными системами печати, такими как &CUPS;. В то же время при работе с удалённой системой (например, с использованием протокола, основанного на TCP/IP), <acronym>LPD</acronym> не обеспечивает обратную связь, авторизацию, контроль доступа и поддержку шифрования.</para>

<para>&tdeprint; может использовать &CUPS; для поддержки:</para>

<itemizedlist>
<listitem>
<para>Опроса доступных принтеров, входящих в локальную сеть,</para>
</listitem>
<listitem>
<para>Использования всех видов авторизации,</para>
</listitem>
<listitem>
<para>Контроля доступа, основанного на <acronym>IP</acronym>-адресах, сетевых адресах, масках сети, именах хоста и доменных именах,</para>
</listitem>
<listitem>
<para>128-битном TLS- или SSL3-шифровании данных, предназначенных на печать, чтобы предотвратить нелегальный доступ к ним, или, как минимум, сделать это как можно более трудным.</para>
</listitem>
</itemizedlist>

<para>Всё это делает &tdeprint; намного более устойчивым и надёжным решением, чем использование почтенного <acronym>LPD</acronym>.</para>

</sect2>
<sect2>
<title>Как запустить &tdeprint; </title>

<para>Вы можете запустить &tdeprint;, или его части, различными способами:</para>

<itemizedlist>
<listitem><para>через ваши приложения: вы можете вызвать диалог печати через пункт меню <menuchoice><guilabel>Файл</guilabel> <guilabel>Печать...</guilabel></menuchoice> или нажав кнопку с изображением принтера; при этом выводится диалог печати.</para></listitem>

<listitem><para>по вводу команды <command>kprinter</command> в терминале или через окно командной строки: это также вызывает диалоговое окно печати.</para></listitem>

<listitem><para>нажав кнопку <inlinemediaobject><imageobject> <imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject> </inlinemediaobject>, запускающую &kcontrol;, и затем выбрав модуль <menuchoice><guilabel>Система</guilabel><guilabel>Диспетчер печати</guilabel></menuchoice>. При этом запускается модуль управления &tdeprint;, который является частью Центра управления. Он предоставляет вам возможность перейти на другие части Центра управления.</para></listitem>

<listitem><para>набрав в командной строке (в &konsole; или другом эмуляторе терминала) команду <userinput> <command>tdecmshell</command> <option>printmgr</option></userinput>. При этом запустится модуль Центра управления, позволяющий вам изменить параметры </para></listitem>
</itemizedlist>
<screenshot>
<screeninfo>Диалоговое окно &kprinter;, запускаемое через окно <guilabel>Выполнить команду...</guilabel> </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_called_from_run_command.png"
format="PNG"/></imageobject>
<textobject>
<phrase>Запуск диалогового окна &kprinter; через окно <guilabel>Выполнить команду...</guilabel></phrase></textobject>
<caption><para>Запуск диалогового окна &kprinter; через окно <guilabel>Выполнить команду...</guilabel></para></caption>
</mediaobject>
</screenshot>

<!-- TODO: This one ought to be a screenshot LW. --> <para>Вот снимок диалогового окна &kprinter;, каким оно появляется после запуска &kivio;... Вы можете добавить новый принтер, нажав на маленькую кнопку <guiicon>Мастер</guiicon> (на этом изображении - красно-жёлтая).</para>
  
<screenshot>
<screeninfo>Запущенный диалог &kprinter; (черновое изображение &kivio;) </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter-kivio.png"
format="PNG"/></imageobject>
<textobject>
<phrase>Запущенный диалог &kprinter; (черновое изображение &kivio;)</phrase></textobject>
<caption><para>Запущенный диалог &kprinter; (черновое изображение &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:
-->