Seite 1 von 1

Druckerfreundliche Seiten in der Druckvorschau anzeigen

Verfasst: Do 16. Mär 2006, 11:20
von cornflakes
Hi,

ich möchte die Seiten, die ausgedruckt werden können nicht einfach per Druckdialog des Browsers drucken, sondern vorab eine um unnötige Elemente wie Header, Footer, Navigation etc. HTML Seite als Vorschau anzeigen. Auf Javascript möchte ich verzichten daher habe ich mir folgenden Lösungsansatz ausgedacht:

Zunächst werden zwei css Dateien erstellt, eine für den Bildschirmbereich "screen", die zweite für den Druck "print". Diese beinhaltet die "Bereinigung". Auf diese Weise ist nun sichergestellt, dass die Inhalte beim Drucken bereits Druckerfreundlich optimiert werden.

Ich möchte jedoch die Seite wie erwähnt in einer Vorschau zeigen, damit der User sieht, was er druckt! Aus diesem Grund greife ich auf eine einfache PHP Lösung zurück:

Vor dem HTML Quellcode setze ich folgenden PHP Code:

Code: Alles auswählen

<?php
//Prüfen ob die Variable existiert//
if(isset($_GET[action])){

//Prüfen ob der Wert für den Druck korrekt übermittelt wurde//
if($_GET[action] == "print"){
$style = "css/druck.css";
}
//Prüfen ob der Wert für den Druck eventuell per Browserzeile editiert oder manipuliert wurde//
else{
$style = "css/screen.css";
}
}
//Anweisung wenn $_GET[action] nicht existiert//
else{
$style = "css/screen.css";
}
?>

Der Link für die css Datei des Bildschirms wird mittels

Code: Alles auswählen

<?php echo $style;?> 
ausgeben.
Der Aufruf der Seite erfolgt mittels auslesen der URL Parameter inkl. hinzufügen der Variablen action. Ich habe es lokal getestet und es scheint zu funktionieren.

Da ich jedoch kein PHP Guru bin, möchte ich Euch hier fragen, ob ich irgendwo einen Denkfehler habe oder etwas nicht berücksichtigt wurde. Ich denke eine Lösung in der die Druckvorschau statt des Browserdruckdialogs angezeigt wird, interressiert einige.

Vielen Dank für Eure Hilfe!

Re: Druckerfreundliche Seiten in der Druckvorschau anzeigen

Verfasst: Do 16. Mär 2006, 12:07
von Halchteranerin
cornflakes hat geschrieben:Ich möchte jedoch die Seite wie erwähnt in einer Vorschau zeigen, damit der User sieht, was er druckt! Aus diesem Grund greife ich auf eine einfache PHP Lösung zurück
Ich verstehe den Sinn des Mehraufwands nicht. Wenn du schon mit css und print/screen arbeitest, dann wird doch in der Druckvorschau des Browsers genau das gezeigt, was spaeter gedruckt wird. Wozu der Zusatz?

Verfasst: Do 16. Mär 2006, 12:38
von cornflakes
Hallo,

wenn jedoch der Druck mittels self.print(); etc. angestossen wird, erscheint lediglich der Druckdialog des Browsers. Hier muß der User sich die Vorschau manuell ansehen. Diesen Schritt möchte ich ihm abnehmen und die Seite die tatsächlich gedruckt wird öffnen.

Korrigiere mich wenn ich auf der Leitung stehe :roll: