J'ai une page à partir de laquelle l'utilisateur sera capable de Imprimer STROND>. Cependant, la page qui sera imprimée n'est pas celle que l'utilisateur affiche, mais plutôt une nouvelle que j'aimerais générer en arrière-plan et (éventuellement) indique la boîte de dialogue d'impression pour cela. P>
Juste pour faire clairement les choses: p>
FYI, qu'est-ce que j'essaie d'éviter, c'est d'avoir le "STRUT> imprimable.aspx strong>" Ouvrir dans une nouvelle fenêtre, puis montrer sa boîte de dialogue Imprimer. P>
Merci d'avance. P>
4 Réponses :
Utilisez une combinaison de balises multimédia dans CSS pour afficher / masquer les objets pour l'impression.
<LINK rel="stylesheet" type"text/css" href="screen.css" media="screen"> <LINK rel="stylesheet" type"text/css" href="print.css" media="print">
+1: De cette façon, vous n'avez même pas besoin d'une deuxième page, juste une deuxième feuille de style. La même page rendra simplement différemment à travers l'imprimante.
J'aimerais un exemple de travail de cela. J'ai plusieurs contrôles et conteneurs que je ne voudrais pas être imprimé, mais j'ai absolument aucune idée de la façon dont je voudrais faire le tour efficacement. Merci.
Et si les éléments de la version imprimable de la version imprimable ne sont pas encore chargés sur la version à l'écran? Devrais-je le charger via quelque chose comme Ajax ou simplement charger une page séparée sur un panneau caché, comme User378806 suggéré? Merci.
@RAFAEL: Si vous ne voulez pas vous déconner avec des iframes, vous pouvez simplement ajouter "
Je ne pense pas ce que vous essayez d'être possible. Mais je pourrais avoir tort. Bien que le meilleur moyen d'aborder cela consiste à utiliser une feuille de style CSS différente. P>
Vous pouvez charger la page dans un élément iframe caché, puis utiliser JavaScript pour exécuter la fonction d'impression de cette page. P>
Mais, comme @carter suggéré, CSS est la meilleure approche. Pourquoi charger du contenu en double plus d'une fois lorsque vous pouvez simplement resserrer le contenu actuel? P>
Et si les données à afficher ne sont pas chargées sur la page en cours et que la version imprimable contient tous ses détails: Serait préférable de charger le contenu restant via quelque chose comme Ajax ou de charger simplement le contenu d'un panneau caché?
Lorsque vous avez cliqué sur le bouton