# &koffice;

## Введение

### Компоненты &koffice;

&koffice; - это интегрированный офисный пакет для K Desktop Environment (&kde;). &koffice; в настоящее время состоит из следующих компонентов:

- &kword; (текстовый процессор, основанный на врезках)

- &kspread; (программа для работы с электронными таблицами)

- &kpresenter; (программа для подготовки презентаций)

- &kivio; (редактор схем и организационных диаграмм)

- Karbon14 (редактор векторной графики)

- &krita; (редактор растровой графики)

- &kugar; (генератор отчётов)

- Kexi (программа для работы с базами данных)

- &kchart; (программа для создания диаграмм и графиков)

- &kformula; (редактор математических формул)

Так как все компоненты построены на основе модели KParts, программы &koffice; хорошо взаимодействуют друг с другом. Документ любого компонента &koffice; можно встроить в документ другого компонента. Например, таблицу, созданную в &kspread;, можно вставить прямо в документ &kword;. Таким образом, используя программы &koffice; можно создавать сложные составные документы.

Механизм модулей позволяет расширять возможности &koffice;. В этом руководстве также описывается создания нового модуля.

Это руководство охватывает только общие возможности &koffice;, одинаковые для всех программ пакета. Подробно о каждом компоненте можно прочитать в его руководстве.

### Обзор возможностей &koffice;

#### Интеграция

Компоненты &koffice; построены на основе общей инфраструктуры, что позволяет достичь тесной интеграции между ними. Вы также можете создать новый компонент. Для этого ознакомьтесь с главой о KParts.

#### Легковесность

Не смотря на то, что в &koffice; так много компонентов, он остаётся "легковесным" - быстрым и нетребовательным к памяти. Этого удалось отчасти достичь благодаря использованию технологии &kde;.

Разработчики &koffice; стараются по минимуму загружать интерфейс редко используемыми функциями.

Многие недоступные функции можно реализовать самостоятельно написав или подключив дополнительный модуль или сценарий. Таким образом сам &koffice; остаётся легковесным.

#### Завершённость

В &koffice; доступно много компонентов, соответвтующих большинству ежедневных офисных и домашних задач. Расширить возможности &koffice; всегда можно посредством написания иди подключения дополнительных модулей, сценарией или целых компонентов.

#### Формат OASIS OpenDocument

Одной из главнейших целей для разработчиков является поддержка всех арспространённых стандартнов, особенно на уровне форматов файлов.

Форматы OASIS OpenDocument являются основными для компонентов &koffice;.

#### Возможности, предоставляемые KDE

Поскольку &koffice; использует &kde;, все возможности, доступные в приложении &kde;, также доступны в &koffice;, в т.ч. DCOP, KParts, интеграция в рабочее окружение, настройка интерфейса.

## Технология &koffice;

### Kparts - строительные блоки &koffice;

Каждое приложение &koffice; спроектировано для выполнения очень специфических задач. Например, &kspread; - это программа для работы с электронными таблицами, &kword; - программа для обработки текстов. Сфокусированные на специфических задачах они прекрасно работают в конкретных областях. Тем не менее, в зависимости от того, какие задачи вы решаете с помощью &koffice;, вам может потребоваться функциональность, предоставляемая другими приложениями, но в том же документе.

Предположим, что вы готовите документ в &kword; и хотите проиллюстрировать какую-то часть с помощью таблицы. И, хотя &kword; обладает собственными возможностями по вставке таблиц, этого может оказаться недостаточно. Например, вам нужно использовать особый формат валюты, или произвести вычисления используя формулы электронной таблицы. В настоящее время этого можно попытаться добиться используя программирование в &kword;. Тем не менее, в этой области, &kword; никогда не сможет заменить &kspread;, и если попытаться добиться такой же функциональности, это будет неприемлемо сложно, а исходные тексты будет невозможно сопровождать.

Альтернативой этому является KParts. Его философия проста: пусть каждое приложение выполняет то, что умеет лучше всего.

#### Составные документы с использованием KParts

С KParts вы можете использовать всю функциональность предлагаемую всеми приложениями &koffice;. Воспользоваться этим можно вставляя так называемые части в свой документ. Каждая из этих частей на самом деле - другой документ, то есть документ в документе.

В приведенном выше примере документ &kspread; был встроен в документ &kword;. Во время правки таблицы, &kspread; работает в фоне. По окончании редактирования таблицы управление возвращается &kword;. Единственное видимое отличие заключается в том, что при редактировании таблицы меню и панели инструментов отображают инструменты &kspread;, а не &kword;. Возможность включения функциональности одного приложения в другое называется встраиванием (embedding).

#### Использование KParts в документах

Если вы никогда не работали с составными документами, то сперва это может сбивать с толку. Следование пошаговым инструкциям покажет, что использование KParts также просто, как и работа с одним приложением.

#### Вставка компонента &kspread; в приложение &kword;

1. Запустите &kword;. Это можно сделать с помощью панели или набрав ``kword`` в командной строке.

2. Создайте новый пустой документ. Если хотите, то можете набрать какой-нибудь текст.

3. Выберите Вставить Врезку с объектом Электронные таблицы. Указатель мыши изменит вид и станет крестиком. Это говорит о том, что необходимо выделить область.

4. Нажмите левую кнопку мыши в том месте, где хотите расположить верхний правый угол вашей таблицы, и удерживая её, укажите курсором нижний левый угол. Отпустите кнопку. Появится диалог, с помощью которого можно вставить уже существующий документ или создать новый. Создайте новую электронную таблицу. Вот и всё -- вы сделали это.

Просто, не правда ли? Теперь вы видите врезку с таблицей в документе &kword;. Дважды щёлкните на таблице и посмотрите, что произойдёт. Вы заметите что:

- Строка меню и панели инструментов изменились. Теперь они отображают инструменты &kspread;.

- Врезка с таблицей содержит элементы интерфейса &kspread;, с полосами прокрутки, строкой вкладок для выбора таблиц и .т.д.

Попробуйте изменить таблицу. Вы увидите, что это не отличается от работы с &kspread;. На самом деле вы работаете с &kspread;.

Теперь щёлкните по документу &kword; вне области таблицы. Вернутся строка меню и панели инструментов &kword;, а элементы &kspread; исчезнут. Таблица осталась и содержит все произведённые вами изменения.

KParts очень просто использовать. Попробуйте вставить другие компоненты или даже компоненты в компоненты.

## Настройка &koffice; и вашей системы

Хотя &koffice; работает достаточно неплохо и сразу после установки, для получения наибольшей отдачи от &koffice; можно оптимизировать некоторые вещи. Эта часть рассказывает, что можно сделать чтобы добиться наилучших результатов от новой офисной среды.

### Оптимизация вывода шрифтов

Шрифты - это больная тема для X Windows. В этой секции мы опишем некоторые проблемы, которые часто встречаются пользователям &koffice;. Некоторые проблемы связаны на с &koffice;, а с настройкой системы, поэтому чтобы решить их вам может потребоваться изменить файлы настройки. Если у вас нет доступа к учетной записи root на вашем компьютере, то попросите системного оператора об этом и укажите ему или ей на это руководство. Так как тема про шрифты слишком сложна чтобы полностью описать всё тут, возможно вам придётся прочитать Font HOWTO, из которого и взята следующая информация. Там можно найти некоторые дополнительные детали.

#### Как получить красивые масштабируемые шрифты на экране

STUFF

#### Как получить корректную распечатку

Хотя &koffice; может автоматически оперировать шрифтами X11 на экране, распечатка может вызвать проблемы: в большинстве систем печать происходит через ghostscript. И, в то время как &koffice; знает имена шрифтов используемых X Windows, он обычно не знает имена шрифтов используемых ghostscript. &koffice; старается угадать эти имена, что, к несчастью, не всегда заканчивается успешно.

Эту проблему можно решить, хотя это и не просто. На самом деле, возможно вы используете дистрибутив в котором большая часть работы уже сделана (так что если у вас нет проблем с печатью, вы можете пропустить эту секцию). Вам необходимо сделать чтобы ghostscript знал как преобразовать предполагаемые имена шрифтов, используемые в &koffice;, в его собственные имена шрифтов. Это можно сделать добавив строки в файл `Fontmap`. Строки с псевдонимами в `Fontmap` выглядят как следующий пример:

##### Псевдоним в ghostscript Fontmap

    /Algerian-Roman /Algerian       ;

Заметьте, что в этом примере пробел перед ';' обязателен. &koffice; использует имя Algerian-Roman для шрифта Algerian. Вам надо будет добавить подобные строки для всех шрифтов которые &koffice; не может нормально отобразить. Чтобы упростить эту задачу Donovan Rebbechi написал на perl скрипт, который можно найти на http://pegasus.rutgers.edu/~elflord/font_howto/kwdfont. Если предположить что у вас есть файл со шрифтом `/usr/share/ghostscript/fonts/fontfile.ttf`, то для того чтобы создать необходимые псевдонимы вам надо ввести ``kwdfont` `/usr/share/ghostscript/fonts/fontfile.ttf``. Этот скрипт должен работать в большинстве случаев. Как было сказано выше, вам необходимо ознакомиться с Font HOWTO.

### Настройка &GUI; &koffice;

Хотя &koffice; поставляется с &GUI; (графическим интерфейсом пользователя), который удовлетворяет потребности большинства пользователей, могут быть хорошие причины чтобы захотеть изменить вид программ.

