6
votes

Quel est le moyen le plus simple d'obtenir une image à imprimer dans une nouvelle fenêtre lorsque vous avez cliqué sur?

J'essaie de créer un simple clic pour imprimer un lien pour une image et que je voudrais arriver, c'est lorsque le lien est cliqué, une nouvelle fenêtre s'ouvre avec l'image et le navigateur ouvre la boîte de dialogue de commande d'impression Boîte.

Ma question est de savoir si cela est possible juste à partir d'un paramètre d'URL ou de l'élément d'ancrage de la page initiative? Ou dois-je construire une page cible avec JavaScript pour faire cela?

Voici un échantillon de ce que j'ai: xxx

évidemment le code ci-dessus ouvrira l'image dans une nouvelle fenêtre, mais nécessite toujours de l'utilisateur de toucher Ctrl + P, CMD + P ou utiliser les commandes du navigateur. Mon client souhaite que l'image "ne vient d'imprimer" lorsque l'utilisateur clique sur le lien, j'essaie donc de trouver le moyen le plus simple d'accomplir cela.

y a donc des paramètres ou des attributs que je peux ajouter à le balisage ci-dessus pour accomplir ce que j'ai décrit?


0 commentaires

5 Réponses :


1
votes

Vous devez appeler fenêtre.print () en JavaScript pour déclencher l'impression du navigateur dialogue. Je suis sûr que vous ne pouvez pas déclencher une impression sans interaction utilisateur, sauf si vous exécutez une applet signée.


0 commentaires

0
votes

Hey Jag. Bien que ce n'est pas exactement ce que vous cherchez à faire, j'ai écrit ce tutoriel pendant que je travaillais dans une entreprise de conception Web. Vous pouvez probablement fouiller ce code pour obtenir le lien qui imprime l'image. Fondamentalement, ce que ce code ajoute-t-il un bouton d'impression au plug-in FancyBox JQuery. Je ne vois pas pourquoi vous ne pouviez pas simplement utiliser la partie imprimée pour l'ajouter à tout ce dont vous avez besoin. J'espère que ça aide.

Ajouter Possibilité d'impression au plug-in FancyBox JQuery


0 commentaires

2
votes

Je vous recommanderais de créer une page dans une langue ou un cadre dans lequel vous travaillez dans qui accepte un argument de QueryString pour le chemin d'image, sortie cette image dans le document et avoir un surcharger / / / / prêt appelez à fenêtre.print () . Lien vers celui-là au lieu de l'image directement, et conservez le cible = "_ vide" et vous devez être défini.


0 commentaires

11
votes

Vous devrez appeler la fenêtre.Print (). Peut-être quelque chose comme ça? XXX

Une autre option peut être de mettre l'image sur une page qui indique au navigateur d'imprimer lorsqu'il est chargé. Par exemple ... xxx


1 commentaires

La première façon n'est pas de travailler pour moi. La fenêtre s'est ouverte et essayée d'imprimer, mais parce que l'image ne se chargeait pas avant l'action d'impression, elle n'affiche rien. J'ai utilisé quelque chose de similaire que la deuxième façon de mettre l'image à l'intérieur d'une page et de l'attendre de charger et de travailler comme un charme.



3
votes

La réponse de Cody BONNEY ne fonctionnera pas dans certains navigateurs si l'URL complète comprend l'extension d'image. Le navigateur le téléchargera automatiquement dès que le nouvel onglet s'ouvre. Vous pouvez vous contourner cela comme ça.

                    var url = scope.src;
                    var w = window.open('', '');
                    w.document.write('<html><head>');
                    w.document.write('</head><body >');
                    w.document.write('<img id="print-image-element" src="'+url+'"/>');
                    w.document.write('<script>var img = document.getElementById("print-image-element"); img.addEventListener("load",function(){ window.focus(); window.print(); window.document.close(); window.close(); }); </script>');
                    w.document.write('</body></html>');
                    w.window.print();   


0 commentaires