# &koffice;

En generel introduktion
Raphael
Langerhorst

    raphael.langerhorst@kdemail.net

Jost
Schenck

    jost@schenck.de

&erik.kjaer.pedersen.role;
2005-10-27
1.5.0

&koffice; er en integreret kontorprogram-pakke K-desktopmiljøet (K Desktop Environment, &kde;).

KDE
KOffice

## Indledning

### Komponenter i &koffice;

&koffice; er en integreret kontorpakke for K -desktopmiljøet (K Desktop Environment &kde;). &koffice; består for øjeblikket af følgende komponenter:

- &kword; (et ramme-baseret tekstbehandlingsprogram)

- &kspread; (et regnearksprogram)

- &kpresenter; (skærm- og lysbilledpræsentationer)

- &kivio; (et flydediagram-program)

- Karbon14 (et vektortegningsprogram)

- &krita; (et pixel-baseret tegneprogram)

- &kugar; (et værktøj til at generer rapporter af forretningskvalitet)

- Kexi (et integreret miljø til at håndtere data)

- &kchart; (et program til at generere diagrammer/grafer)

- &kformula; (en editor til matematiske formler)

Fordi disse komponenter er baseret på en KParts komponentmodel, er &koffice;s komponenter designede til at arbejde meget godt sammen. Enhver &koffice;-komponent kan indlejres i et andet &koffice;-dokument. For eksempel kan du indsætte et regneark som du har lavet i &kspread; direkte i et &kword;-dokument. På denne måde kan komplekse sammensatte dokumenter laves ved brug af &koffice;.

En mekanisme med plugin gør det nemt at udvide funktionerne i &koffice;. Du finder mange plugin i visse af komponenterne, og kan lære dig hvordan man selv skriver plugin. Der er også et afsnit i håndbogen som dedikeret til at udvikle plugin som hjælper dig med at komme i gang.

Denne håndbog dækker kun de generelle egenskaber for &koffice;, dem der er fælles for de fleste eller alle komponenterne i samlingen. For detaljeret information om de forskellige komponenter, kan du kigge i deres respektive håndbøger.

### Oversigt over funktioner i &koffice;

#### Integration

&koffice; sørger for et skelet som alle komponenter bygger på. Via dette skelet opnås stor integration. Det er muligt at udvikle egne komponenter som også kan integreres. Denne teknologi beskrives i større dybde i kapitlet om Kparts.

#### Letvægts

Trods det at det tilbyder så mange komponenter er &koffice; meget letvægts, hurtigt, og har et ganske lille hukommelsesforbrug. Dette opnås fordi &koffice; bygger på &kde;, som allerede er et meget kraftfuldt system for programudvikling.

Et mål for &koffice; er også at ikke overlæsse brugergrænsefladen med funktioner som dårligt nok behøves. Dette resulterer i en snild brugergrænseflade som lader dig udføre dit arbejde effektivt.

At være letvægts kan sommetider betyde at visse specielle funktioner som du behøver ikke findes. I dette tilfælde kan du altid selv tilføje funktionen ved at udvide &koffice;. &koffice; ønsker virkelig ikke at svulme op ved at tilføje store stumper af funktioner som kun meget få brugere kan behøve. Sådanne funktioner kan altid gøres tilgængelige via yderligere plugin eller scripter, og på den måde lade &koffice; forblive letvægts.

#### Fuldstændighed

&koffice; tilbyder en bred spændvidde af komponenter, som dækker de fleste behov i hjemmet og ved kontorarbejde. Yderligere funktioner kan altid implementeres via scripter, plugin eller til og med hele komponenter baserede på skelettet i &koffice;.

#### OASIS OpenDocument-formatet

Det er af største vigtighed for alle kontorssuiter at holde sig til etablerede standarder, især på filformatniveau for at tillade sømløs udveksling af dokumenter med andre kontorssuiter. Dette undgår også fastlåsning til en enkelt leverandør, hvilket især er vigtigt for firmaer, men også for enkelte individer.

Af denne grund har &koffice; antaget OASIS OpenDocument-formatet som sit eget filformat.

#### Funktioner i KDE

