2009-04-28 12 views

Répondre

4

Utilisez le type de support "print" (@media print).

Ne définissez pas une largeur fixe ni une largeur maximale. Rend le contenu fluide à la place. Si vous en spécifiez avec (px, em, pt, cm), vous rencontrerez toujours l'un ou l'autre problème car des navigateurs différents ajoutent des marges différentes.

A4, lettre, A3, ce n'est pas votre problème. Votre document s'en fiche. L'utilisateur peut imprimer votre document sur le papier dont il dispose, car votre contenu est fluide.

Find some tips about css for print here.

+1

Dans de nombreux cas, nous nous soucions de la taille de la page en tant que tête de page/pied de page et la mise en œuvre de CSS sont encore WIP depuis des années. Il n'y a pas de norme pour un document imprimé en HTML bien formaté sinon le PDF côté serveur. –

+0

Je suis d'accord avec Dennis. Parfois, votre client veut juste imprimer un morceau de papier A4. Vous venez de définir vos tailles comme dans cette réponse: http://stackoverflow.com/a/16650459/291557. J'espère que vous ne direz pas à votre client: "Vous voyez, en CSS, le document ne se soucie pas de la taille, il coule juste, même si les lignes se cassent et que les choses sont réparties sur plusieurs pages. –

0

Une solution consiste à utiliser SVG à la place. Avec SVG, vous pouvez utiliser quelque chose comme ceci:

<svg width="19cm" height="26.5cm" viewBox="0 0 1900 2650" xmlns="http://www.w3.org/2000/svg" version="1.2"> 

Ensuite, vous assurer que tous vos éléments sont à votre point de vue de 1900x2650. Malheureusement, cela implique de "recréer" votre page en SVG, ce qui est assez gênant. Cela semble pourtant nécessaire. HTML & Les solutions CSS ne peuvent pas garantir que le contenu ne débordera pas sur plusieurs pages si vous aviez l'intention d'en faire une seule page.