Моя мама, например, немного опасается кнопок и пунктов меню которых она не понимает. Чтобы приспособить &koffice; к её потребностям, я уменьшил &GUI; до необходимого минимума функций. Так как ей нужно только писать письма и использовать несколько шаблонов, нет необходимости для большей функциональности чем сохранение, загрузка, печать и т.п.

Благодаря концепции действий &Qt; и &kde; вы можете свободно настраивать строки меню и панели инструментов &koffice;. К сожалению в настоящее время ещё не создано простых диалогов для этого. &koffice; хранит параметры &GUI; в &XML; файлах и вам придётся редактировать их. К счастью эта ситуацию в будущем изменится; а в настоящее время вам понадобятся базовые знания по тому, как работают &XML; документы (или HTML, который является подмножеством &XML;). [Концепцию действий необходимо объяснить более подробно -- kt.]

Обычно, каждое приложение &koffice; содержит по крайней мере два &XML; файла: один описывает &GUI; оболочки (по большей части это то, что вы видите когда не открыт ни один документ), а второй - &GUI; соответствующей части то что вы обычно и видите). Например, для &kword; эти два файла называются `kword_shell.rc` и `kword.rc`.

Далее приведен простой пример такого rc файла.

#### Пример простого rc файла

    <!DOCTYPE QConfig ><qconfig>
    <menubar>
    <menu name="Edit"><text>Edit</text>
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    <separator/>
    <action name="edit_find"/>
    </menu>
    <menu name="Insert"><text>Insert</text>
    <action name="insert_picture"/>
    <action name="insert_clipart"/>
    <menu name="Variable"><text>Variable</text>
    <action name="insert_var_datefix"/>
    <action name="insert_var_datevar"/>
    </menu>
    </menu>
    </menubar>
    <toolbars>
    <toolbar name="edit_toolbar" position="right">
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    </toolbar>
    </toolbars>
    </qconfig>

## Как получить дополнительную информацию

### Другие руководства &koffice;

Для получения детальной информации по разным приложениям &koffice;, пожалуйста обращайтесь к соответствующим руководствам.

### Ссылки

Если вы ищете информацию о &kde; или &koffice;, вам могут быть полезны следующие ссылки.

- Домашняя страница &koffice;. Здесь вы можете найти информацию о том как получить и установить &koffice;, новости о разработке &koffice;, снимки экрана &etc;

- Домашняя страница KDE. KDE это наиболее продвинутая и абсолютно свободная интерактивная среда для unix-подобных операционных систем. &koffice; использует библиотеки &kde;.

- Trolltech. Создатели инструментария &Qt;. &kde; и &koffice; используют &Qt;.

## Программирование &koffice;

### Введение

Если вы хотите участвовать в разработке &koffice;, вам могут быть интересны следующие ресурсы:

- На http://developer.kde.org вы найдёте много документации о программировании с &Qt; и &kde;. Здесь находится полная интерактивная версия документации библиотек &kde;.

- В исходных кодах &koffice; в каталоге `example` находится пример приложения.

## Авторские права и лицензия

&koffice; - это результат объединённых усилий множества разработчиков. Авторские права на каждый файл с исходными текстами &koffice; принадлежат тем людям которые этот файл написали, а их имена, вместе с лицензией которая применяется к каждому конкретному файлу, находится в начале каждого файла с исходными текстами. Имена основных разработчиков можно найти на http://www.koffice.org/people.php.

Авторские права на это руководство принадлежат Джосту Скэнку (Jost Schenck). Его можно распространять свободно при условии неизменения информации об авторских правах. Его можно изменять при условии ,что вы отправите изменения автору, или разместите их на CVS &kde;. Автор не несёт ответственности за всё, что происходит в результате использования этого руководства.

Авторские права на другие руководства &koffice; принадлежат из авторам.

&underFDL; &underGPL;

## Установка

### Системные требования

Чтобы установить и использовать &koffice; вам необходимы:

- Работающая система &UNIX; (например, &Linux; или BSD) с настроенной системой &X-Window; (например XFree86 или X.org).

- Библиотеки &Qt; 3.3 от Trolltech. Для получения большей информации смотри www.trolltech.com.

- K Desktop Environment 3.3 (&kde; 3.3) или новее. &koffice; невозможно откомпилировать с более ранними версиями &kde;. Информацию по получению и установке &kde; можно найти на &kde-http;

- Права на установку программного обеспечения на ваш компьютер. Если это ваш собственный компьютер, то это не проблема. Если вы используете компьютер, находящийся в сети, проконсультируйтесь с вашим администратором.

Заметьте, что несмотря на то, что вам нужны библиотеки &kde; 3.3 (или более новые), вы можете использовать &koffice; в других интерактивных средах (например, XFCE или Gnome).

Если вы планируете компилировать &koffice; из исходных текстов, вам также потребуется:

- `automake` 1.6.1 или выше. Загрузить её можно с ftp://ftp.gnu.org/pub/gnu/automake/

- `autoconf` 2.53 или выше. Загрузить её можно сftp://ftp.gnu.org/pub/gnu/autoconf/

- Компилятор C++ который поддерживает исключения, лучше если это будет самая новая версия GCC. (Информация о его получении и установке находится на http://gcc.gnu.org.)

- Пакеты разработки Troll Tech &Qt; 3.3. Если эти пакеты не установлены на вашем компьютере и они не включены в дистрибутив вашей операционной системы, то возможно вам придётся скомпилировать &Qt; из исходных текстов. Эти исходные коды можно загрузить с http://www.trolltech.com/download/index.html.

После того как вы определили что система удовлетворяет этим требованиям вы должны решить: компилировать исходный код или установить предварительно откомпилированные бинарные пакеты.

Если вы хотите найти самую свежую бинарную вервию &koffice;, то вы можете найти больше информации если пройдёте по этой ссылке: Getting Binary Packages.

Если для вашей системы нет предварительно откомпилированных бинарных пакетов, то вы можете загрузить исходные тексты и откомпилировать их самостоятельно. Инструкции по получению текущих исходных текстов (и что делать с этими исходными текстами после того как вы получили их) можно найти по этой ссылке: Getting the source code.

Для получения большей информации посетите домашнюю страницу &koffice;. Здесь вы всегда сможете найти самую свежую информацию о бинарных дистрибутивах и дистрибутивах с исходными текстами!

### Получение бинарных пакетов

Самые свежие версии бинарных пакетов можно загрузить с:

http://koffice.kde.org/releases/1.4.0-release.php

или с одного из множества зеркал. Текущий список сайтов с зеркалами можно найти на:

http://www.kde.org/mirrors.html

Необходимо использовать бинарные пакеты совместимые с вашей системой. Если вы используете операционную систему &Linux; и не можете найти бинарный пакет на веб сайте &koffice;, или одном из зеркал, возможно вы сможете найти его на сайте дистрибутива.

### Из бинарных пакетов

Чтобы установить &koffice; из предварительно откомпилированных бинарных пакетов вам надо:

1. Убедиться в том что установлено и работает всё необходимое программное обеспечение (за исключением, &koffice;, конечно). Системные требования можно узнать перейдя по этой ссылке: Системные требования.

2. Загрузите бинарный пакет (или пакеты) &koffice; во временный каталог.

3. Если имя файла заканчивается на `.rpm` (файл менеджера пакетов &RedHat;), то &koffice; можно установить следующей командой:

       $rpm-U имя_файла

   Если имя файла заканчивается на `.deb` (файл пакета Debian), то &koffice; можно установить следующей командой:

       $dpkg-i имя_файла

   Если имя файла заканчивается на `.tar.gz` или `.tgz` (файл с тарболом), то &koffice; можно установить следующими командами:

       $ cd /
       $ tar-xzvfимя_файла

   В этих примерах имя_файла необходимо заменить на полное имя файла с пакетом включая полный путь, если вы находитесь не в том каталоге куда сохранили файл.

4. И это всё. Теперь &koffice; установлен на вашем компьютере.

Если на вашем компьютере установлена графическая оболочка для управления пакетами, такая как &kpackage; или GnoRPM, то может оказаться более удобным использовать её, а не командную строку. Проконсультируйтесь в документации по этой программе как устанавливать с её помощью.

### Получение исходного кода

Текущую версию исходных кодов можно загрузить с http://koffice.kde.org/ или с одного из множества сайтов зеркал. Текущий список сайтов зеркал можно найти на:

http://www.kde.org/mirrors.html

### Из исходных кодов

Если вы хотите собрать &koffice; из исходных кодов, вам необходимо:

1. Убедиться в том что установлено и работает всё необходимое программное обеспечение (за исключением, &koffice;, конечно). Системные требования можно узнать перейдя по этой ссылке: Системные требования.

2. Загрузить исходные коды &koffice; во временный каталог.

3. Если имя файла заканчивается на `.src.rpm` (файл менеджера пакетов &RedHat;), то исходные тексты &koffice; можно установить командой:

       $rpm-U имя_файла

   Если имя файла заканчивается на `.src.tar.gz` или `.src.tgz` (файл с тарболом), то исходные тексты &koffice; можно установить командой:

       $ tar -xzvf имя_файла

4. Теперь исходные коды &koffice; установлены на вашем компьютере.

&documentation.index;