Eftersom &koffice; bygger på &kde;, er også alle funktioner du kan forvente dig fra et &kde;-program tilgængelige i &koffice;. Dette omfatter DCOP, Kparts, integrering i desktoppen, indstillelighed, med mere. Alt dette gør udseende og fornemmelse hos &koffice; meget bekendt og integrerer virkelig &koffice; i desktopmiljøet, og tillader på denne måde sømløse arbejdsstrømme.

## &koffice;-teknologi

### KParts - byggeblokkene for &koffice;

Hvert &koffice;-program er designet til at udfylde meget specifikke behov. For eksempel er &kspread; et program til at manipulere regneark, mens &kword; er et program til tekstbehandling. Ved at fokusere på et specifikt område, forsøger hvert program at opnå perfektion på nøjagtigt dette område. Du vil imidlertid, afhængig af hvad du gør med &koffice;, ofte ønske at få fordel af funktionaliteten fra de forskellige programmer, men i det samme dokument.

Antag at du er ved at lave et dokument i &kword; og ønsker at illustrere et punkt med en tabel. Selvom &kword; har sin egen funktionalitet for indsætning af tabeller, er dette måske ikke nok til at dække dine behov. For eksempel ønsker du måske at bruge et vist mønt-dataformat eller at lave beregninger ved brug af en regnearksformel. En &kword;-programmør kunne selvfølgelig prøve at implementere denne funktionalitet. Men &kword; ville aldrig blive lige så god som &kspread; på dette område; og hvis den forsøgte at implementere hele funktionaliteten du muligvis ville have behov for, ville det ende med at blive urimeligt kompleks og kildekoden ville blive umulig at vedligeholde.

Alternativet til dette er KParts. Dens filosofi er simpel: lad hvert program gøre det, som det er bedst til.

#### Sammensatte dokumenter med KParts

Med KParts, kan dine dokumenter bruge al funktionalitet fra alle &koffice;-programmers. Du kan få fordel af dette ved at indsætte såkaldte part i dit dokument. Hver af disse part er i virkeligheden et andet dokument, det vil sige, et dokument indeni et dokument.

I ovennævnte eksemplet, ville du simpelthen indsætte en &kspread;-part i dit &kword;-dokument. Så, når du redigerer i din tabel, vil &kspread; overtage kontrollen i baggrunden. Kontrollen vil vende tilbage til &kword; når du holder op med at arbejde på tabellen og begynder med at arbejde på tekst igen. Den eneste ændring du bemærker er at værktøjslinjerne og menuerne, mens tabellen bliver redigeret, reflekterer funktionaliteten fra &kspread; i stedet for &kword;. Denne evne til at inkludere funktionaliteten far et program i et andet kaldes indlejring.

#### Brug af KParts i dit dokument

Hvis du aldrig har arbejdet med sammensatte dokumenter før, vil du måske find dem forvirrende i begyndelsen. Følgende skridt for skridt instruktioner viser dig at brug af KParts er lige så let som at arbejde med et enkelt program.

##### Indsætning af en &kspread;-part i et &kword;-program

1. Start &kword;. Du kan gøre dette enten fra panelet eller ved at skrive ``kword`` på kommandolinjen.

2. Start et nyt blankt dokument. Du vil måske skrive en smule tekst først.

3. Vælg Insert Objektramme Regneark. Du vil bemærke at musen er blevet ændret til et kryds. Denne form formarkør indikerer at du skal vælge et område.

4. Tryk med &LMB; der hvor du vil have det øverste venstre hjørne af din tabel skal være, hold den nede og træk den til det nederste højre hjørne. Giv så slip på knappen. Det er det hele, du er færdig. Nu kommer en dialog frem der giver dig muligheden for at indsætte et eksisterende dokument eller at lave et nyt. Lav et blankt arbejdsark. Det er det hel--du er færdig.

Nemt ikke sandt? Du skulle nu se en tabel-ramme i dit &kword;-dokument. Dobbeltklik nu indeni tabellen for at se hvad der sker. Du vil bemærke at:

- Din menulinje og dine værktøjslinjer er blevet ændret. De er nu ligesom de er i &kspread;.

- Din tabelramme indeholder elementerne i en &kspread;-fremvisning, med rullebjælker, en fanebladslinje til valg af tabeller, &etc;

Prøv at ændre på tabellen. Du vil se at det ikke er anderledes end at bruge &kspread;. Du bruger rent faktisk &kspread;.

Klik nu et sted i dit &kword;-dokument udenfor tabelområdet. Menulinjen og værktøjslinjerne vender nu tilbage til at være som i &kword;, elementerne fra &kspread;-visningen skulle forsvinde. Din tabel bliver og reflekterer stadig alle de ændringer du har anvendt på den.

KParts er nemme at bruge. Prøv at indsætte en anden part eller endog en part i en part.

## Indstilling af &koffice; og dit system

Selvom &koffice; skulle virke fint som den er, kan der muligvis være nogle ting, der skal optimeres, for at få det meste ud af &koffice;. Dette kapitel viser dig hvad måske kunne gøre for at få de bedste resultater med din ny kontorpakke og sørge for den passer til dine behov. &koffice; er yderst indtilleligt, selv helt ned til en detaljeret værktøjslinje og udlægning af menu.

### Optimering af skrifttype-uddata

Skrifttyper er et vanskeligt emne på X Windows. I dette afsnit vil vi dække nogle problemer der ofte rapporteres af folk der bruger &koffice;. Nogle af problemerne er ikke kun &koffice;s fejl, men afhænger af din systemopsætning, hvilket er grunden til at du måske vil skulle ændre nogle systemindstillings-filer for at løse dem. Hvis du ikke har adgang til root-kontoen på dit system, så bed din systemadministarator om dette og fortæl ham eller hende om denne manual. Idet skrifttype-emnet er for komplekst til at blive dækket her, vil du måske ønske at konsultere Font HOWTO hvorfra jeg har taget følgende information. Du vil finde flere detaljer der.

#### Hvordan får man pænt skalerede skrifttyper på skærmen

TING

#### Hvordan får man rigtig udskrift

Mens &koffice; kan håndtere alle X11 skrifttyper automatisk på skærmen, kan udskrift være et problem: på de fleste systemer, gøres udskrift via ghostscript. Selvom &koffice; kender navnene på de skrifttyper der burges af X Windows, kender den normalt ikke skrifttypenavnene der bruges af ghostscript. &koffice; prøver at gætte disse navne, hvilket uheldigvis ikke altid virker.

Dette problem kan løses, selvom det ikke er så let igen. Rent faktisk bruger du måske en distribution som har gjort det meste af arbejdet for dig allerede (så hvis du ikke har grund til at klage over udskrift kan du springe over dette afsnit). Det du skal gøre er at fortælle ghostscript hvordan der skal oversættes mellem de (gættede) skrifttypenavne som &koffice; bruger og dens egne skrifttypenavne. Dette kan gøres ved at tilføje linjer til en fil der hedder `Fontmap`. En alias-linje i `Fontmap` ser ud som følgende eksempel:

##### Et alias i ghostscript Fontmap

    /Algerian-Roman /Algerian       ;

Bemærk at et mellemrum inden ';' er obligatorisk. I dette eksempel er Algerian-Roman navnet som &koffice; bruger for Algerian. Du skal tilføje sådanne linjer for alle skrifttyper som &koffice; ikke viser på rigtig vis. For at lette denne opgave, har Donovan Rebbechi skrevet et Perl-script som du finder på http://pegasus.rutgers.edu/~elflord/font_howto/kwdfont. Antag at du har en skrifttypesfil som hedder `/usr/share/ghostscript/fonts/fontfile.ttf`, nu skriver du ``kwdfont` `/usr/share/ghostscript/fonts/fontfile.ttf`` for at få rigtige aliasser. Scriptet skulle virke i de fleste tilfælde. Som tidligere nævnt bør du tage et kig i Font HOWTO for nøjagtigere og mere dybtgående information.

### Brugerindstilling af &koffice; &GUI;

Selvom &koffice; kommer med en grafisk brugerflade &GUI; (graphical user interface) der skulle passe til de flestes behov, er der gode grunde til at du måske ønsker at ændre den måde programmerne ser ud.

Min mor, for eksempel, er lidt bange for knapper og menuindgange hun ikke forstår. For at skræddersy &koffice; til hendes behov, reducerede jeg &GUI; til et rent minimum af funktionalitet. Hun har kun behov for at skrive breve og bruge visse skabeloner, så der er ikke brug for meget andet end at kunne gemme, indlæse, udskrive &etc;

