Ändern Sie die Standard-Kopf- / Fußzeile beim Drucken in PDF

8

Ich versuche, Google Chrome als Ersatz für PhantomJS zu verwenden, um HTML in PDF zu rendern. Bis jetzt hat es gut für mich funktioniert. Das einzige Problem, das ich habe, dass ich keine Möglichkeit gefunden habe, den folgenden PhantomJS Code zu übersetzen:

%Vor%

Format date ist die gleiche Funktion wie in Frage Formatieren eines JavaScript-Datums

Ich habe jedoch keine Möglichkeit gefunden, dieses Verhalten in Google Chrome kopflos zu replizieren.

Dies ist ein Überblick über meinen Chrome Remote Interface Code:

%Vor%

Ich bekomme die PDF-Datei problemlos, kann aber nur die standardmäßigen Chrome-Kopf- und Fußzeilen abrufen. Irgendeine Möglichkeit, sie zu ändern?

Hinweis : Ich weiß, dass ich JavaScript auf meiner Seite verwenden kann, um Elemente am Ende jeder Seite anzuhängen, aber ich würde es vorziehen, die Fußzeile zu ändern, die vom Browser beim Exportieren angehängt wird. Drucken, da ich festgestellt habe, dass es viel zuverlässiger ist, korrekt platziert zu werden, ohne dass andere divs in der Seite merkwürdig zurückfließen.

    
apokryfos 15.06.2017, 19:38
quelle

4 Antworten

1

Dies ist eine Aktualisierung / Antwort auf die Frage. Ab Chromium 64 ist es möglich, die Parameter headerTemplate und footerTemplate für printToPDF

zu verwenden

Beispielcode, der funktionieren sollte:

%Vor%     
apokryfos 07.03.2018, 08:47
quelle
6

Es gibt zwei Lösungen für Ihr Problem

A) Schieben Sie den Chrome-Header heraus, indem Sie keinen Rand lassen:

%Vor%

oder

%Vor%

B) Ursprünglich eine Firefox-Lösung, die für Chrome Welt sollte

%Vor%

ein Beispiel:

%Vor%
    
Mason.Chase 25.06.2017 17:35
quelle
4

Mit den Tags <header> und <footer> können Sie benutzerdefinierte Kopf- und Fußzeilen erstellen. Ich benutze dies um PDFs mit Chrome Headless zu erstellen. Ich habe es nicht in Firefox, IE usw. getestet ...

%Vor%

das CSS

%Vor%

Das @page { margin: 0 } entfernt die standardmäßige Kopf- und Fußzeile.

Hoffe, das hilft.

    
Darren Hall 22.09.2017 15:41
quelle
2

Laut diesem Forum gibt es derzeit keine Möglichkeit, dies in Google Chrome zu tun. Alles, was Sie tun können, ist die Kopf- / Fußzeile ein- oder auszuschalten. Dies wird durch den Kommentar angezeigt:

  

Derzeit gibt es keine Möglichkeit, die Kopfzeile beim Drucken eines Dokuments zu bearbeiten. Sie können derzeit nur die Kopf- und Fußzeile aktivieren oder deaktivieren, die das Datum, den Namen der Webseite, die Seiten-URL und die Anzahl der Seiten enthält, die das Dokument gedruckt werden soll. Vielleicht möchten Sie im Chrome Web Store nachsehen, ob es praktische Erweiterungen von Drittanbietern gibt, die Sie in Chrome installieren können und die möglicherweise für Ihre Druckanforderungen geeignet sind - Quelle

Möglicherweise gibt es Erweiterungen von Drittanbietern, um die gewünschte Funktionalität zu erhalten, oder Sie können, wie Sie vorschlagen, JavaScript verwenden, um die Elemente anzuhängen, die Sie drucken möchten.

    
Chava G 26.06.2017 07:15
quelle