<chapter id="technical-overview">
<title
>Teknisk overblik</title>

<para
>Formålet med dette kapitel er at give et teknisk overblik af &kdeprint; som ikke-programmører kan forstå.</para>

<para
>&kdeprint; er et nyt og revolutionerende værktøj til at give adgang til udskriftsservicer både for &kde;-brugere og &kde;-udviklere.</para>

<sect1 id="brief-description">
<title
>En kort beskrivelse af &kdeprint;</title>

<para
>Du kan få adgang til &kdeprint;'s funktioner på forskellige måder: gennem udskriftshåndteringen i &kcontrol;, gennem <command
>kprinter</command
>-kommandoen eller gennem du dialoger der popper op hvis du ønsker at udskrive.</para>

<sect2 id="what-kdeprint-is-not">
<title
>Hvad det <emphasis
>ikke</emphasis
> er</title>

<para
>&kdeprint; er <emphasis
>ikke</emphasis
> en erstatning for selve udskrifts-undersystemet. &kdeprint; sørger altså <emphasis
>ikke</emphasis
> for udskriftskøen og den udfører <emphasis
>ikke</emphasis
> den basale behandling af &PostScript; eller anden udskriftsdata</para>

</sect2>

<sect2 id="what-kde-print-is">
<title
>Hvad det <emphasis
>er</emphasis
></title>
<para
>&kdeprint; er et mellemlag mellem køen og databehandlings-udskriftsundersystemet (som installeret), og programmet der prøver at udskrive. &kdeprint; giver en fælles grænseflade, for &kde;-udviklere og &kde;-brugere til forskellige understøttede udskrifts-undersystemer. På samme tid er den højst indstillelig både som standard og i brug.</para>

<para
>&kdeprint; er nem at bruge både for &kde;-udviklere og slutbrugere. Udviklerne kan overføre deres programmer med minimal ændringer til at bruge &kdeprint; i stedet for det gamle &Qt; udskrifts<quote
>system</quote
>. Brugeren kan nemt vælge og indstille deres udskrifts-undersystem.</para>

<para
>Som en reference til nye &kde;-brugere: &Qt; er det basale bibliotek og grafiske værktøj, som bruges af alle &kde;-programmer; &Qt; er udvikler af TrollTech, et norsk software-firma.</para>

</sect2>

</sect1>

<sect1 id="different-users">
<title
>&kdeprint; -- Forskellig brug for forskellige mennesker</title>

<para
>&kdeprint; har forskellige ansigter for forskellige folk.</para>

<sect2 id="what-users-can-do">
<title
>Hvad brugere og administratorer kan gøre med &kdeprint;</title>

<para
>&kdeprint; tillader brugere og/eller administratorer, afhængig af deres  rettigheder, at få adgang til udskrifts-undersystemer (&CUPS;, <acronym
>LPD</acronym
>, <acronym
>RLPR</acronym
>, <application
>LPRng</application
>, <application
>PDQ</application
> &etc;) gennem en grafisk &kde;-grænseflade (&GUI;). Ved brug af &kdeprint; kan de udskrive, administrere job, printere og printerdæmonen, alt på en behagelig måde.</para>

<para
>Erfarne brugere vil kunne lide muligheden for at stikke et fungerende filter for udskriftsdata mellem uddata fra deres program og inddata til det valgte udskrifts-undersystem. Nogle eksempler på dette leveres allerede med <quote
>almindelig</quote
> &kdeprint;. Læs videre.</para>

</sect2>


<sect2 id="what-developers-can-do">
<title
>Hvad &kde;-udviklerne kan gøre med det...</title>

<para
>Hvis en &kde;-udvikler har brug for adgang til udskrift fra sit program, behøver han/hun ikke indkode udskriftsfunktionerne fra bunden af. Før &kde; 2.2 blev denne service givet af <classname
>QPrinter</classname
>-klassen, en biblioteksfunktion fra &Qt;-værktøjssamlingen. <classname
>QPrinter</classname
>-klassen afhang af den forældede <quote
>Linje Printer Dæmon</quote
> (<acronym
>LPD</acronym
>). &kdeprint;-biblioteket baseres fast på det mere moderne "Common &UNIX; Printing System" (&CUPS;), mens den på samme tid bevarer bagud kompatibilitet med <acronym
>LPD</acronym
> og andre ældre eller mindre udviklede udskrifts-systemer. Den lader også <quote
>lader døren være åben</quote
> for nye udviklinger der måtte opstå.</para>