Takket være action-begrebet i &Qt; og &kde;, kan du frit brugerindstille &koffice;'s menulinjer og værktøjslinjer. Uheldigvis er der ikke en nem-at-bruge dialog til at gøre dette for øjeblikket. &koffice; opbevarer sin &GUI;-indstilling i &XML;-filer og du vil skulle redigere disse. Forhåbentlig vil denne situation ændre sig i fremtiden; for nu har du brug for basal viden om hvordan et &XML;-dokument virker (eller HTML, som er en delmængde af &XML;). [action-begrebet skal diskuteres i større detalje -- kt.]

Normalt har hvert &koffice;-program mindst to af disse &XML;-filer: én der beskriver &GUI; fro skallen (dette er mere eller mindre det du ser hvis der ikke er noget åbnet dokument) og én der beskriver &GUI; for de forskellige dele (det er du normalt ser). For eksempel for &kword;, hedder disse to &XML;-filer `kword_shell.rc` og `kword.rc`.

Her er et simpelt eksempel på sådan en rc-fil.

#### Et eksempel på en simpel rc-fil

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

## Hvordan får man flere oplysninger

### Andre &koffice;-håndbøger

For detaljeret information om de forskellige &koffice;-programmer, bedes du venligst konsultere deres respektive håndbøger.

### Link

Følgende link skulle være nyttige hvis du kigger efter mere information om &kde; eller &koffice;.

- &koffice;-hjemmesiden. Her kan du finde information om hvordan man får fat på og installerer &koffice;, nyheder om &koffice; udvikling, skærmaftryk &etc;

- KDE's hjemmeside. KDE er det mest avancerede og absolut frie desktopmiljø for unix-lignende operativsystemer. &koffice; gør brug af &kde;-bibliotekerne.

- Troll Tech. Skaberne af C++-værktøjspakken &Qt;. &kde; og &koffice; gør brug af &Qt;.

## Programmering af &koffice;

### Indledning

Hvis du ønsker at deltage i &koffice;-udvikling, er følgende ressourcer måske af interesse:

- På http://developer.kde.org vil du finde mange dokumenter om programmering med &Qt; og &kde;. Her kan du finde online-versionen af den fuldstændige &kde; biblioteks-dokumentation.

- I &koffice;-kilderne vil du finde et eksempel-program i `example`-mappen.

## Ophavsret og licens

&koffice; er resultatet af den fælles indsats af mange udviklere. Hver kildefil for &koffice; har ophavsret ved de mennesker som skrev denne specielle fil og deres navne kan findes ved starten af hver kildefil med den licens der gælder for vedkommende kildefil. Navnene på kerneudviklerne kan findes på http://www.koffice.org/people.php.

Denne håndbogs ophavsret tilhører Jost Schenck. Den kan frit distribueres, når blot ophavsret-notitsen er inkluderet. Du kan ændre den når blot du sender ændringerne eller sender dem ind via &kde; CVS. Jeg vil ikke være retsligt ansvarlig for noget der skyldes brugen af denne håndbog.

De andre &koffice;-håndbøger har ophavsret ved deres respektive forfattere.

&underFDL; &underGPL;

## Installation

### Systemkrav

For at kunne installere og bruge &koffice; skal du have:

- Et fungerende &UNIX;-system (for eksempel, &Linux; eller BSD) med en indstillet &X-Window; (for eksempel, XFree86 eller X.Org).

- &Qt; 3.3-bibliotekerne fra Trolltech. Se www.trolltech.com for mere information.

- K-desktopmiljøet 3.3 (&kde; 3.3). &koffice; kan ikke kompileres med tidligere udgaver af &kde;. Information om at få fat på og installere &kde; kan findes på: &kde-http;

- Tilladelse til at installere software på din computer. Hvis du er på et alenestående system, skulle dette ikke være noget problem. Hvis du imidlertid bruger en netværks-computer, så tjek først med din administrator.

Bemærk venligst at, mens du skal have &kde; 3.3-bibliotekerne (eller nyere) på dit system, kan du stadig bruge &koffice; i et andet desktopmiljø (for eksempel, XFCE eller GNOME).

Hvis du planlægger at kompilere &koffice; fra kildekode vil du også få brug for:

