Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : impression PDF [ POO / Classes & Objets ] (kiki2sirom)

jeudi 17 janvier 2008 à 10:49:06 | impression PDF

kiki2sirom

salut à la communauté

j'ai une interrogation :

    * quelle serait la meilleure solution pour pouvoir, en cliquant sur un bouton, imprimer à la suite 1 ou plusieurs PDF se trouvant déjà sur le serveur ?

est-il posible de le faire sans ouvrir les PDF ?
sinon est-ce plutôt possible en les ouvrant en background ?
est-ce possible en lançant l'impression sans ouvrir la fenêtre d'impression classique ?
une classe d'impression existerait-elle pour ce faire ?
...

en gros je cherche une solution pour un client où celui-ci clique sur un icône qui va imprimer un ou plusieurs fichiers PDF qui se trouve sous htdocs..../pdf/... : solution idéale, donc une solution la plus transparente possible pour le client

Merci par avance pour votre aide

kiki

jeudi 17 janvier 2008 à 12:35:57 | Re : impression PDF

malik7934

Tu peux le faire avec FPDF!

Moi j'ai un exemple où le fichier au final se lance tout seul à l'imprimante :-) Je sais plus d'où je le sors, surement du site de fpdf.

Je te le file tel quel, je ne fais pas de support.

<?php

define('FPDF_FONTPATH','font/');
require('fpdf.php');
require('fpdf_js.php');

class PDF extends PDF_Javascript
{
    function Pointille($x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=0.2,$nbPointilles=50)
    {
        $this->SetLineWidth($epaisseur);
        $longueur=abs($x1-$x2);
        $hauteur=abs($y1-$y2);
        if($longueur>$hauteur) {
            $Pointilles=($longueur/$nbPointilles)/2; // taille des pointilles
        }
        else {
            $Pointilles=($hauteur/$nbPointilles)/2;
        }
        for($i=$x1;$i<=$x2;$i+=$Pointilles+$Pointilles) {
            for($j=$i;$j<=($i+$Pointilles);$j++) {
                if($j<=($x2-1)) {
                    $this->Line($j,$y1,$j+1,$y1); // on trace le pointillé du haut, point par point
                    $this->Line($j,$y2,$j+1,$y2); // on trace le pointillé du bas, point par point
                }
            }
        }
        for($i=$y1;$i<=$y2;$i+=$Pointilles+$Pointilles) {
            for($j=$i;$j<=($i+$Pointilles);$j++) {
                if($j<=($y2-1)) {
                    $this->Line($x1,$j,$x1,$j+1); // on trace le pointillé du haut, point par point
                    $this->Line($x2,$j,$x2,$j+1); // on trace le pointillé du bas, point par point
                }
            }
        }
    }

function AutoPrint($dialog=false)
{
    //Lance la boîte d'impression ou imprime immediatement sur l'imprimante par défaut
    $param=($dialog ? 'true' : 'false');
    $script="print($param);";
    $this->IncludeJS($script);
}

function AutoPrintToPrinter($server, $printer, $dialog=false)
{
    //Imprime sur une imprimante partagée (requiert Acrobat 6 ou supérieur)
    $script = "var pp = getPrintParams();";
    if($dialog)
        $script .= "pp.interactive = pp.constants.interactionLevel.full;";
    else
        $script .= "pp.interactive = pp.constants.interactionLevel.automatic;";
    $script .= "pp.printerName = '\\\\\\\\".$server."\\\\".$printer."';";
    $script .= "print(pp);";
    $this->IncludeJS($script);
}

}

function generatePDF(){
    $pdf=new PDF();
    $pdf->Open();
    $pdf->AddPage();
    $pdf->SetDrawColor(200);
    $pdf->Pointille(10,10,200,100);
    $pdf->SetFont('Arial','B',30);
    $pdf->SetXY(40,10);
    $pdf->Cell(125,30,"test",0,0,'C',0);
    $pdf->AutoPrint(false);
    $pdf->Output('test2.pdf');
}

function showGeneratedPDF($name){
    $pdf->Output($name);
}

echo '<form name="generate" method="POST" action=""><input type="hidden" name="gen" value="1">';
echo '<a href="JavaScript:document.generate.submit();">generate and print</a>';
echo '</form>';

$gen = 0;
if (isset($_POST)){
        if (isset($_POST['gen'])){
                $gen = 1;
        }
}

$show = 0;
if (isset($_POST)){
        if (isset($_POST['show'])){
                $show = 1;
        }
}

