aantal pixels bereken met php

Status
Niet open voor verdere reacties.

migthy84

Gebruiker
Lid geworden
13 okt 2009
Berichten
580
Het probleem is zo. Op dit moment ben ik bezig met het maken van een print module. Wanneer ik op print druk in mijn systeem wil ik er voor zorgen dat er een mooi a4tje uit komt. Het probleem is echter de opbouw van de website heel veel uit de database komt. Waardoor ik eigenlijk nooit "vaste waardes " in kan stellen alles in div te plaatsen kan je de breedte afvangen van het geheel. door max-width in te stellen. De max-height niet. Wanneer de pagina te klein is dient de printer gewoon verder te gaan op pagina 2 ,3 hoeveel er nodig zij

Weet iemand of er een methode is php is dat kan bereken hoelang de komst word van string is op pixel niveau is.
Welke locatie(point) de string is. Zodat ik kan berekenen hoeveel papier er nog is
 
Met PHP gaat dat niet lukken, alle layout gerelateerde zaken worden geregeld door de browser en je HTML/CSS...

Maar je kunt gewoon een pagina uitprinten hoor, het systeem zal automatisch doorgaan op de volgende pagina als de eerste vol is.
 
Met PHP gaat dat niet lukken, alle layout gerelateerde zaken worden geregeld door de browser en je HTML/CSS...

Maar je kunt gewoon een pagina uitprinten hoor, het systeem zal automatisch doorgaan op de volgende pagina als de eerste vol is.

oke ,maar het probleem is dat ik wel rekening moet houden met kop en voetteksten en niet alles op de pagina dient uitgeprint te worden wat ik op het beeld zie. ,maar ik denk dat wel te regelen is. Is de print functie beter van javascript of van php zelf.
 
Sowieso wil je niet de print functie van PHP gebruiken want dan wordt de pagina uitgeprint op je server :P Dat is opzich wel handig om er even bij te vermelden.

Je moet het in Javascript doen, of door de gebruiker laten regelen.

Je kunt een speciale CSS sheet opnemen overigens die gebruikt wordt voor printen, zie hier:
http://www.javascriptkit.com/dhtmltutors/cssmedia.shtml

Op die manier kun je de pagina printervriendelijk maken voor mensen die em uit willen printen.
 
Jep ,zo ver ik kan vinden heeft java een vrij robuuste print manier . Erg jammer, ik wil delen van een pagina gewoon er uit kunnen slopen. Zo ver ik kan vinden kan je de print functie niet zo aanroepen at hij alleen bepaalde divs mee neemt. Het is namelijk niet handig om mijn menu uit te printen.
 
Dat kan dus wel met (zoals Frats al zei) een print stylesheet.

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

En in print.css zet je dan bijvoorbeeld:

Code:
#menu {
  display:  none;
}
 
Precies! :)

Nog wat aanvulling: er zijn in principe twee manieren om een print-stylesheet op te roepen:
1. Een print-stylesheet met alleen de veranderingen t.o.v. de normale styles. Dan komt er in de <head>:
HTML:
<link rel="stylesheet" type="text/css" href="http://www.jedomeinnaam.nl/stylesheets/algemeen.css">
<link rel="stylesheet" type="text/css" media="print" href="http://www.jedomeinnaam.nl/stylesheets/print.css">
Het print-stylesheet moet als laatste, want (bij een printopdracht): de laatst genoemde CSS wint!

2. Een volledig eigen print-stylesheet gebruiken, los van de normale screen-styles. Dan komt er in de <head>:
HTML:
<link rel="stylesheet" type="text/css" media="screen" href="http://www.jedomeinnaam.nl/stylesheets/algemeen.css">
<link rel="stylesheet" type="text/css" media="print" href="http://www.jedomeinnaam.nl/stylesheets/print.css">
Nu worden bij een printopdracht alle gewone styles helemaal niet gebruikt.
  • Voorbeeld van de laatste mogelijkheid: www.aowomhoog.nl/jongeren/.
    Klik op Bestand > Afdrukvoorbeeld, en je ziet wat het print-stylesheet (dit) ervan maakt:
  • alle menu-troep verdwenen,
  • alle achtergrond-kleuren en plaatjes verdwenen (inkt-eters!),
  • alle tekst in zwart/wit,
  • de url van de website + aangepast logo toegevoegd (voor wie de pagina los in handen krijgt).
Met vriendelijke groet,
CSShunter

PS:
In het print-stylesheet moet je zeker vaste <div>-breedtes in px vermijden, anders kan iets alsnog van de pagina-breedte aflopen! Vaak is 't ook handig een aangepaste lettergrootte te gebruiken (dat kan ook in de van Word bekende punten, bv. {font-size: 11pt;}). Fixed font-size is bij printen minder een probleem, als de lettertjes maar niet te klein zijn. ;)

PS-2:
Als je via een javascript window.print() opdracht geeft tot printen, wordt ook automatisch het print-stylesheet gebruikt.
Gelukkig wel. :D
 
Met een beetje goede printer kun je dat toch alles passend laten afdrukken .
Daar heb je dan toch geen extra script voor nodig.
En als je divjes allemaal in procenten plaatst past het ook nog eens in iedere resolutie
 
inprincipe , wel. Ik wil er voor zorgen dat de "extra" item niet te zien bij het printen , elke pagina heeft een voettekst en koptekst. Ze mogen ook niet weten waar de pagina van daan komt. Ben nu vrij ver met de css er voor
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan