IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

modification pdf puis impression imprimante directe [ZF 1.11]


Sujet :

Zend Framework PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 270
    Points : 83
    Points
    83
    Par défaut modification pdf puis impression imprimante directe
    Bonjour à tous,

    alors je souhaite imprimer directement à l'imprimante un document pdf que je modifie, voila ce que je fais :

    1ere partie : modification du document
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // ouverture du pdf
        	$pdf = Zend_Pdf::load(__DIR__.'/pdf/_test.pdf');
    	  	$pdfPage = $pdf->pages[0];
     
    	  	$width  = $pdfPage->getWidth();
        	$height = $pdfPage->getHeight();
        	// Crée une nouvelle police
    		$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
     
    		// 	Applique la police
    		$pdfPage->setFont($font, 36);
                    // ajoute HelloWord dans le pdf
    	  	$pdfPage->setFillColor(Zend_Pdf_Color_Html::color('#990000'))
    	  			->drawText('Hello world', 100, 200);
     
    	  	$pdf->save(__DIR__.'/pdf/_test_8.pdf', false);
    voila, la j'ai écrit HelloWord dans mon document, ca fonctionne si je l'ouvre avec FoxitReader, si je l'imprime avec foxit reader ca marche bien aussi

    2eme partie : Impression imprimante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	  	$fhandle = fopen(__DIR__.'/pdf_test_8.pdf','rb');	  			  	
    		$contents = fread($fhandle, filesize(__DIR__.'/pdf/_test_8.pdf'));
     
    		$handle = printer_open('NOM DE MON IMPRIMANTE');
    		printer_set_option($handle, PRINTER_COPIES , 1);
    		printer_set_option($handle,PRINTER_MODE,"raw");
    		printer_write($handle,$contents);
    		printer_close($handle);
    Ben la le fichier _test_8.pdf s'imprime sans mon "HelloWord"
    SI j'imprime le fichier avec foxitreader, il m'imprime bien ma page avec Helloword ...

    je sais pas comment faire, j'ai du déjà utiliser un arbre à moi tout seul ...

    Merci d'avance si qqun voit une solution à mon problème

    La solution de contournement éventuel que je pourrais voir est de transformer le .pdf généré en du .jpeg ou du .tiff (ou autre) puis de lancer l'impression mais je sais pas si je vais pas rencontrer d'autres problèmes



    PS : j'ai installer la bibliothèque php_printer.dll
    PS2 : suis sous windows

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    Je pense que tu as oublier d'ajouter ta $pdfPage a ton $pdf avant de faire ton save.
    Non ?

    Si tu extrais une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdfPage = $pdf->pages[0];
    Penses à la réintégrer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->pages[0] = $pdfPage;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 270
    Points : 83
    Points
    83
    Par défaut
    en fait j'ai installé SumatraPDF sur le poste,
    et maintenant je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
       		$pdf = Zend_Pdf::load(__DIR__.'/pdf/_test.pdf');
    	  	$pdfPage = $pdf->pages[0];
     
    	  	$width  = $pdfPage->getWidth();
        	$height = $pdfPage->getHeight();
     
        	// Crée une nouvelle police
    		$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
     
    		// 	Applique la police
    		$pdfPage->setFont($font, 36);
    	  	$pdfPage->setFillColor(Zend_Pdf_Color_Html::color('#990000'))
    	  			->drawText('Hello world', 100, 200);
     
    	  	$pdf->save(__DIR__.'/pdf/_test_1.pdf', false);
     
    	  	$pathPdf = __DIR__.'\pdf\_test_1.pdf';
     
    	  	$strCommand = "SumatraPDF.exe -print-to-default -exit-on-print " . $pathPdf;
    	  	exec($strCommand);
    si ça peut aider quelqu'un
    il doit y avoir moyen d'utiliser un autre utilitaire que sumatraPdf

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 270
    Points : 83
    Points
    83
    Par défaut
    Finalement,
    tu avais raison arnolem ,
    il suffit de faire comme tu l'as indiqué, beaucoup plus simple que ma méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->pages[0] = $pdfPage;
    en espérant que ca serve à qqun d'autre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/01/2015, 19h17
  2. [Plugin] Impression FullCalendar (pdf ou impression directe)
    Par Doopeijii dans le forum jQuery
    Réponses: 2
    Dernier message: 08/07/2013, 20h24
  3. [WD14] Impression de plusieurs PDF sur différents imprimantes
    Par mrabat1 dans le forum WinDev
    Réponses: 5
    Dernier message: 22/04/2010, 17h40
  4. Impression d'un fichier PDF sur une imprimante de mon choix
    Par juhel philippe dans le forum Documents
    Réponses: 2
    Dernier message: 04/11/2008, 19h10
  5. Réponses: 1
    Dernier message: 24/10/2008, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo