|
|
|
|
<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
|
|
|
|
|
>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:
|
|
|
|
|
-->
|