Comment puis-je imprimer un fichier pdf dans google chrome?
J'ai un fichier pdf associé à un bouton . Quand je clique sur le bouton je veux obtenir le pdf imprimé. C'est ainsi que mon bouton est codé :
<input type="submit" class="btn-red" value="Print"
name="Submit" id="printbtn"
onclick="printPDF('http://www.irs.gov/pub/irs-pdf/fw4.pdf')" />
Maintenant mes fonctions d'impression fonctionne comme ceci :
function printPDF(pdfUrl)
{
if ((navigator.appName == 'Microsoft Internet Explorer') )
window.print(pdfUrl,"_self");
else
{
var w = window.open(pdfUrl,"_self");
w.print();
w.close();
}
}
Le problème c'est que ça fonctionne sous IE et le renard de Feu , mais ne fonctionne pas sur chrome. Dans ie et Firefox, il ouvre le xps de l'imprimante option, mais dans chrome , il s'ouvre seulement une nouvelle fenêtre d'impression, avec l'aperçu avant impression de la div et pas le pdf . Mais je veux le xps option pour être ouverte ici.
EDIT : Dans google chrome, lorsque j'essaie d'imprimer , seul l'élément html est livré en avant-première et pas la pdf. Je suis en utilisant google chrome version : 20.0.1132.57
Comment puis-je obtenir autour de cette particularité ? aide gentiment .
OriginalL'auteur The Dark Knight | 2013-01-11
Vous devez vous connecter pour publier un commentaire.
J'ai eu à faire la même chose et j'ai utilisé une approche différente, pour moi travaillé en Chrome et Firefox.
Ma solution: un print.html un fichier de helper, qui a reçu le fichier PDF de l'url comme un paramètre de type, puis chargé le fichier pdf à l'intérieur d'une iframe. Puis elle a gardé de la vérification pour voir si le pdf a complètement chargé (qui lie le chèque à l'
onload
événement n'a pas de travail) et à la fin il a déclenché la méthode d'impression.Ici:
Cette solution n'est pas testé sur IE. Nous utilisons des Mac au travail de sorte qu'il n'était pas une option.
Pour l'impression, je l'utilise en appelant une URL comme ceci:
http://example.com/print.html?path=docs/myfile.pdf
OriginalL'auteur BBog
Cela a fonctionné pour moi et n'a pas besoin d'un hôte fichier HTML. La clé était d'attendre onload:
Pour un lien comme ceci:
J'ai utilisé du javascript:
OriginalL'auteur Greg Ennis