Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: html-sivun tulostus ilman kuvia???

Jantse [28.07.2005 10:12:10]

#

Voiko tehdä html-sivulle nappulaan koodipätkän, joka tulostaisi sivun ilman kuvia??

voiko käyttää hyväksi seuraavaa?
javascript:printpage()...

Lebe80 [28.07.2005 11:42:03]

#

Tiedoston avaus:
https://www.php.net/manual/fi/function.fopen.php

Tagien poisto:
https://www.php.net/manual/fi/function.strip-tags.php

Olga [28.07.2005 11:56:49]

#

Tai ihan CSS:llä teet tulostukselle oman tyylitiedoston, johon laitat vaan tylysti img { display: none }.

Jantse [28.07.2005 15:58:18]

#

jooo..? Siis jos käytän vaikka Olgan ehdotusta niin pitääkö sivu ensin tulostaa näytölle kuvattomana vai voi tuon kuvien näkymättömyyden vain antaa jotenkin tulostus komentoon?
Olisi tärkeää että näytöllä näkyy kuvat, mutta samalla html-sivulla olevasta nappulasta painamalla ei tapahtuisi muuta kuin printteri sylkäisisi sivun poislukien kuvat..

Kiitoksia vastauksistanne ja vielä jos saisi pientä lisäinformaatiota!

Heikki [28.07.2005 16:33:50]

#

Voit tehdä jotenkin näin:

<?php
// Jos sivulle tullaan index.php?kuvat=0 niin käytetään tyylitiedostoa jossa kuvia ei näytetä
$kuvat=$_GET['kuvat'];
if ($kuvat==0)
 echo "<link rel='stylesheet' href='tulostin.css' type='text/css'>";
else
 echo "<link rel='stylesheet' href='normi.css' type='text/css'>";

?>

Ja CSS-tiedostoista tulostin.css sisältää tuon Olgan antaman img { display:none; } koodin.

Tulostusta varten voidaan sitten ohjata sivulle sivu.php?kuvat=0 kun muuten käytetään sivua sivu.php.

Toinen vaihtoehto on käyttää CSS2:n mediatyyppejä, jolloin selain valitsee eri CSS-tiedoston näytölle ja tulostukseen. Haittapuolena toimivuus eri selaimilla ei välttämättä ole ihan yhtä hyvä (en tiedä). Mediatyypeistä voi lukea vaikka täältä.

Tempfile [28.07.2005 16:49:42]

#

Minä olen ainakin tuon print-mediatyypin havainnut toimivaksi, ainakin IE ja Firefox sitä tuntuvat noudattavan. Selitän tuon Olgan mainitseman metodin tarkemmin. Käytännössä siis määritellään kaksi eri stylesheettiä, ja kerrotaan selaimelle "media"-parametrilla mihin niitä käytetään. Tämä siis tapahtuu täysin automaattisesti, käyttäjän ei tarvitse klikata/säätää/rukoilla mitään jotta sivu tulostuisi oikein (tässä tapauksessa siis kuvia sisältämättömänä). Kannattanee siksikin laittaa sivuun jonkinlainen huomautus siitä millä lailla tulostettava sivu eroaa ruudulla näkyvästä, muuten sivujen käyttäjä saattaa yllättyä vähemmän iloisesti jos hän halusi tulostaa juuri nuo sivuilla näkyvät kuvat.

...
<head>
  <link rel="stylesheet" media="screen" type="text/css" href="CSSjotahaluatkäytettävännäytöllä" />

  <link rel="stylesheet" media="print" type="text/css" href="CSSjotahaluatkäytettäväntulostuksessa" />

</head>
...

Noiden pätkässä olevien stylesheettien sisällön ovatkin jo muut sisältäneet, eli siis kuvat pois jättääksesi kopioi tuohon print-stylesheettiin tuon normaalin stylesheetin sisältö, ja sen jälkeen lisää sinne tuo img { display: none; } (tai muokkaa siellä jo ennestään olevia merkintöjä)

Huom. Selain käyttää tuota print-stylesheettiä myös tulostuksen esikatselussa, joten turha tuhlata paperia testaamiseen :)

wwwapu [28.07.2005 21:00:47]

#

Nimpal kauhian helpolla pääsee myös käyttämällä "tavallisessa" tyylitiedostossa @media sääntöä.

@media print{

	img{
		display: none;
	}
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta