Question

Je dois afficher un contenu HTML comme il sera imprimé. Au fond, je veux imiter l'impression du navigateur fonction de prévisualisation.

Je ne sais pas comment faire juste avec HTML / CSS / JavaScript. La seule solution que je suis venu est de convertir le HTML en PDF divisés en ce qui procure un pages, puis le convertir PDF en images et imprimer chaque image un soufflet l'autre.

Il sera vraiment serviable si quelqu'un peut pointer une méthode plus avant droit. Je ne suis même pas sûr si cela est posibble.

BTW, j'utilise PHP dans le back-end, donc s'il y a une classe PHP pour cela, il sera utile.

La taille de la page pour diplaying il sera lettre, peu importe ce que l'utilisateur a configuré

comment il devrait se regarder dans le navigateur: text alt

Était-ce utile?

La solution

Je ne pense pas que ce soit possible. Vous ne pouvez pas connaître tous les utilisateurs impression-paramètres dans le navigateur (Javascript) et certainement pas sur le serveur (php, asp, java).

mise à jour

Pensez-y de cette façon (s'il vous plaît garder à l'esprit qu'un aperçu avant impression solide décent 100% est IMPOSSIBLE):

  • L'utilisateur accède à la page et demande un aperçu avant impression
  • Le site fournit l'aperçu avant impression (de préférence dans un format html, sinon png ou pdf)
  • L'utilisateur aime et veut imprimer:
    1. A partir du navigateur
    2. De certains programmes de visualisation / retouche (.png)
    3. Acrobat (pdf)
  • Toutes les solutions d'impression a sa propre impression ... boîte de dialogue. Vous pouvez modifier les paramètres d'impression ici.

Il est le dernier point où tout ce que vous voulez ne ... Vous ne pouvez pas contrôler la sortie plus à ce moment-là (à partir de votre site) ...

Autres conseils

Comme d'autres ont le point de sortie, vous ne pouvez pas le faire. Ma recommandation est que vous faites une version « imprimable » qui contient uniquement un fond blanc uni et texte noir uni. Mais c'est à peu près aussi proche que vous pouvez accéder à la « Aperçu avant impression » réelle.

HTML n'a pas été vraiment destiné à la mise en page, il était destiné à être lu à l'écran. Pourquoi la page navigateurs aperçu pas assez bon?

De toute façon, ce que vous pouvez faire est d'essayer et de convertir le HTML en latex ou quelque chose de similaire, et que rendre à un pdf ou .png sur le côté serveur et afficher que. Mais cela empêcherait l'utilisation des dispositions html très compliquées sinon il être assez méchant.

Je pense qu'il ya une solution simple.

Vous pouvez demander à l'utilisateur la taille de la page et en haut, en bas, à gauche, les marges droite. Ensuite, rendre la page au format PDF en utilisant ces paramètres. PDF garantira que la page sera imprimé généré.

Je pense que cette approche devrait bien fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top