Bonjour,
Actuellement, j'ai un projet web à réalisé, et doit permettre que les utilisateurs puisse imprimer des articles (pdf).
Pour ce faire il faut que lors du clic sur le bouton "print" l'application cake ouvre une fenêtre semblable à celle de "window.print()" mais avec le fichier pdf en aperçu avant impression.
Urgent !!!

Merci d'avance

Cordialement,

The-Devil

PS: déjà cherché sur le net mais rien de ce que j'ai trouvé n'a fonctionné... -.-'

4 réponses


The-Devil
Auteur
Réponse acceptée

YO !!!

Problème résolu :), Le problème était bel et bien dans l'appel de l'ID. voici le code pour ceux que ça pourrait intérerssé.

<?php echo $this->Html->tag('iframe', '', array('src' => 'Document/Presse/AHU_InsatallationWindows.pdf', 'id'=>'PDFtoPrint','class'=>'iframe'));?>
            <a href='#'>
                <i class='icon-print' onClick="document.getElementById('PDFtoPrint').focus();
     document.getElementById('PDFtoPrint').contentWindow.print();">
                </i>
            </a>

A comprendre que j'utilise le bootstrap twitter et que l'iframe est en "display: none" dans le css !!

Cordialement,

The-Devil

Petit up ! Voici le code de mon bouton d'impression(et de l'iframe qu'il est censé affiché et imprimé):

<iframe src="<?php echo $this->Html->url('InsatallationWindows.pdf');?>" id="PDFtoPrint"></iframe>
            <a href='#'>
                <i class='icon-print' onClick="document.getElementById('PDFtoPrint').focus();
     document.getElementById('PDFtoPrint').contentWindow.print();">
                </i>
            </a>

Malheureusement, l'iframe m'affiche la page sur laquelle je suis en me disant que le controller 'InstallationWindows.pdfController n'existe pas ?!?!?!?!

Help Please !!!

Tu envoie une url dans ton iframe. Une url a comme nommage monsite.fr/modèle/vue. J'imagine que ton url est monsite.fr/InsatallationWindows.pdf et cake recherche donc le controller. j'ai l'impression que tu as un a en trop dans ton code ^^'.

Après je ne sais pas comment on fait pour convertir une page en pdf.

J'ai vu ce site si cela peu t'aider :

http://html2pdf.fr/

Pas la peine de marquer urgent. Si on sait pas, on va pas répondre :p

Merci de ta réponse coloo, mais je crois qu'on s'est mal compris, ce que je cherche à faire c'est imprimer un fichier PDF présent en iframe sur la page. Ma dernière solution est celle-ci :

<?php echo $this->Html->tag('iframe', array('id'=>'PDFtoPrint'), array('src' => 'Document/Presse/AHU_InsatallationWindows.pdf'));?>
            <a href='#'>
                <i class='icon-print' onClick="document.getElementById('PDFtoPrint').focus();
     document.getElementById('PDFtoPrint').contentWindow.print();">
                </i>
            </a>

Ce code me paraît juste (Il affiche l'iframe qui est mon fichier PDF), mais pourtant, lorsque je clique sur le bouton d'impression (<i></i>) il ne se passe rien -.-'
J'ai regarder la console de mon navigateur et il me dit : >Uncaught TypeError: Cannot call method 'focus' of null
Ce qui signifie qu'il n'arrive pas à récupérer l'ID de l'iframe. Donc:
comment utilise ton le helper HTML->tag pour pouvoir préciser l'ID de l'iframe...? Car je pense que c'est ça qui fait qu'il n'imprime rien, puisqu'il ne trouve pas l'iframe.

Merci d'avance