"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:lkk56199apinnemvkjg4u57jjc4f49ci93@4ax.com...
> On Sun, 17 Apr 2005 19:20:22 +0200, "Johnny Winther Ronnenberg"
> <johnny.winther@XYZ789tdcadsl.dk> wrote:
>
> >Mig bekendt er det ikke lykkedes nogen endnu, du kan ændre på sidens
> >udseende og udelade billeder, bagrunde, definere farver og
> >skriftstørrelser. Men at definere hvorledes printer driveren skal afkode
og
> >fortolke siden linie for linie er det ikke muligt pt. via HTML, CSS eller
> >Scripting.
>
> Nu ikke så negativ
> Jeg er enig i, at det ikke er nemt at få en *god* løsning - og
> specielt er MS Internet Explorer ikke særlig god til udskrift.
>
Den ene del af problemet er at CSS2 ikke er implementeret i IE, enig.
> Men det betyder ikke, at man ikke kan gøre *noget*. Også med HTML.
>
> Som Ricky skriver:
> ---------
> Prøv at lege lidt med dette:
> <p class="breakhere"></p>
> P.breakhere {
> page-break-before: always
> }
> ---------
>
> - skal vi have fat i 'page-break-before'. Om det så lige er til et
> "p", et "tr" eller hvad, afhænger af opgaven.
>
> En løsning, jeg har brugt nogle gange er:
> 1) Lad en tæller i ASP tælle op til det antal rækker, man vil have på
> en side (her må man eksperimentere - hellere for få linier end for
> mange).
> 2) Indsæt en tom række med ovennævnte CSS-egenskab:
> <tr style="page-break-before:always;">
> <td colspan="-whatever-">
> <p> </p>
> </td>
> </tr>
> - eller afslut tabellen og start en ny. (MSIE har det svært med at
> dele i tabeller).
> 3) Nulstil tæller og fortsæt med de næste rækker.
>
> Løsningen er ikke optimal - den tager fx ikke højde for, at folk
> (klienten) bruger forskellige skrifttyper og -størrelser. Og det må
> man jo så give folk en advarsel/vejledning vedrørende.
>
Fontstørrelser, predefinerede printer margener, og så forstår IE ikke
rigtigt @page ideen, som ellers er en rigtig god ide. Hvilket præcist var
grunden til mit svar.
Der kører pt en længere tråd i en af de andre webdesign grupper netop om at
styre printeren blandt andet margener.
> Men det kan altså lade sig gøre, hvis kravene ikke er for kritiske.
>
Det er her problemet opstår, vi vil alle gerne have en perfekt løsning, men
det er stort set umuligt. Jeg kender problemet fra intranet udvikling, så
derfor ved jeg også, at det der fungere når man sender en side til en
printer, ikke virker når man sender det til en anden.
> Man kan optimere det hele en del ved at lave separate stylesheets til
> skærm (media="screen") og til udskrift (media="print").
> Kunsten er at bruge relative størrelses-angivelser på skærmen og
> absolutte (pt) på papir + at bruge samspillet mellem de to til at
> bestemme hvilke elementer, der skal vises på hhv. skærm og udskrift.
>
Media og dobbelte sheets er en udmærket løsning hvis ellers det bliver
fortolket rigtigt.
> <snip Word som alternativ>
> Et andet alternativ, som *kan* styres, er selvfølgelig at bruge ASP
> til at generere en PDF-fil. Det er heller ikke uproblematisk, men til
> gengæld er resultatet oftest betydeligt bedre.
>
Det er jeg enig i, men det forudsætter at PDF filen er konstrueret rigtigt
eller får man også nogen underlige udskrifter
> >jeg vil anbefale dig at droppe at
> >kontrollere udskriften, det vil ikke give dig andet en sorger.
>
> Sorger, ja - men måske i nogle tilfælde også et brugbart resultat
>
Men efter at set problemet i praksis på et intranet hvor der kun var IE 5.0,
5.5 og 6.0 og hvor der stort set kun var HP printere af variende alder og
model. Så ved jeg, at resultatet sjældent bliver særligt brugbart, i al fald
ikke, hvis man forventer en trykvalitet som den man får fra f.eks. Word.
For udskrifter har man grundlæggende set, de samme problemer som man har ved
meget stramt definerede hjemmesider, der på pixel niveau er lavet til en
given skærmstørrelse, fuldt maksimeret, i en bestemt browser. Det ser ud vil
at virke, det gør det bare ikke i virkeligheden.
Med venlig hilsen
Johnny Winther Ronnenberg