Maison interface Web tutoriel CSS Méthodes alternatives d'impression web_Échange d'expériences

Méthodes alternatives d'impression web_Échange d'expériences

May 16, 2016 pm 12:08 PM

Méthode alternative d'impression sur le Web Sélectionnée sur le blog de wfmazhenhai
Mots clés Méthode alternative d'impression sur le Web
Source
Je crois que quiconque a réalisé des applications en utilisant la méthode B/S peut rencontrer un tel problème, comment faciliter, réaliser magnifiquement impression du rapport. Si vous utilisez le menu d'impression du navigateur pour imprimer, certaines éléments inutiles de la page Web seront imprimés sur le rapport, comme les menus d'application, etc. Parce que la sélection du menu d'impression pour imprimer une page Web imprimera tout le contenu de la page Web. Si votre application comporte des cadres, le contenu imprimé inclura le contenu de chaque cadre, et le contenu que vous souhaitez réellement n'en est qu'une partie. Par conséquent, de nombreuses applications ne peuvent exécuter la fonction d’impression qu’en arrière-plan. Que devons-nous faire dans cette situation ? En fait, il existe de nombreuses façons de mettre en œuvre la fonction d’impression de pages Web.
Une solution consiste à utiliser des outils d'impression professionnels, tels que Crystal Reports. Les amis qui ont utilisé Visual Studio 5.0 doivent se souvenir de cet outil, mais la version à l'époque n'était que 4.0. La dernière version est désormais la version 9 et les versions récentes de Crystal Reports prennent en charge l'impression WEB. La méthode la plus simple consiste à utiliser d'abord Crystal Reports pour créer un modèle, puis à utiliser ASP pour appeler le modèle préparé avec des paramètres. Une fois que Crystal Reports a généré un rapport sur la page Web, celui-ci peut être imprimé directement ou transféré vers d'autres fichiers qui réussissent la comparaison, tels que des fichiers Excel. Vous pouvez créer de très beaux styles à l'aide de Crystal Reports. La clé réside dans votre capacité à développer Crystal Reports. Cependant, en raison du prix élevé de Crystal Reports, vous ne pouvez vous le permettre que si le projet est très rentable.
La deuxième méthode consiste à acheter un contrôle d'impression en ligne tiers. Le coût est moins cher que Crystal Reports, mais l'efficacité et les performances sont différentes.
La troisième méthode consiste à utiliser des feuilles de style et des fonctions personnalisées JavaScript. L'impression de pages Web est réalisée via des feuilles de style et JavaScript, et l'effet est acceptable. Voici un exemple que tout le monde peut consulter. Ce qui suit est une explication détaillée de l'implémentation de la fonction d'impression :
<script language="JavaScript" type="text/JavaScript">
<!--
function DP() {
if ( window.print)
{
var Div1 = document.all.Div1.innerHTML;
var Div2 = document.all.Div2.innerHTML
// *********; ***** **************************************
// Div1 et Div2 êtes-vous dans la zone d'impression
// Selon le contenu que vous souhaitez imprimer, utilisez
// <div id=Div1>Div1....</div><div id=Div2> from la page d'affichage originale Div2...</div>
// Attendez qu'elle soit marquée, marquez autant d'éléments que vous souhaitez imprimer
// ************* ********* ************************************* var css = '< style type="text/css" media=all>' +
'p { hauteur de ligne : 120%}' +
'.ftitle { hauteur de ligne : 120 % ; taille de police : 18 px ; : #000000}' +
'td { font -size: 10px; couleur: #000000}' +
'</style>'
//*********** ******************* *******************************
// Définissez le CSS pour l'impression, plus précisément le format que vous souhaitez imprimer. Tout dépend de vous
//, mais attention : s'il y a quelque chose d'incohérent avec la page Web, le format et la police de l'imprimé la page peut être différente
// de la page web
/ /********************************* ********************** ****
var body ='<table width="640" border="0" cellpacing="0" cellpadding="5">' +
' <tr> ' +
' < td class="fbody"> ' +
' <div align="center" class=ftitle>' + Div1 + '</div>' + Div2 +
' </td>' +
'</tr>' +
'</table>'
//****** *********************** ************************** **
// Réinitialisez le format d'impression ici et modifiez l'affichage d'origine en fonction de vos besoins d'impression
// Réorganisez le contenu DIV de la page Web. Vous pouvez supprimer les
// éléments que vous ne faites pas. Vous ne voulez pas imprimer en fonction du contenu de votre table d'origine. Vous pouvez également utiliser le noprint défini ci-dessous pour ignorer les choses que vous ne souhaitez pas imprimer
// chose, appeler uniquement le contenu que vous souhaitez imprimer, mais celui ignoré. la place sera imprimée
// vide, ce qui n'est pas très beau. La largeur du formulaire doit correspondre à la largeur du papier à imprimer.
//********************************************* *** *********
document.body.innerHTML = '<center>' + css + body + '</center>'
// ******* *** ************************************************* *
// Heavy Set document.body, le document à imprimer est prêt
//****************************** ******** ****************
window.print();
window.history.go(0);// ****** ********************************************** **
//Appelez la commande print pour imprimer le contenu de la fenêtre actuelle. Lorsque vous l'imprimez, il s'agit en fait d'une nouvelle
// page Web, mais le fichier de la page Web est toujours l'original.Appelez ensuite
// window.history.go(0), puis revenez à la page avant l'impression, l'effet est plutôt bon
// **************** *** *****************************************
}
}
- ->
</script>
<style>
@media print {
.noprint {display:none}
}
</style>
<!-- //.noprint définit noprint. Après avoir ajouté class="noprint" aux endroits suivants qui n'ont pas besoin d'être imprimés, l'impression avec window.print() sera ignorée -->
OK , tout est prêt, que faire maintenant Il s'agit d'appeler la fonction DP Si vous concevez le bouton à appeler sur la même page Web, vous pouvez l'appeler directement si vous utilisez la méthode frame et que le bouton à appeler est ; sur une autre page web, puis dans la fonction DP Ajoutez la commande window.focus() en première ligne, sinon seule la page web avec les boutons sera imprimée.
La quatrième méthode, la mise en œuvre est une méthode délicate. La même chose est obtenue en appelant window.print(), mais le contenu que vous souhaitez imprimer est spécialement généré sous forme de page Web et le bouton d'impression se trouve sur un autre cadre. Supposons que la page Web du rapport se trouve sur le mainFrame et que le bouton se trouve sur le topFrame. Le bouton appelle la fonction PrintReports(). La fonction PrintReports() est la suivante pour réaliser l'impression.
function PrintReports() //Fonction dans la page Web topFrame
{
essayez
//*********************** ******* ***********************************
// Gestion des erreurs , si la page Web dans mainFrame n'a pas de fonction DP Ne pas imprimer
//****************************** ***************** *************
{
window.parent.frames("mainFrame").DP() ;
}
catch(e)
{
alert("aucun objet à imprimer!"
}
}
function DP() // Page web MainFrame function
{
window.focus();
if (window.print)
{
window.print();
}
}
Je pense personnellement c'est la méthode la plus pratique.
Enfin, si vous supprimez les paramètres "En-tête, Coin de page" dans le "Fichier - Paramètres de page" du navigateur IE, l'effet sera meilleur. (Repost)

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Mar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Barbars CSS personnalisés chics et cool: une vitrine Barbars CSS personnalisés chics et cool: une vitrine Mar 10, 2025 am 11:37 AM

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

Que diable sont les commandes NPM? Que diable sont les commandes NPM? Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

See all articles