Kann ich ein HTML-Dokument zwingen, eine Seite lang zu sein?

7

Ich erzeuge ein Dokument aus HTML. Gibt es eine Möglichkeit, die HTML-Seite als eine gedruckte Seite gerendert zu erzwingen?

Ich habe den Großteil der Seite mit den Tags <table> und <div> erstellt.

    
Joe Morgan 21.01.2009, 13:55
quelle

7 Antworten

9

Nicht genau, aber Sie können ein Druck-Stylesheet verwenden:

%Vor%

Um Schriftgrößen, Paddings usw. auf physikalische Einheiten wie "pt" (die niemals in einem Bildschirm-Stylesheet verwendet werden sollten) zu setzen, so dass es mehr oder weniger eine A4-Seite ist, wenn es in einem typischen gerendert wird Browser, mit typischen Schriftarten, mit einem folgenden Wind. Nichts ist garantiert, aber Sie können für den allgemeinen Fall optimieren.

Im Druck müssen Sie sich nicht so viele Gedanken über Schriftgrößeneinstellungen oder dpi-Einstellungen machen, aber Sie können immer noch nicht die Ränder des Browsers oder die tatsächliche Seitengröße (US Letter ist kleiner als A4) kontrollieren eine gute Menge wiggle Raum und testen Sie auf den wichtigsten Browsern.

    
bobince 21.01.2009, 14:11
quelle
7

Nein. Sie können nicht die Zoomstufe des Benutzers, die Druckereinstellungen, das Papierformat (verwendet er A4-Papier in Europa oder legal in den USA?) Und all die verschiedenen anderen Dinge, die die Druckerausgabe über HTML beeinflussen, steuern Das Beste, was Sie mit HTML tun können, ist, eine sehr einfache "druckerfreundliche" Seite zu erstellen und den Inhalt kurz zu halten. Alternativ können Sie ein PDF erstellen, mit dem Sie steuern können, wie es gedruckt wird.

    
Welbog 21.01.2009 14:01
quelle
2

Verwenden Sie PDF. Sie können viele Dinge wie Schriftgröße, Schriftart und viele andere Parameter erzwingen, aber jeder Browser kann entscheiden, dass sie sich nicht interessieren und verwenden, was auch immer sie wollen und so Ihre Vorbedingungen oder Entscheidungen verletzen. HTML ist nicht (wiederhole nach mir: ist NICHT) eine Darstellungssprache.

In vielen Fällen wird es meistens funktionieren, aber nichts ist sicher.

    
Keltia 21.01.2009 14:06
quelle
2

Sie können CSS verwenden, um die Seite zu formatieren und auf eine bestimmte Höhe / Breite zu setzen ... Es gibt ein gutes Tutorial hier .

    
Eppz 21.01.2009 14:01
quelle
2

Nein, aber Sie können die Druckansicht viel flüssiger gestalten, indem Sie wie oben vorgeschlagen eine spezielle CSS-Datei für Druckmedien verwenden.

Dann könnten Sie zum Beispiel zumindest verhindern, dass sich eine Tabelle über 2 Seiten erstreckt "page-break-before: always;" .

Und schließlich könntest du auch verwenden "display: none;" zu Elementen, die nicht wie Anzeigen, Navigationsleisten, überflüssig sind usw., um die Seite selbst kürzer zu halten (hoffentlich kurz genug für eine einzelne Seite).

Aber keine Garantie.

    
DMeier 21.01.2009 14:18
quelle
1

Sicher. Sie haben ein paar Möglichkeiten:

  • Konvertieren Sie Ihre Seite in ein großes Bild.
  • Konvertieren Sie Ihre Seite in PDF.
  • Stören Sie alle Ihre Benutzer mit einer Seite mit festen Dimensionen, die nach links und rechts scrollt, weil sie zu breit ist und es extrem schwierig macht, die Informationen zu transportieren.
Bombe 21.01.2009 14:01
quelle
0

Nein, es gibt keine Möglichkeit, den Druckertyp oder die Papiergröße zum Zeitpunkt des Renderns des HTML-Codes nicht zu kennen.

Mein einziger Vorschlag wäre, die Druckereigenschaften so einzustellen, dass der Inhalt zum Zeitpunkt des Druckens auf eine Seite skaliert wird.

    
cyberbobcat 21.01.2009 14:03
quelle

Tags und Links