<para
>For at &kde;-udviklerne skal kunne bruge den nye &kdeprint;-klasse i deres programmer, kræves der blot minimale ændringer i deres kode: for hvert kald af <classname
>QPrinter</classname
>, skal de blot ændre dette til <classname
>KPrinter</classname
>. Erstatning af ét (!) bogstav nogle få steder, og så er de automatisk færdige; deres program kan nu bruge alle egenskaber i det nye &kdeprint; bibliotek.</para>

<para
>Mere ambitiøse udviklere, eller de der har specielle krav kan gøre mere: på trods af &kdeprint;'s egenskabsrige rammer, kan de stadigvæk brugerindrette udskriftsdialogen for deres program ved at lave et ekstra <quote
>Faneblad</quote
>, hvor deres udvidelse til standard-&kdeprint; vil kunne føle sig rigtig hjemme.</para>


<para
>Den sidstnævnte egenskab er ikke blevet brugt særlig meget indenfor &kde; indtil videre, da udviklerne endnu ikke er fuldt klare over &kdeprint;'s styrke. Forvent mere af dette i den nære fremtid. Et eksempel jeg opdagede er &kcron;-programmet. Det lader dig redigere crontab gennem et &GUI;. Udviklerne har implementeret en udskriftsegenskab der lader dig  (eller <systemitem class="username"
>root</systemitem
>) vælge om du ønsker at udskrive hele crontab (for alle brugere) eller blot den del der er markeret. Du kan se virkningen på &kdeprint; i følgende skærmbilleder.</para>

<para
>Dette billede giver et eksempel fra &kcron;-redskabet. <screenshot>
<screeninfo
>&kcron;-redskabet, et lille udvalg af et systems cronjobs som set gennem &kde;'s <acronym
>GUI</acronym
>&GUI;.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kcron_to_be_printed.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>&kcron;-udviklerne lader dig vælge at skrive hele cron tabellen ud eller blot den markerede del af den.</phrase
></textobject>
</mediaobject>
</screenshot>
</para>

<para
>Dialogen til at indstille &kcron;'s udskriftstilvalg: det ekstra faneblad der hedder <guilabel
>Cron-indstillinger</guilabel
> er indefra &kcron;, ikke &kdeprint;; det er en speciel udvidelse tilføjet af &kcron;-udviklerne til udskriftsformål, det kommer ikke fra, men udføres af &kdeprint;. Udviklere af andre programmer kan frit implementere deres egne ting, hvis de føler der er behov for det.</para>


<screenshot>
<screeninfo
>&kcron;'s tilføjelse til &kdeprint;-dialogen.</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_with_kcron_developer_special.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>&kcron;'s tilføjelse til &kdeprint;-dialogen.</phrase
></textobject>
<caption>
<para
>&kcron;'s tilføjelse til &kdeprint;-dialogen.</para>
</caption>
</mediaobject>
</screenshot>

</sect2>

<sect2>
<title
>Hvad &kdeprint; tilbyder til alle...</title>

<para
>&kdeprint;'s nem-at bruge grænseflade for alle understøttede udskrifts-undersystemer eliminerer naturligvis ikke de basale traditionelle svagheder i nogle af disse systemer. Men det glatter de rå kanter ud. Forskellige brugere kan bruge forskellige udskriftssystemer på den samme boks. En bruger står frit for endog at skifte udskrifts-undersystemet <quote
>midt i det hele</quote
>, fra udskriftsdialogen, for det næste job. (Dette er muligt hvis forskellige systemer er installerede på en sådanmåde at de ikke <quote
>går i vejen for hinanden</quote
>.)</para>

<para
>De fleste &UNIX;-brugere er vant til <acronym
>LPD</acronym
> udskrift. <acronym
>LPD</acronym
> giver kun meget basale udskriftsfunktioner, er meget ufleksibel og udnytter ikke de mange muligheder i mere moderne udskriftssystemer såsom &CUPS;. Selvom det også virker eksternt over en vilkårlig afstand (som enhver TCP/IP-baseret protokol), mangler<acronym
>LPD</acronym
> bi-direktionel kommunikation, godkendelse, adgangskontrol og krypteringsstøtte.</para>

<para
>&kdeprint; kan bruge &CUPS; til at understøtte:</para>

<itemizedlist>
<listitem>
<para
>Forespørgsel på <acronym
>LAN</acronym
> for tilgængelige printere,</para>
</listitem>
<listitem>
<para
>Basal-, Digest- og Certifikat-godkendelse,</para>
</listitem>
<listitem>
<para
>Adgangskontrol baseret på <acronym
>IP</acronym
>-adresser, netadresser, netmasker, vært- og domænenavne,</para>
</listitem>
<listitem>
<para
>og 128-Bit TLS eller SSL3 kryptering af udskriftsdata, for at forhindre hemmelige lyttere eller i det mindste at gøre det meget sværere.</para>
</listitem>
</itemizedlist>

<para
>Dette gør &kdeprint; en meget mere robust og troværdig løsning end at bruge den ærværdige <acronym
>LPD</acronym
>.</para>

</sect2>
<sect2>
<title
>Hvordan får man adgang til &kdeprint; </title>

<para
>Du får adgang til  &kdeprint; eller dele af den på fire forskellige måder:</para>

<itemizedlist>
<listitem
><para
>Gennem dine programmer: hvis du kalder udskriftsdialogen (enten <menuchoice
><guilabel
>Fil</guilabel
> <guilabel
>Udskriv...</guilabel
></menuchoice
>) eller knappen med den lille printerikon på; dette åbner udskriftsdialogen.</para
></listitem>

<listitem
><para
>gennem den skrevne kommando <command
>kprinter</command
> i et <application
>terminal</application
> eller et &konsole;-vindue eller fra <guilabel
>Kør kommando...</guilabel
> mini-<acronym
>CLI</acronym
>-vinduet: dette åbner også udskriftsdialogen.</para
></listitem>

<listitem
><para
>fra <inlinemediaobject
><imageobject
> <imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject
> </inlinemediaobject
>-knappen ved at starte &kcontrol;, og så gå til <menuchoice
><guilabel
>System</guilabel
><guilabel
>Udskriftshåndtering</guilabel
></menuchoice
>. Dette åbner for &kdeprint;-administration som en del af &kcontrolcenter; og også tillader dig at skifte til andre dele af &kcontrol;</para
></listitem>

<listitem
><para
>fra en kommandolinje (&konsole; eller mini-<acronym
>CLI</acronym
>) skrives <userinput
> <command
>kcmshell</command
> <option
>printmgr</option
></userinput
>. Dette åbner kun &kdeprint;-delen af &kcontrol; for at ændre din opsætning </para
></listitem>
</itemizedlist>
<screenshot>
<screeninfo
>&kprinter;-dialogen der vil blive startet fra <guilabel
>Kør kommando...</guilabel
>-vinduet</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter_called_from_run_command.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>Start af &kprinter;-dialogen fra et <guilabel
>Kør kommando...</guilabel
>-vindue.</phrase
></textobject>
<caption
><para
>Start af &kprinter;-dialogen fra et <guilabel
>Kør kommando...</guilabel
>-vindue.</para
></caption>
</mediaobject>
</screenshot>

<!-- TODO: This one ought to be a screenshot LW. --> <para
>Her er en &kivio;-tegning af &kprinter;-dialogen som den kommer frem efter den er startet... Du kan altid tilføje en ny  printer ved at klikke på den lille <guiicon
>Guide</guiicon
>-knap (markeret rød/gul i denne tegning).</para>
  
<screenshot>
<screeninfo
>&kprinter;-dialog startet (&kivio; kladdetegning) </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kprinter-kivio.png"
format="PNG"/></imageobject>
<textobject>
<phrase
>&kprinter;-dialog startet (&kivio; kladdetegning)</phrase
></textobject>
<caption
><para
>&kprinter;-dialog startet (&kivio; kladdetegning)</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:
-->
