Avatar billede tlunde Nybegynder
25. oktober 2005 - 13:44 Der er 13 kommentarer og
1 løsning

Printervenlig side, udskriv kun tabel?

Hejsa,
Jeg har en side med masser af annoncer, artikler og interviews, hvor jeg gerne vil lave en printervenlig version.

For eksempel, har jeg lavet alle interviews i en tabel for sig selv, kan det lave sig gøre, kun at printe denne tabel ud?

Hele interviewet ligger inden i:
<table>
Interview tekst
</table>

Kan det lade sig gøre, kun at printe alt ud der er i denne tabel? På denne måde, printer man kun artiklen ud nemlig, og ik al andet udenom som menu og andet grafik...

/tlunde
Avatar billede macintosse Nybegynder
25. oktober 2005 - 13:54 #1
Avatar billede macintosse Nybegynder
25. oktober 2005 - 13:55 #2
Avatar billede tlunde Nybegynder
25. oktober 2005 - 14:02 #3
Har kigget lidt rundt, men syntes ik rigtigt at der er noget der passer på mit problem. Ved i hvert fald ik lige hvordan jeg skal smelte det sammen...
Avatar billede roenving Novice
25. oktober 2005 - 15:05 #4
Prøv at kigge på denne så: http://www.eksperten.dk/spm/551671 !-)
Avatar billede electricnet Nybegynder
25. oktober 2005 - 18:21 #5
Du kan sætte et ekstra print CSS ind ved at putte dette i headeren:

<link rel="stylesheet" href="link/til/css.css" type="text/css" media="print">

Og i den fil skrive:

* { display:none; }
table.forprint { display:block; }

Så skal du også give give din table en class, i dette tilfælde "forprint", men du kan selvfølgelig selv bestemme.

net.
Avatar billede jesper-moeller Nybegynder
25. oktober 2005 - 19:57 #6
Du kan prøve at se på denne lille CSS print toturial

http://www.GoLiveCentral.com/pages/txttut/printCSS.html
Avatar billede steven_ Nybegynder
25. oktober 2005 - 20:49 #7
Da det er flyttet fra PHP-kategorien til dette, tillader jeg mig alligevel at svare med PHP som programmeringssprog :)

Jeg vil tro, at det smarteste ville være at hive indholdet ud med en file_get_contents-funktion.

[code]
$html = file_get_contents("http://thomaslunde.dk/" . $_GET['url']);
preg_match("/<table id="article">\s(.+)</table>/is", $html, $headline);

echo $headline;
[/code]

Så kunne det jo være smart, at på alle dine sider, som du ønsker skal kunne ses i printervenlig format, indsatte et link der virkede således:

<?="<a href=\"printervenlig.php?url=" . $_SERVER['PHP_SELF'] . "\">Printervenlig format.</a>";?>

// Steven
Avatar billede tlunde Nybegynder
26. oktober 2005 - 12:23 #8
steven:
Har lavet en fil der hedder printervenlig.php, og den indeholder kun:
<?php
$html = file_get_contents("http://selvhjaelp.dk/" . $_GET['url']);
preg_match("/<table id="article">\s(.+)</table>/is", $html, $str);

echo $str;
?>

Derudover har jeg smidt denne kode helt i toppen af den fil hvor jeg gerne vil kunne printe artiklen ud:
<?
include("../printervenlig.php");
?>

og linket til printervenlig ser sådan her ud:
<?="<a href=\"../printervenlig.php?url=" . $_SERVER['PHP_SELF'] . "\">Printervenlig format.</a>";?>

Er der noget fejl i dette?
Avatar billede steven_ Nybegynder
26. oktober 2005 - 12:40 #9
De skal IKKE inkluderes.

Hele idéen er at på dine normale sider skal du linke til den printervenlige side, og vi skal sørge for at lave en variabel i URL-adressen, så vi på den printervenlige side, kan vi hvilken side vi vil have vist pænt.

Du kan kigge på:

http://gandso.com/pub/tlunde.php
Avatar billede tlunde Nybegynder
26. oktober 2005 - 13:40 #10
steven:
Det kode du linker til der, er det bare den kode du foreslog skulle være i printervenlig.php? Og så linke sådan her på de sider der skal printes:
<?="<a href=\"../printervenlig.php?url=" . $_SERVER['PHP_SELF'] . "\">Printervenlig format.</a>";?>
Avatar billede electricnet Nybegynder
26. oktober 2005 - 17:04 #11
Hmm .. jeg vil dog mene at en CSS løsning er smartere end en PHP løsning, da du ikke skal lave seperate filer, og du ikke skal sørge for at folk skal trykke på et "printervenlig format" link før de kan printe ud. De fleste trykker jo bare på printikonet når de er på den "ikke-printervenlige side", med CSS er det meningen at de skal gøre sådan, og ikke gå til en anden side først. ;)

net.
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 18:13 #12
Jeg mener også helt klart at CSS løsningen er at foretrække... som løsning nr 1
Hvis der skal være en speciel printvenlig version tilrådighed vil jeg til enhver tid foretrække det er et PDF man kan downloade, fremfor en html side speciel til print...
Det sidste er simpelthen for meget unødigt arbejde... og ikke halvt så let at vedligeholde som en CSS løsning...
Med CSS skal du ikke lave 2 versioner og skal du rette på noget  skal du kun rette et sted

PS:
En god brede for udskrift er ca650px, så burde siden blive inden for breden af et a4 (i print CSS'en sæt siden eller det element der skal printes til 650px)
Avatar billede electricnet Nybegynder
26. oktober 2005 - 18:29 #13
jesper-moeller > Hvis du bruger den PHP løsning som er nævnt før på denne side, så vil jeg ikke sige at det er svært at vedligeholde, idet den tager en del af originalsiden, og PHP siden bliver automatisk ændret. Så meget arbejde er det trods alt ikke. Det mit hovedargument er at det er besværligt for brugeren at vedkomne skal finde ud af at han først skal klikke på "printervenlig" før han/hun kan skrive ud. Og ikke nok med det, de skal klikke på det hver gang de skal printe noget ud.

Og så er CSS jo også rigtig, rigtig nemt at vedligeholde. Dog mener jeg ikke at du behøver at vælge bredde til siden i et print style sheet, jeg mener det er bedst at den tilpasser sig papirets bredde, hvis du laver bredde på er det jo ikke godt hvis det bliver printet ud i et mindre format end ventet.

net.
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 18:48 #14
electricnet>>
Nu er jeg langt fra den store PHP haj... så den del tør jeg ikke blande mig for meget i...

men det andet kan jeg give dig medhold i.... Jeg bruger helst browserens print funktion...

Det med brede var også ment som en lille hjælpeoplysning som man jo kan bruge efter behov (Hvis brugeren har standartindstillinge i sin brovser vil en fontstørelse på 100% og en brede på ca 650px svare til en A4 )... og rigtigt ikke godt hvis pairet er for småt....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester