browsingContext.print Kommando
Das browsingContext.print-Kommando des browsingContext Moduls erstellt eine paginierte Darstellung eines Dokuments in einem Kontext als PDF und gibt es als Base64-kodierte Zeichenkette zurück.
Syntax
/* With required parameters */
{
"method": "browsingContext.print",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f"
}
}
/* With required and optional parameters */
{
"method": "browsingContext.print",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"background": true,
"margin": {
"top": 2.0,
"bottom": 2.0,
"left": 2.0,
"right": 2.0
},
"orientation": "landscape",
"page": {
"width": 21.0,
"height": 29.7
},
"pageRanges": ["1-3"],
"scale": 1.5,
"shrinkToFit": false
}
}
Parameter
Das params Feld enthält:
backgroundOptional-
Ein Boolean, der angibt, ob Hintergrundfarben und -bilder in das resultierende PDF aufgenommen werden.
false: Hintergrundfarben und -bilder werden aus dem resultierenden PDF ausgeschlossen. Dies ist die Standardeinstellung.true: Hintergrundfarben und -bilder werden in das resultierende PDF aufgenommen.
context-
Eine Zeichenkette, die die ID des Kontexts enthält, der das zu druckende Dokument hat. Kontext-IDs werden von Befehlen wie
browsingContext.getTreezurückgegeben. marginOptional-
Ein Objekt, das die Seitenränder in Zentimetern angibt. Es kann die folgenden Felder enthalten:
bottomOptional-
Eine nicht-negative Zahl, die den unteren Rand spezifiziert. Der Standard ist
1.0. leftOptional-
Eine nicht-negative Zahl, die den linken Rand spezifiziert. Der Standard ist
1.0. rightOptional-
Eine nicht-negative Zahl, die den rechten Rand spezifiziert. Der Standard ist
1.0. topOptional-
Eine nicht-negative Zahl, die den oberen Rand spezifiziert. Der Standard ist
1.0.
orientationOptional-
Eine Zeichenkette, die die Seitenausrichtung spezifiziert. Sie kann einen der folgenden Werte annehmen:
"landscape": Die Seite wird im Querformat gedruckt."portrait": Die Seite wird im Hochformat gedruckt. Dies ist die Standardeinstellung.
pageOptional-
Ein Objekt, das die Seitengröße in Zentimetern angibt. Es kann die folgenden Felder enthalten:
heightOptional-
Eine Zahl, die die Seitenhöhe angibt. Der Wert muss größer oder gleich
0.0352(1 Punkt) sein. Der Standard ist27.94. widthOptional-
Eine Zahl, die die Seitenbreite angibt. Der Wert muss größer oder gleich
0.0352(1 Punkt) sein. Der Standard ist21.59.
pageRangesOptional-
Ein Array von Zahlen und Zeichenketten, die jeweils angeben, welche Seiten im resultierenden PDF enthalten sein sollen. Jedes Element im Array ist eines der folgenden:
- Eine Zahl, die eine einzelne Seite auswählt, wobei die erste Seite als Seite 1 zählt.
- Eine Zeichenkette, die einen Bereich auswählt, wie
"2-4". Jede Grenze im Bereich kann weggelassen werden. Wenn die untere Grenze weggelassen wird, wie bei"-3", bedeutet das Seiten 1 bis 3. Wenn die obere Grenze weggelassen wird, wie bei"5-", bedeutet das Seite 5 bis zur letzten Seite.
Wenn
pageRangesnicht angegeben ist, werden alle Seiten im resultierenden PDF eingeschlossen. scaleOptional-
Eine Zahl, die den Zoomfaktor angibt, der auf den Seiteninhalt angewendet werden soll. Der Wert muss zwischen
0.1und2.0liegen. Der Standard ist1.0. shrinkToFitOptional-
Ein Boolean, der angibt, ob der Seiteninhalt verkleinert wird, um in die Seitenbreite zu passen.
true: Der Inhalt wird verkleinert, um der Seitenbreite zu entsprechen, und überschreibt jede durch das CSS des Dokuments spezifizierte Seitenbreite. Dies ist die Standardeinstellung.false: Der Inhalt wird nicht verkleinert; jede durch das eigene CSS des Dokuments spezifizierte Seitenbreite wird stattdessen verwendet.
Rückgabewert
Das result-Objekt in der Antwort enthält die folgenden Felder:
data-
Eine Zeichenkette, die die Base64-kodierten PDF-Daten enthält.
Fehler
invalid argument-
Ausgelöst in jedem der folgenden Fälle:
- Ein erforderlicher Parameter fehlt oder hat einen ungültigen Typ.
- Ein Array-Element in
pageRangesist keine gültige Seitenzahl oder kein gültiger Bereich. - Ein Bereich in
pageRangeshat eine untere Grenze, die größer ist als die obere Grenze.
no such frame-
Kein Kontext mit der angegebenen
context-ID wird gefunden. unsupported operation-
Der Browser kann keine paginierte Darstellung des Kontexts erzeugen.
Beschreibung
Die Parameter page, margin, scale, und shrinkToFit steuern, wie der Inhalt des Dokuments auf jeder gedruckten Seite angeordnet wird.
Der Parameter orientation wird zusätzlich dazu angewendet.
Das Setzen von orientation auf "landscape" tauscht die Dimensionen der page anstatt die ganze Seite zu drehen.
Im Querformat verwendet die Breite der gedruckten Seite den height-Wert der Seite, und ihre Höhe verwendet den width-Wert.
Zum Vergleich, die Standardgröße der page ist 21.59 mal 27.94 Zentimeter (US Letter-Größe, 8.5 mal 11 Zoll).
Im Hochformat wird dies als 21.59 cm Breite und 27.94 cm Höhe gedruckt.
Im Querformat wird es als 27.94 cm Breite und 21.59 cm Höhe gedruckt.
Beispiele
>Drucken mit Standardeinstellungen
Mit einer WebDriver BiDi-Verbindung und einer aktiven Sitzung senden Sie die folgende Nachricht, um ein Dokument eines Kontexts mit den Standardeinstellungen jedes Parameters zu drucken: ein 21.59 mal 27.94 Zentimeter großes (US Letter) Blatt im Hochformat, ohne Hintergrundgrafiken, 1 cm Ränder auf allen Seiten, ein Maßstab von 1.0, und Inhalte, die verkleinert werden, um die Seitenbreite zu füllen:
{
"id": 1,
"method": "browsingContext.print",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f"
}
}
Der Browser antwortet mit den Base64-kodierten PDF-Daten:
{
"id": 1,
"type": "success",
"result": {
"data": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci..."
}
}
Drucken bestimmter Seiten und Bereiche im Querformat
Unter Verwendung derselben Verbindung und Sitzung wie im ersten Beispiel, senden Sie die folgende Nachricht, um Seite 1, die Seiten 3 bis 5 und Seite 8 zu drucken, im Querformat, mit eingeschlossenen Hintergrundgrafiken:
{
"id": 2,
"method": "browsingContext.print",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"orientation": "landscape",
"background": true,
"pageRanges": ["1", "3-5", "8"]
}
}
Der Browser antwortet mit den Base64-kodierten PDF-Daten:
{
"id": 2,
"type": "success",
"result": {
"data": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDQgMCBSL0ZpbHRlci..."
}
}
Drucken auf A4-Papier mit benutzerdefinierten Rändern
Unter Verwendung derselben Verbindung und Sitzung wie im ersten Beispiel, senden Sie die folgende Nachricht, um auf A4-Papier (21.0 cm x 29.7 cm) mit 2 cm Rändern auf allen Seiten zu drucken:
{
"id": 3,
"method": "browsingContext.print",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"page": {
"width": 21.0,
"height": 29.7
},
"margin": {
"top": 2.0,
"bottom": 2.0,
"left": 2.0,
"right": 2.0
}
}
}
Der Browser antwortet mit den Base64-kodierten PDF-Daten:
{
"id": 3,
"type": "success",
"result": {
"data": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDUgMCBSL0ZpbHRlci..."
}
}
Spezifikationen
| Spezifikation |
|---|
| WebDriver BiDi> # command-browsingContext-print> |
Browser-Kompatibilität
Siehe auch
browsingContext.captureScreenshotKommandobrowsingContext.getTreeKommando