- `automake` 1.6.1 eller senere. Denne kan downloades fra: ftp://ftp.gnu.org/pub/gnu/automake/

- `autoconf` 2.53 eller senere. Denne kan downloades fra: ftp://ftp.gnu.org/pub/gnu/autoconf/

- En C++ compiler som understøtter undtagelser, helst en nylig udgave af GCC. (Se http://gcc.gnu.org for info om at få fat i den og installere den.)

- Troll Tech's &Qt; 3.3's udviklingspakker. Hvis disse pakker ikke er installeret på dit system og de ikke er inkluderet i distributionen af dit operativsystem, vil du formodentlig måtte kompilere &Qt; fra kilden. Disse kilder kan du få fra http://www.trolltech.com/download/index.html.

Når du har afgjort at dit system tilfredsstiller disse krav, skal du afgøre om du ønsker at kompilere kildekode eller installere fra præ-kompilerede binære pakker.

Hvis du ønsker at få fat i den nyeste binære udgave af &koffice;, kan du finde mere information ved at følge dette link: Få fat i binære pakker.

Hvis præ-kompilerede binære filer ikke findes for dit system, kan du downloade kildekode og kompilere den selv. Instruktioner om hvor man får fat i den nyeste kildekode (og hvad man skal gøre med kildekoden når først man har den) kan findes ved at følge dette link: Få fat i kildekode.

Se venligst &koffice;-hjemmeside for flere detaljer. Det er der du altid kan finde den mest opdaterede information både om kildekode og binære distributioner!

### Få fat i binære pakker

Du kan downloade de nyeste binære filer fra:

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

eller fra et af de mange spejle. Listen af spejl-steder kan findes på:

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

Det er vigtigt at du bruger en binær pakke som er kompatibel med dit system. Hvis du bruger &Linux; operativsystemet og ikke kan finde en binær pakke på &koffice;' hjemmeside eller et af dets spejle, vil du måske kunne få fat i én fra din distributions hjemmeside.

### Fra binære pakker

For at &koffice; fra prækompilerede binære, skal du:

1. Sørge for at din computer har al den krævede software installeret og i fungerende tilstand (bortset fra &koffice; naturligvis). Du kan finde systemkravene ved at følge dette link: Systemkrav.

2. Download den &koffice;-binære i en midlertidig mappe.

3. Hvis filnavnet ender med `.rpm` (&RedHat; Pakkehåndteringsfil), kan &koffice; installeres med følgende kommando:

       $rpm-U filename

   Hvis filnavnet ender med `.deb` (Debian Package file), kan &koffice; installeres med følgende kommando:

       $ dpkg-i filename

   Hvis filenavnet ender med `.tar.gz` eller `.tgz` (en tarball-fil), kan &koffice; installeres med følgende kommandoer:

       $ cd /
       $ tar -xzvf filnavn

   I disse eksempler skal filename erstattes med det fuldstændige navn på pakken inklusive den fulde sti hvis du ikke er i den mappe hvor filen blev gemt.

4. Det er det hele. &koffice; skulle nu være installeret på dit system.

Hvis du har en grafisk forende til pakke-håndtering, såsom &kpackage; eller GnoRPM, installeret på dit system, vil du måske finde det behageligere at bruge det end en kommandolinje. Konsultér programmets dokumentation for at finde ud af hvordan man installerer med det.

### Få fat i kildekode

Du kan downloade den kildekoden fra: http://koffice.kde.org/ eller fra et af de mange spejl-steder. Listen af spejl-steder kan findes på:

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

### Fra kildekode

Hvis du ønsker at bygge &koffice; fra kildekode skal du:

1. Sørge for at din computer har alle den krævede software installeret og i fungerende tilstand (bortset fra &koffice; naturligvis). Du kan finde systemkravene ved at følge dette: Systemkrav.

2. Download &koffice;-kildekoden i en midlertidig mappe.

3. Hvis filnavnet ender med `.src.rpm` ('&RedHat; Package Management'-fil), kan kildekoden for &koffice; installeres med:

       $ rpm-U filename

   Hvis filenavnet ender med `.src.tar.gz` eller `.src.tgz` (en tarball-fil),kan kildekoden for &koffice; installeres med:

       $ tar -xzvf filename

4. Kildekoden for &koffice; skulle nu være installeret på dit system.

&documentation.index;