<chapter id="technical-overview"> <title >Технический обзор</title> <para >Цель этой главы - дать технический обзор &kdeprint;, которым могли бы пользоваться не только программисты.</para> <para >&kdeprint; - новый, революционный инструмент, обеспечивающий простой доступ к возможностям печати как для пользователей, так и для разработчиков &kde;.</para> <sect1 id="brief-description"> <title >Краткое описание &kdeprint;</title> <para >Вы можете получить доступ к функциям &kdeprint; различными способами: через Диспетчер печати Центра управления KDE, через команду <command >kprinter</command > или через диалог, который выводится перед печатью документа.</para> <sect2 id="what-kdeprint-is-not"> <title >Чем это <emphasis >не</emphasis > является</title> <para >&kdeprint; - это <emphasis >не</emphasis > замена собственнно подсистемы печати, поэтому &kdeprint; <emphasis >не</emphasis > обеспечивает использование демона печати и <emphasis >не</emphasis > осуществляет операции над данными, предназначенными для печати, такими как данные &PostScript;.</para> </sect2> <sect2 id="what-kde-print-is"> <title >Чем это <emphasis >является</emphasis ></title> <para >&kdeprint; является промежуточным слоем между демоном и установленной подсистемой печати и приложениями, использующими печать. &kdeprint; обеспечивает общий интерфейс разнообразных поддерживаемых подсистем печати для пользователей и разработчиков &kde;. В то же время приложение поддаётся широкой настройке.</para> <para >&kdeprint; прост в использовании как для разработчиков, так и для конечных пользователей &kde;. Разработчики могут переносить свои приложения, с минимальными изменениями, для использования &kdeprint; вместо старой <quote >системы</quote > печати &Qt;. Пользователи могут легко выбирать и настраивать подсистему печати.</para> <para >К сведению новых пользователей &kde;: &Qt; - это основная библиотека и графический набор инструментов, используемый всеми приложениями &kde;. &Qt; был создан норвежской компанией программного обеспечения TrollTech.</para> </sect2> </sect1> <sect1 id="different-users"> <title >&kdeprint; - для каждого свои методы использования.</title> <para >&kdeprint; выглядит по-разному для разных людей.</para> <sect2 id="what-users-can-do"> <title >Что с помощью &kdeprint; могут делать пользователи и администраторы</title> <para >&kdeprint; предоставляет пользователям и/или администраторам, в зависимости от их прав, доступ к подсистемам печати (&CUPS;, <acronym >LPD</acronym >, <acronym >RLPR</acronym >, <application >LPRng</application > и т. д. ) через графический интерфейс &kde; (&GUI;). Используя &kdeprint;, они могут распечатывать документы, управлять заданиями принтера и демоном печати, и всё это - удобным способом.</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 >). Библиотека &kdeprint; основана на более современной системе Common &UNIX; Printing System (&CUPS;), в то же время она совместима с <acronym >LPD</acronym > и другими устаревшими системами печати. Она также <quote >оставляет открытыми двери</quote > для будущих разработок. </para> <para >Чтобы использовать новый класс &kdeprint; в приложениях, разработчикам &kde; надо внести минимальные изменения в код программы: следует просто изменить название класса <classname >QPrinter</classname > на <classname >KPrinter</classname >. Стоит изменить один (!) символ в нескольких частях кода, и всё готово: приложение способно использовать все средства библиотеки &kdeprint;.</para> <para >Более амбициозные или более требовательные разработчики могут сделать большее: несмотря на то, что окно &kdeprint; богато опциями настройки, они могут изменить диалоговое окно печати, добавив к нему дополнительную <quote >закладку</quote >, где их расширения к стандартному &kdeprint; будут чувствовать себя как дома.</para> <para >Это последнее свойство в &kde; не использовалось широко, так как разработчики не полностью сознают мощность &kdeprint;. В ближайшем будущем ожидается нечто большее. Один пример я открыл для себя в приложении &kcron;. Оно позволяет вам редактировать задания системы через графический интерфейс. Разработчики реализовали свойство печати, позволяющее вам (или <systemitem class="username" >root</systemitem >) выбрать, будут ли выполнены все задания печати из списка (для всех пользователей) или только отмеченные. Вы можете видеть возможности &kdeprint; на следующих снимках.</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;, а не к &kdeprint;; это специальное расширение, внесённое разработчиками &kcron; для удобства печати,</para> <screenshot> <screeninfo >дополнение &kcron; к диалоговому окну &kdeprint;.</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kprinter_with_kcron_developer_special.png" format="PNG"/></imageobject> <textobject> <phrase >дополнение &kcron; к диалоговому окну &kdeprint;.</phrase ></textobject> <caption> <para >дополнение &kcron; к диалоговому окну &kdeprint;.</para> </caption> </mediaobject> </screenshot> </sect2> <sect2> <title >Что &kdeprint; предоставляет каждому...</title> <para >Лёгкий в использовании интерфейс &kdeprint; для всех поддерживаемых подсистем печати, конечно же, не снимает традиционные недостатки некоторых из этих систем. Но он сглаживает некоторые острые углы. Разные пользователи могут использовать разные системы печати в одном окне. Пользователь может переключаться <quote >на лету</quote >, с помощью диалогового окна печати, между подсистемами печати, используемыми для разных заданий. (Это возможно, если различные установленные подсистемы печати не <quote >перекрывают друг другу дорогу</quote >.)</para> <para >Большинство пользователей &UNIX; используют систему печати <acronym >LPD</acronym >. <acronym >LPD</acronym > обеспечивает только основные функции печати, является очень негибкой системой и не использует многие возможности, предоставляемые более современными системами печати, такими как &CUPS;. В то же время при работе с удалённой системой (например, с использованием протокола, основанного на TCP/IP), <acronym >LPD</acronym > не обеспечивает обратную связь, авторизацию, контроль доступа и поддержку шифрования.</para> <para >&kdeprint; может использовать &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 >Всё это делает &kdeprint; намного более устойчивым и надёжным решением, чем использование почтенного <acronym >LPD</acronym >.</para> </sect2> <sect2> <title >Как запустить &kdeprint; </title> <para >Вы можете запустить &kdeprint;, или его части, различными способами:</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 >. При этом запускается модуль управления &kdeprint;, который является частью Центра управления. Он предоставляет вам возможность перейти на другие части Центра управления.</para ></listitem> <listitem ><para >набрав в командной строке (в &konsole; или другом эмуляторе терминала) команду <userinput > <command >kcmshell</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: -->