El problema radica en la documentación de mpdf. Creo que margin_footer y margin_header es el margen entre el cuerpo del documento y estos. En cambio, margin_footer y margin_header son los márgenes del documento, como uno pensaría que serían margin_top y margin_bottom.
Por lo tanto, al cambiar el margen inferior y superior se decidirá dónde se inicia el cuerpo del documento. Y cambiando el margen del encabezado/pie de página decidirá los márgenes de impresión.
Espero que ayude!
respuesta Actualizado
documentación MPDF es un poco fuera de la llamada al constructor, supongo. El argumento margin_top/bottom es en realidad el margen de contenido y no se aplica a los argumentos margin_header/footer. (Si recuerdo correctamente). Margin_top/bottom es el margen absoluto desde la parte superior del documento y debe incluir la altura del encabezado/pie de página.
Aquí es la forma correcta de manejar los márgenes:
/**
* Create a new PDF document
*
* @param string $mode
* @param string $format
* @param int $font_size
* @param string $font
* @param int $margin_left
* @param int $margin_right
* @param int $margin_top (Margin between content and header, not to be mixed with margin_header - which is document margin)
* @param int $margin_bottom (Margin between content and footer, not to be mixed with margin_footer - which is document margin)
* @param int $margin_header
* @param int $margin_footer
* @param string $orientation (P, L)
*/
new mPDF($mode, $format, $font_size, $font, $margin_left, $margin_right, $margin_top, $margin_bottom, $margin_header, $margin_footer, $orientation);
Tengo el mismo problema ATM, si encuentra una solución, ¿puede por favor actualizar su pregunta? – Bogdan
He actualizado mi respuesta a continuación. Espero que te ayude. Los márgenes del documento deben establecerse para margin_header/footer. Es posible que también deba deshabilitar la configuración 'setAutoTopMargin' en su archivo de configuración. – Daniel