Silencieux imprimer un PDF intégré

j'ai une page Web avec des PDF intégrés dessus. Mon code ressemble à ceci:

<embed
    type="application/pdf"
    src="path_to_pdf_document.pdf"
    id="pdfDocument"
    width="100%"
    height="100%">
</embed>

j'ai ce code javascript pour imprimer mon PDF:

function printDocument(documentId) {

    //Wait until PDF is ready to print    
    if (typeof document.getElementById(documentId).print == 'undefined') {

        setTimeout(function(){printDocument(documentId);}, 1000);

    } else {

        var x = document.getElementById(documentId);
        x.print();
    }
}

lorsque ce code est exécuté, le plug-in Acrobat ouvre la boîte de dialogue bien connue d'impression. Quelque chose comme ceci:

PrintDialog

deux questions:

  • comment améliorer la façon de détecter que PDF est chargé et prêt pour l'impression?
  • Comment éviter d'afficher le dialogue d'impression?

un peu plus d'informations sur mon système:

OS: Windows XP

Browser: Internet Explorer 7

PDF Plugin: Acrobat Reader 9

24
demandé sur I'm nidhin 2009-06-10 17:35:50

4 réponses

vous n'allez pas être en mesure d'imprimer silencieusement avec JavaScript simple Vieux. Comment voudriez-vous que votre imprimante commence à imprimer 100000000 pages de tout noir. Pas une bonne chose. Si vous voulez imprimer silencieusement et le faire fonctionner pour Internet Explorer seulement, Il ya des contrôles ActiveX là-bas qui peuvent le faire. Cela nécessite des paramètres de sécurité plus élevés pour votre page et pour que vos utilisateurs aient vraiment confiance en votre site.

18
répondu epascarello 2009-06-10 14:06:57

cela est possible dans un environnement Intranet fiable.

<object id="pdfDoc" style="position:absolute;z-index:-1;" name="pdfDoc" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="900px" height="100%">
        <param name="SRC" value="yourdoc.pdf" />
    </object>

<input type="button" ... onclick="pdfDoc.printAll();" />

cela contournera la boîte de dialogue d'impression et l'enverra directement à l'imprimante par défaut.

4
répondu PushCode 2011-03-28 12:52:16

je me demande si vous avez vraiment besoin d'attendre avant d'imprimer -- est-ce que le travail d'impression ne va pas s'occuper de ça pour vous? Et j'espère vraiment qu'aucun navigateur moderne ne vous permettra (ou à n'importe quel site web d'ailleurs) d'imprimer sans ce dialogue de confirmation (certains vieux navigateurs utilisés pour faire cela, il y a longtemps).

1
répondu Arjan 2009-06-10 13:45:36

vous pouvez faire cela dans Firefox en changeant about:config . Ajouter print.always_print_silent et régler à true .

1
répondu mike 2011-11-24 11:31:47