Oggi ho perso un’oretta su un problemino fastidioso.
Un’applicazione che stampava da anni dei cataloghi PDF improvvisamente ha iniziato a stamparli senza considerare i salti pagina; la generazione dei PDF è demandata a un componente (Easy PDF) che accede a una pagina web dinamica ne recupera il markup e lo da in pasto al motore di rendering di Internet Explorer.
Ho provato ad accedere manualmente alla pagina con IE7 e con sorpresa ho constatato che anche cosi, provando un print preview, ottenevo una stampa senza i previsti salti pagina.
Le direttive di salto pagina però c’erano tutte, realizzate con tag come questi:
<div style="page-break-before: always;"></div>
Dopo una serie di arrovellamenti ho trovato un post che mi indicava un workaround circoscrivendo in modo sistematico il bug di IE7: la direttiva di salto pagina viene ignorata se il div che la contiene è vuoto.
A quel punto è sufficiente “riempire” il div, magari con del contenuto invisibile, perché tutto ritorni a funzionare:
<div style="page-break-before: always"><span style='visibility: hidden;'>-</span></div>