Adición de encabezados, pies de página y números de página a página HTML convertida a PDF iText 7

Hola a todos y gracias de antemano por vuestra ayuda. Estoy aprendiendo iText 7 y estoy creando una aplicación que extrae una página web de una URL y la convierte a PDF. Tengo las piezas muy básicas funcionando, es decir, agarrando la página, convirtiéndola a PDF y escribiéndola en el disco. Lo que quiero lograr a continuación es agregar encabezados y pies de página, así como la página x de y. He intentado

        @media print {
        @page {
            size: 8.5in 5.5in portrait;
            margin-left: 0.5cm;
            margin-right: 0.5cm;
            margin-bottom: .5cm;
            padding-bottom: 3.5cm;
            background: #FFF;
        }

        thead { display: table-header-group; }
        tfoot { display: table-footer-group; }
    }

que parece colocar el encabezado y el pie de página en cada página, aunque la última página del documento tiene el pie de página colocado después de donde aparece el último elemento (no es ideal). Como estoy agarrando una página, no estoy realmente seguro de cómo agregar el número de página y contar. Entonces, mi pregunta es cómo abordar esto, es decir, ¿debería seguir con la consulta de medios, o debería generar el PDF, el ciclo a través del uso de algún tipo de controlador para insertar los encabezados y pies de página (o debería hacerlo al crear el documento inicial). Ahora hay algunos tutoriales sobre paginación, pero no se combinan con la conversión de una página web, por lo que estoy confundido (tal vez innecesariamente) sobre cómo proceder. Cualquier ayuda sería apreciada

Lo intenté

        @media print {
        @page {
            size: 8.5in 5.5in portrait;
            margin-left: 0.5cm;
            margin-right: 0.5cm;
            margin-bottom: .5cm;
            padding-bottom: 3.5cm;
            background: #FFF;

        @bottom-right {
        content: "Page " counter(page) " of " counter(pages);
        }   
        }

        thead { display: table-header-group; }
        tfoot { display: table-footer-group; }
    }

pero el número de página no se muestra, ni en HTML ni en PDF convertido. Necesitaba usar:thead { display: table-header-group; } tfoot { display: table-footer-group; } to force the header and footer to display on each page. Obviously I'm not handling this correctly, but don't know what to try next.

`

Ingresa el código aqu

Respuestas a la pregunta(2)

Su respuesta a la pregunta