Voiko tehdä html-sivulle nappulaan koodipätkän, joka tulostaisi sivun ilman kuvia??
voiko käyttää hyväksi seuraavaa?
javascript:printpage()...
Tiedoston avaus:
https://www.php.net/manual/fi/function.fopen.php
Tagien poisto:
https://www.php.net/manual/fi/function.strip-tags.php
Tai ihan CSS:llä teet tulostukselle oman tyylitiedoston, johon laitat vaan tylysti img { display: none }.
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!
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ä.
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 :)
Nimpal kauhian helpolla pääsee myös käyttämällä "tavallisessa" tyylitiedostossa @media sääntöä.
@media print{ img{ display: none; } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.