if ($gen == 1){
        generatePDF();


    if ($show==1) showGeneratedPDF('test2.pdf');

    echo '<form name="generatedPDF" method="POST" action=""><input type="hidden" name="show" value="1">';
    echo '<a href="JavaScript:document.generatedPDF.submit();">show</a>';
    echo '</form>';


        echo '&nbsp;<a href="test2.pdf">Imprimer</a>';
}
?>

/*************************** LE FICHIER JS  ***************************/
<?php


class PDF_Javascript extends FPDF {

    var $javascript;
    var $n_js;

    function IncludeJS($script) {
        $this->javascript=$script;
    }

    function _putjavascript() {
        $this->_newobj();
        $this->n_js=$this->n;
        $this->_out('<<');
        $this->_out('/Names [(EmbeddedJS) '.($this->n+1).' 0 R ]');
        $this->_out('>>');
        $this->_out('endobj');
        $this->_newobj();
        $this->_out('<<');
        $this->_out('/S /JavaScript');
        $this->_out('/JS '.$this->_textstring($this->javascript));
        $this->_out('>>');
        $this->_out('endobj');
    }

    function _putresources() {
        parent::_putresources();
        if (!empty($this->javascript)) {
            $this->_putjavascript();
        }
    }

    function _putcatalog() {
        parent::_putcatalog();
        if (isset($this->javascript)) {
            $this->_out('/Names <</JavaScript '.($this->n_js).' 0 R>>');
        }
    }
}
?>
 

*****
noisy communication - wherever, be everywhere!


vendredi 18 janvier 2008 à 12:12:24 | Re : impression PDF

kiki2sirom

salut merci de ton aide,

j'ai essayé ton script mais quand je clique sur "Imprimer" : il m'ouvre le PDF et puis c'est tout.

Ton exemple fonctionne avec toutes les versions de PDF ?

kiki

vendredi 18 janvier 2008 à 13:02:49 | Re : impression PDF

malik7934

donne moi ton mail en MP et je t'envoie le toute...

*****
noisy communication - wherever, be everywhere!


vendredi 18 janvier 2008 à 13:02:50 | Re : impression PDF

malik7934

Réponse acceptée !
donne moi ton mail en MP et je t'envoie le toute...

*****
noisy communication - wherever, be everywhere!


lundi 20 avril 2009 à 14:27:05 | Re : impression PDF

fouadabrouk

Bonjour tout le monde, J'ai exactement le même problème. Serait-il possible de m'éclairer sur ce point ? Merci d'avance...



Cette discussion est classé dans : solution, impression, possible, imprimer, pdf


Répondre à ce message

Sujets en rapport avec ce message

impression pdf [ par baham ] salut tous jvoudrai savoir si c'était possible de laisser les utilisateur visionner des pdf sans qu'ils puissent les imprimer ni les enregistrer (en p Imprimer en DOS par port USB.... [ par GLBX ] J'ai développé des logiciels sous Pascal, en mode console, en utilisant la variable fournie pour l'imprimante.Cette redirection de sortie cible le por Impression php avec la fonction printer [ par ukos ] Bonjourj aimerai savoir si il est possible d'imprimer une chaine qui contien du HTML avec la fonction PRINTER,j ai fait un test d'impression mais il m pb impression [ par fmazoue ] voila j'ai un grand formulaire (un tableau avec des cases colorier selon valeurs choisies)! et je voudrais l'imprimer mais le pb c que mes cases de ta impression de fichiers [ par putch ] bonjour à tous !voila mon soucij'ai un repertoire pdf/ lequel se trouve un certains nombre de fichiers pdf :)je souhaiterai un lien/bouton pour lancer comment imprimer les donnes en pdf en php [ par bassouma10 ] salut tousj'ai formulaire de gestion des patients et je veut imprimer ces donnees de ce patient en pdf en php et je ne sais pas le faire .merci d'avan PDF impression sur des grande étiquettes [ par jordangj ] Bonjour,je voudrai imprimer des information ce situant sur une Base de donnéemerci de vos réponcesGJ récupéré le titre d'un pdf [ par adrick ] bonjour,je cherche à récuper le titre d'un pdf cela, si possible, sans utiliser de classe ou de librairie a installer sur le serveurest-ce que cela es PHP et PDF possible?? [ par navya ] Bonjour,Je voudrais en fait passer des données récupérées en PHP dans ma base de données vers un format PDF, je me suis renseignée sur le NET et il y PDF MySQL [ par DarkTiteuf ] Est-il possible d'enregistrer un document pdf dans une BDD de type MySQL mais au niveau données pas juste un lien vers un fichier? Je sais que c'est p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.