Automatiquement les Images à Imprimer à partir du Site web
Un collègue et moi avons eu une discussion sur ce qui est et n'est pas possible dans le navigateur.
Alors une question qu'aucun de nous ne pouvait répondre avec certitude.
Pouvez-vous créer une page web telle que, lorsque vous naviguez, il engage le client à côté de l'imprimante et essaie d'imprimer un document. Par exemple, chaque fois que vous visitez mon site web personnel, vous serez traités à une impression d'une photo de moi en souriant.
Maintenant, c'est une idée horrible. Je suis au courant. Mais la discussion m'a intrigué, comme si cela pouvait être fait, et comment. Mon ami a insisté pour que le mieux qu'on pouvait faire était de faire apparaître la boîte de dialogue d'impression pour l'utilisateur, ils auraient cliquez sur imprimer eux-mêmes.
Serait-il possible de contourner cette étape? Ou juste un peu de fantaisie script pour déplacer la souris sur le bouton imprimer et cliquez sur elle? Ou utiliser un contrôle activeX à l'interface avec une Imprimante directement l'API?
- Vous pouvez envoyer une copie sans afficher une boîte de dialogue d'impression. Malheureusement, cela ne pouvait que pour IE. Espérons que cela aide un peu: stackoverflow.com/questions/1096862/...
Vous devez vous connecter pour publier un commentaire.
Vous avez à demander à l'utilisateur d'imprimer la page en cours, il n'y a pas moyen de contourner cette étape (éventuellement dans activeX pour IE). Cela dit, il ya deux façons vous pourriez demander à l'utilisateur d'imprimer des images de vous sourire lorsque la page est chargée.
Voici comment le faire en JavaScript.
Et voici comment le faire en css/javascript/html (en supposant que votre image a la
id
moi-sourire'):CSS:
Javascript:
La seule solution pour éviter la boîte de dialogue d'impression que j'ai trouvé est de créer une variable sur Mozilla Firefox pour définir impression automatique. Peut-être n'est pas la meilleure solution si vous avez besoin d'utiliser un autre navigateur, mais dans mon cas, j'ai seulement besoin d'imprimer un rapport automatiquement et ça fonctionne:
1 - Ouvrez Firefox et tapez "about:config" dans la barre d'adresse
2 - clic Droit sur la préférence et sélectionnez "Nouveau" > "Boolean"
3 - Ajouter une variable appelée "impression.always_print_silent" avec la valeur "true"
4 - Redémarrez Firefox.
L'espoir de vous aider!
AttendStar créé un add-on gratuit qui supprime la boîte de dialogue et supprime tous les en-têtes et pieds de page pour la plupart des versions de Firefox.
https://addons.mozilla.org/en-US/firefox/addon/attendprint/
Avec cette fonctionnalité, vous pouvez utiliser $('img').jqprint(); et jqprint pour jquery uniquement l'impression que l'image est automatiquement appelé à partir de votre application web.
Autant que je sache, il n'y a aucun moyen de l'impression d'un document directement, sans intervention du client pour l'installation de navigateur drapeaux.
Dans notre projet actuel, nous avons besoin d'imprimer directement sur l'imprimante par défaut, mais au moins avec Chrome, vous pouvez le faire facilement avec d'autres arguments de démarrage.
Pour imprimer directement sur l'OS par défaut de l'imprimante, vous pouvez utiliser:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\tmp --kiosk-printing http://www.contoso.com
Une autre option, qui peut être utile, est tos utiliser le natif de dialogue d'impression au lieu de les chromes aperçu avant impression.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\tmp --disable-print-preview http://www.contoso.com
Remarque, que
window.print()
et/ou Ctrl-P se comporter en conséquence les paramètres mentionnés.Je sais, que ce n'est pas exactement réponses de la Fpo question, mais je pense que c'est en quelque sorte liée, et pour les web applications d'entreprise basées sur ce qui est, en général, un cas d'utilisation. Peut-être que quelqu'un la trouver utile.
Pour Firefox je recommande Sans Couture D'Impression Addon
Vous ne pouvez pas contourner la boîte de dialogue imprimer, autant que je sache. Ce serait une assez évident faille de sécurité si le navigateur a permis cela. Mais vous pouvez ouvrir la boîte de dialogue imprimer avec "fenêtre.print()".
Je pense qu'au mieux, vous auriez besoin d'un composant ActiveX à l'aide de la base de l'API windows pour obtenir un contexte de périphérique de l'imprimante par défaut et d'essayer d'imprimer une image intégrée en utilisant les valeurs estimées pour les paramètres de l'imprimante.
Pour imprimer sur l'imprimante par défaut automatiquement sans voir une boîte de dialogue d'impression rapide, j'ai partagé un peu de code dans la question suivante, qui travaille dans IE7, IE8 et IE9:
Contourner Printdialog dans IE9
De beaucoup de recherche à partir de ces quelques derniers jours,
J'ai trouvé une meilleure solution possible.
Jusqu'à la date de Chrome ne prennent pas en charge l'impression directe à partir de javascript.
Il a lancé USB et série d'API qui pourrait aider.
Mais actuellement, je suis en utilisant un JavaApplet solution qui est open source.
https://github.com/qzind/qz-print - construire
Alors que j'obtiens une erreur dans sa construction. J'ai préféré une Prédéfinis - QZ Impression Plugin 1.9.3
application de bureau qui fonctionne très bien.
Le télécharger ici: https://qz.io/download/
Exemple De Code:
Exemple complet peut être trouvé ici:
https://gist.github.com/bkrajendra/c80de17b627e59287f7c
C'est la meilleure solution que j'ai trouvé pour firefox:
Il est génial, ce add-on Sans Couture D'Impression.
Il fonctionne comme un charme.