Ich habe eine Reihe von HTML-Dokumenten erstellt, die am Ende jeder gedruckten Seite eine Fußzeile aufweisen, ohne auf dem Bildschirm angezeigt zu werden. Ich habe auch die Seitenumbrüche explizit deklariert, damit sie an nicht störenden Stellen liegen. Dies geschieht mit Hilfe der CSS Kombination von:DomPDF @Media Print nur teilweise erkennen CSS
@media screen {
.bottom, .split {
display: none;
}
}
@media print {
.bottom {
display: block;
text-align: center;
width: 8in;
position: fixed;
bottom: 0;
}
.split {
page-break-before: always;
}
.whole {
page-break-inside: avoid;
}
}
Die untere Klasse ist für die Fußzeile, die geteilte Klasse für die Seitenumbrüche und die ganze Klasse für Datentabellen verwendet, so dass sie in der nicht geteilt sind Mitte. Das funktioniert beim Drucken der einzelnen Dokumente über den Druckbefehl des Browsers ganz wunderbar.
Diese Dokumente müssen jedoch über ein Batch-Skript ausgeführt werden, das PDF-Kopien für andere Geschäftsprozesse generiert (PHP mit DOMPDF). Anfänglich wurde keiner der @media print CSS-Referenzen erkannt. Dann habe ich DOMPDF_DEFAULT_MEDIA_TYPE in "print" geändert, und es hat die Seitenumbrüche erkannt, weigert sich aber immer noch, die Fußzeile zu drucken. Die Fußzeile wird beim Drucken direkt aus dem Browser wieder ausgedruckt.
Ich muss dieses Problem so schnell wie möglich beheben. Jede Eingabe würde geschätzt werden.
EDIT: Ich habe bestätigt, dass der HTML-Code in den Dokumenten gegen HTML5-Standards validiert.