Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-03-2013 13:30:21

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

ZendService\LiveDocx

bonjour,

j'essaye de réaliser un générateur de PDF paramétré décrit dans le lien suivant 

https://packages.zendframework.com/docs … edocx.html

mais j'ai aucune idée ou mettre ces bout de code et même d'ou commencer ?

je serai reconnaissant si quelqu'un peut m'aider en mentionnant par quoi commencer et qu'est ce que je dois configurer au juste ( ini, bootstrap,views .. etc )  pour réaliser ce qui est décrit dans le tuto.


Merci

Hors ligne

 

#2 14-03-2013 14:38:58

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Salut, tu peux faire ça dans ta couche service j'ai survolé vite fait mais ça fonctionne sous webservice soap donc ton application va recevoir une requête soap avec toutes les informations et en retour te fournira ton doc.

Hors ligne

 

#3 14-03-2013 15:13:13

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

merci pour votre réponse ,

Elle semble intéressante  votre démarche mais j'aime bien implémenter tout sur le même serveur et garder le développement aussi simple que possible , pouvais vous me conseiller d'une manière simple pour réaliser mon générateur PDF.

merci

Hors ligne

 

#4 14-03-2013 15:43:01

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Bah je viens de te la donner. T'explique pas grand chose ... C'est comme si tu me demandais comment mettre du carburant dans ta voiture, je vais te répondre à une station essence mais je saurais pas te dire si tu dois mettre du gazoil, SP etc ... Ce que tu veux utiliser c'est du soap donc je vois pas ce que vient faire la notion de serveur. Donc si tu veux plus d'aide fais l'effort de bien expliquer ton problème.

Hors ligne

 

#5 14-03-2013 16:35:24

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

alors , concernant ce que je veux faire :

une vue avec un seul bouton , en cliquant sur ce dernier , le Contrôleur déclenche une fonction usedoc() qui va implémenter (normalement) ce qui est décrit dans le tuto  c.a.d lire la Template , affecter les valeurs pour les field et générer un document final de format PDF .

alors qu'elle sont les étapes a suivre pour réaliser cette application ( pas les étapes standard mais plutôt il ya t il des fichiers de configuration a paramétré (autoloader, application.config..etc ) ou des Packages a installer , même un module prêt qui réalise cette fonctionnalité sera le bien venu .

Merci pour votre aide

Hors ligne

 

#6 14-03-2013 18:20:36

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Je comprend pas ce qu'il y a à te préciser. Tu créer une route sur laquelle pointe ton bouton et lors du clique ton contrôleur appelle un service qui va faire ce que tu veux et te retourner le fichier.

Hors ligne

 

#7 15-03-2013 15:21:03

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

Mon Controlleur

Code:

[lang=php]<?php
namespace Auth\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\Authentication\Result;
use ZendService\LiveDocx\MailMerge;
use Auth\Form\AuthForm;
use Zend\Zendservice\LiveDocx\Lodale;
class AuthController extends AbstractActionController
{
public function LoginAction()
{
$locale    = Locale::getDefault();
 $timestamp = time();

 $intlTimeFormatter = new IntlDateFormatter($locale,
         IntlDateFormatter::NONE, IntlDateFormatter::SHORT);

 $intlDateFormatter = new IntlDateFormatter($locale,
         IntlDateFormatter::LONG, IntlDateFormatter::NONE);

 $mailMerge = new MailMerge();

 $mailMerge->setUsername('Ramy')
           ->setPassword('')
           ->setService (MailMerge::SERVICE_FREE);  // for LiveDocx Premium, use MailMerge::SERVICE_PREMIUM

 $mailMerge->setLocalTemplate('license-agreement-template.docx');

 $mailMerge->assign('software', 'Magic Graphical Compression Suite v1.9')
           ->assign('licensee', 'Henry Döner-Meyer')
           ->assign('company',  'Co-Operation')
           ->assign('date',     $intlDateFormatter->format($timestamp))
           ->assign('time',     $intlTimeFormatter->format($timestamp))
           ->assign('city',     'Lyon')
           ->assign('country',  'France');

 $mailMerge->createDocument();

 $document = $mailMerge->retrieveDocument('pdf');

 file_put_contents('license-agreement-document.pdf', $document);

 unset($mailMerge);
}

}

mais j'ai eu cette erreur

Fatal error: Class 'Auth\Controller\Locale' not found in C:\wamp\www\zend\module\Auth\src\Auth\Controller\AuthController.php on line 13


aidez moi a résoudre ce problème

Hors ligne

 

#8 15-03-2013 18:02:19

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Franchement si tu ne met pas de la bonne volonté je vais te laisser te débrouiller tout seul. Tu ne fais aucun effort c'est pas en balançant bêtement ton code qu'on va t'aider. Le but c'est pas de te mâcher le travail mais de t'aider à comprendre tes erreurs or j'ai pas l'impression que tu en ais vraiment envie.

Dans le doute voici quelques pistes :

Le message est clair il te dit que la classe Auth\Controller\Locale n'existe pas, première ligne de ta fonction indexAction.
Pour résoudre ce problème renseigne toi sur les espaces de nom (namespace). La classe Locale (si je dis pas de conneries) appartient à la librairie intl.
D'une part vérifie que tu l'as bien activée dans ta configuration de PHP, d'autre part son namespace n'est pas bon puisque tu ne précises rien.
Deux cas de figures :
- soit tu fais \Locale::getDefault(); (pour lui dire que c'est au namespace racine et pas à partir de celui de ton contrôleur)
- soit tu l'importes avec use en haut de ta classe (c'est le mieux)

Hors ligne

 

#9 15-03-2013 22:15:48

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

ok merci pour votre aide

Hors ligne

 

#10 18-03-2013 10:15:17

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

je reviens toujours sur l’affaire de LiveDocx le problème de chargement de classe et je trouve pas de solution

j'ai mis le use  tel que vous m'avais recommander donc mon Controlleur.php est le suivant


Code:

[lang=php]
<?php

namespace Auth\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Auth\Form\AuthForm;
use Zend\ZendService\LiveDocx\MailMerge;


class AuthController extends AbstractActionController
{
public function LoginAction()
{
$form = new AuthForm();

 $mailMerge = new MailMerge::MailMerge();

 $mailMerge->setUsername('********')
           ->setPassword('********')
           ->setService (MailMerge::SERVICE_FREE);  // for LiveDocx Premium, use MailMerge::SERVICE_PREMIUM

 $mailMerge->setLocalTemplate('license-agreement-template.docx');

 $mailMerge->assign('software', 'Magic Graphical Compression Suite v1.9')
           ->assign('licensee', 'Henry Döner-Meyer')
           ->assign('company',  'Co-Operation')
           ->assign('date',     $intlDateFormatter->format($timestamp))
           ->assign('time',     $intlTimeFormatter->format($timestamp))
           ->assign('city',     'Lyon')
           ->assign('country',  'France');

 $mailMerge->createDocument();

 $document = $mailMerge->retrieveDocument('pdf');

 file_put_contents('license-agreement-document.pdf', $document);

 unset($mailMerge);
return array('form' => $form);
}

}

aussi j'ai mis tout la librairie de livedocx(telechargée depuis github dans C:\wamp\www\zend\vendor\zendframework\zendframework\library\Zend
et dedans bien sur il 'ya la classe MailMerge

et l'erreur que j'ai eu :
( ! ) Fatal error: Class 'Zend\ZendService\LiveDocx\MailMerge' not found in C:\wamp\www\zend\module\Auth\src\Auth\Controller\AuthController.php on line 15


quelqu’un peut m'aider ? je galère par tout toujours sans soultion sad

Hors ligne

 

#11 18-03-2013 10:51:57

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Là j'ai pas vraiment l'impression que tu cherches beaucoup... L'installation recommande d'utiliser composer pour l'installer. Certes la doc n'est pas présente mais en réfléchissant un peu tu peux te débrouiller.

Ensuite le message est pourtant claire je vais te le traduire au cas où ...

( ! ) Erreur fatale : La classe 'Zend\ZendService\LiveDocx\MailMerge' n'est pas trouvé dans C:\wamp\www\zend\module\Auth\src\Auth\Controller\AuthController.php à la ligne 15

Donc 2 solutions : soit le namespace n'est pas bon donc il ne peut pas la trouver, soit tu l'as pas mis dans le bon dossier vu que tu l'as téléchargé manuellement.

Enfin depuis quand on fait des new comme ça ?

Code:

[lang=php]$mailMerger = new MailMerger::MailMerge()

S'il y a déjà des problèmes là ça va vite poser problème.

Hors ligne

 

#12 18-03-2013 11:20:00

Ramy
Membre
Date d'inscription: 19-02-2013
Messages: 24

Re: ZendService\LiveDocx

non pardon ça était une faute d’inattention j 'ai instancié comme ceci

$mailMerger = new MailMerge()

et le problème réside toujours  dans cette ligne ,je continue a chercher espérant que m'éclairiez le chemin avec votre expérience car j'ai aussi l'installer avec composer et toujours le même problème

Merci

Hors ligne

 

#13 18-03-2013 11:34:54

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZendService\LiveDocx

Là je vois pas ce qu'on peut t'apporter de plus le problème vient de chez toi là. Il trouve pas ta classe donc tu l'as pas mis au bon endroit c'est aussi simple que ça.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages