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

XMLRAD Discussion :

Création de Report PDF


Sujet :

XMLRAD

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut Création de Report PDF
    1 / Je voudrais voir comment fonctionne le XMLC_OutputFormat=PDF.
    J'ai tenté de créer un report maître/détails, mais lors de son execution j'ai le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConvertHTMLtoPDF Erreur système. Code : 3. Le chemin d'accès spécifié est introuvable
    2 / je me suis inspiré de l'exemple "Pubs" et j'y ai vu :

    XMLC_HTML2PDF = C:\Program Files\HTMLDOC\ghtmldoc.exe
    qu'est ce que c'est ?

    3 / Dans le xsl du report je voudrais utiliser les temples de xslc.xsl, mais il refuse les "import", comment puis-je faire ?

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Par défaut
    tu cherches XMLC_HTML2PDF dans http://xmlrad.com/manual/appendix14/index.htm et tu auras plus d'explications

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut
    Merci pour le lien, j'ai pas été très curieux ! Maintenant ça marche bien pour ouvrir un jolie pdf.

    En regardant l'exemple Pubs, il y a aussi la possibilité de faire un écran d'impression sous forme HTML en cliquant sur le bouton "button_print' (l'imprimante). Donc en plus d'imprimer vers un pdf, j'aimerais donner la possibilté d'avoir une impression sur HTML car c'est un bon moyen de faire un preview rapide en fait. Enfin, j'aimerais exporter ces données sous forme de fichier mais cela fait l'objet d'un autre thème. Revenons donc à l'impression vers HTML.

    Au regard de l'exemple Pubs, il suffit d'ajouter XMLC_OutputFormat=HTML ! Et bien sûr avec mon appli, ça marche de façon boiteuse ! Voilà mon problème :

    Je veux exporter des données entre deux bornes (FIRST et LAST) saisies par l'utilisateur. Pour cela, j'ai créer un petit formulaire avec deux input texte (FIRST et LAST), puis 3 input image : save (autre sujet), print_pdf, print_html.

    Le print_pdf fonctionne à merveille avec l'input suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" border="1" alt="{/document/Locales/FilePDF}" src="{$XMLC_PictosPath}button_pdf.gif" onclick="ACTION.value='ReportXXX';"/>
    Aussi le print_html devrait fonctionner avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" border="1" alt="{/document/Locales/Print}" src="{$XMLC_PictosPath}button_print.gif" onclick="ACTION.value='ReportXXX?XMLC_OutputFormat=HTML';"/>
    Bah non, j'ai le message :
    Component "REPORTXXX?XMLC_OUTPUTFORMAT=HTML" not found.

    J'ai essayé de mettre un lien à la place contenant l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="ReportXXX?XMLC_OutputFormat=HTML" target="blank">
    <img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif"/>
    </a>
    J'ai bien un écran d'impression html mais sans données. Par contre, si je force les valeurs de FIRST et de LAST, c'est parfait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="{/document/Aliases/MACWEBDLL}ReportCOMPTA?XMLC_OutputFormat=HTML&amp;FIRST=200401&amp;LAST=200402" target="blank">
    <img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif"/>
    </a>
    En fait je n'arrive pas à récupérer les valeurs du formulaire !

    La méthode m'est égale, je veux juste avoir un résultat correct !

    Merci

  4. #4
    EJ
    EJ est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Par défaut
    Est-ce que tes valeurs sont bien envoyées dans le context?
    Si tu appelles une valeur qui n'est pas valorisée, c'est normal qu'il ne te donne rien: est-ce que tu utilises bien le bon formulaire pour passer tes valeurs?
    Ensuite l'autre possibilité que je vois, c'est que dans le lien il faut éventuellement que tu lui précises qu'il utilise ces paramètres.
    J'utilise la petite icone du bandeau XMLRAD avec ça à la place du lien du ToolbarButton qui a l'image de l'imprimante: {$XMLC_PictosPath}button_print.gif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       <xsl:with-param name="HRef">
       <xsl:value-of select="/document/Aliases/MonappliDLL"/>Monreport?MonParams=<xsl:value-of select="/document/Params/MonParams"></xsl:value-of>
       </xsl:with-param>
       <xsl:with-param name="Target">_blank</xsl:with-param>
    Mais c'est vrai que mes pramètres sont passés par le context, pas par un formulaire...

    En espérant que ça pourra t'aider

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut Les valeurs ne sont pas dans le context
    Le problème est bien là : les valeurs ne sont pas dans le context. Pourtant aussi bien mon input que mon Href sont dans mon formulaire (méthode post), avec le input, les valeurs sont mises dans le context car ça marche ; mais avec le href, elles ne sont pas envoyées dans le context avant l'exécution. Aussi la solution que tu me proposes ne marche pas car dans les xsl:value-of la valeur de "/document/Params/MonParams" est vide !

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Par défaut
    J'ai l'impression que tu t'emmèle un peu les pinceaux.
    1 ReportXXX?XMLC_OutputFormat=HTML n'a pas trop de sens puisque par défaut les feuilles xsl génèrent du html. Aussi, à partir du moment où ReportXXX.xsl existe tu peux générer du html comme pour tous les xmlservices visuels.
    2 si tu fais un href, tu n'as pas besoin de formulaire dans la mesure où il n'y a pas de post d'effectué. Les seuls params qui sont passés sont ceux de ton href (dans ton exemple ReportCOMPTA?FIRST=200401&amp;LAST=200402). A partir du moment où ton ReportCOMPTA attend bien les deux params FIRST et LAST (et rien qu'eux) alors ça doit fonctionner.
    Si tu utilises un formulaire, lors du post, ReportCOMPTA va recevoir aussi les deux params FIRST et LAST. Masi pour cela il faut faire un submit. Hors dans l'exemple que tu donnes il n'y a pas de submit. Le mieux est d'utiliser les fonctions apportées par xslc.js (toujours enrichissant à consulter :o ). Tu fais (en supposant que tu as <form name="MainForm"...>)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <img...>
         <xsl:attribute name="onclick">
              SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA');
         </xsl:attribute>
    </img>
    Tu peux passer aussi d'autres params en faisant des <input type="hidden" name="XMLC_OutputFormat"/> et juste avant le SubmitForm.. tu fais SetField('MainForm', 'XMLC_OutputFormat', 'PDF') dans le cas où tu fais une génération PDF et tu le laisse vide (pas de SetField) si tu veux une preview HTML.

    Voilà j'espère que ça t'éclaire un peu.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut ça avance !
    Ouais, je m'emmèle un pneu les pinceaux ! Mais ça avance !

    1 / Peux-tu me confirmaer cette affirmation : "Je ne peux pas utiliser de Href car mes données proviennent d'un formulaire de saisie à l'écran et sans post, pas possible !"

    2 / Dans mon exemple, il n'y a peut être pas de submit mais lors que je clique sur l'icone avec le code suivant ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" border="1" alt="{/document/Locales/FilePDF}" src="{$XMLC_PictosPath}button_pdf.gif" onclick="ACTION.value='ReportXXX';"/>
    C'est pour cela que je pensais que ça marcherait avec '?XMLC_OutputFormat=HTML' en plus.
    De plus, lors que je supprime la valeur PDF à OutputFormat dans mes Params, j'obtiens bien une belle page HTML. Aussi, sans submit, ça marche bien aussi ; mais ok, pas comme je veux !

    3 / Parlons de ton idée avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:attribute name="onclick"> 
              SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA'); 
         </xsl:attribute>
    En fait, il n'était pas dans mon projet, je l'ai ajouté dans mon sharedPortal et je peux désormais cliquer sur l'icone. Mais cela m'envoie sur une autre forme qui n'a rien à voir. Je cherche pourquoi, mais je ne doit pas être loin !

  8. #8
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Par défaut Re: ça avance !
    Citation Envoyé par bidson
    1 / Peux-tu me confirmaer cette affirmation : "Je ne peux pas utiliser de Href car mes données proviennent d'un formulaire de saisie à l'écran et sans post, pas possible !"
    Non, tu peux aussi utiliser href et les params sont passés dans l'url.

    Citation Envoyé par bidson
    3 / Parlons de ton idée avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:attribute name="onclick"> 
              SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA'); 
         </xsl:attribute>
    Tout ce que ça fait, c'est de faire le post de ton formulaire vers le xmlservice ReportCOMPTA (c'est équivalent à href=".../ReportCOMPTA?FIRST=...&amp;LAST=..."). J'utlise beaucoup cette technique et ça m'envoie toujours sur le xmlservice souhaité

    Effectivement tu dois pas être très loin... bon courage et n'hésite pas à poser des questions si tu n'as pas toutes tes réponses

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut ça marche !
    Enfin, ça marche !
    J'ai donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <img alt="{/document/Locales/FilePDF}" border="0" src="{$XMLC_PictosPath}button_pdf.gif">
    <xsl:attribute name="onclick">SetField('MainForm', 'XMLC_OutputFormat', 'PDF'); SubmitForm('MainForm', 'ACTION', 'ReportXXX');
    </xsl:attribute>
    </img>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <img alt="{/document/Locales/FilePDF}" border="0" src="{$XMLC_PictosPath}button_pdf.gif">
    <xsl:attribute name="onclick">SetField('MainForm', 'XMLC_OutputFormat', 'HTML'); SubmitForm('MainForm', 'ACTION', 'ReportXXX');
    </xsl:attribute>
    </img>
    Je suis obligé à chaque fois de mettre un paramètre (PDF ou HTML) car il le garde en mémoire.

    Deux dernières petites questions :

    1 / A quoi sert return false à la fin du submit ?
    2 / comment puis-je pour ouvrir dans une nouvelle fenêtre la visualisation en HTML j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif" target="blank">
    mais ça marche pas !

    Merci

  10. #10
    Membre confirmé
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Par défaut
    pour l'ouverture dans une nouvel fenètre, le target="_blank" fonctionne avec le href. Tu peux faire win = window.open(location, params) qui te permet grace aux params d'ouvrir une fenètre sans statusbar, scrollbar, locationbar... ce qui est sympa.

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut ça va venir
    J'utilise donc windows.open pour afficher mes données sur une nouvelles page. Je me suis inspiré des sources de XMLRAD avec le test à un base de données. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:attribute name="onclick">window.open('','HTMLPopup','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1, resizable=1,width=500,height=500,left=100,top=100'); SetField('MainForm', 'XMLC_OutputFormat', 'HTML'); SubmitForm('MainForm', 'ACTION', 'ReportCOMPTA',TARGET,'HTMLPopup'); 
    </xsl:attribute>
    Je crée une fenetre appelée 'HTMLPopup' et je fais le submit à l'intérieur par le TARGET, mais la fenetre est vide et ma page principe ne bouge pas, elle reste sur ma forme de sélection de l'intervalle.

    Si je vire la fin de mon submitform (SubmitForm('MainForm', 'ACTION', 'ReportCOMPTA'); ), alors mes données s'affichent dans ma forme principale et que j'ouvre une fenetre vide comme précédement.

    Il doit manquer quelque chose !!!

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut J'ai trouvé
    En relisant mon message, j'ai vu qu'il manquait des quote à 'TARGET' !!!

    Merci pour tout

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

Discussions similaires

  1. [Report builder] Création d'un PDF
    Par JeanMarc_T2k dans le forum Autres outils décisionnels
    Réponses: 5
    Dernier message: 28/01/2008, 17h52
  2. Création d'un pdf avec xml et fop
    Par gwendo dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 31/07/2006, 09h19
  3. [FPDF] cours sur les créations de fichier pdf
    Par phpaide dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/05/2006, 13h01
  4. [VB]création de documents PDF
    Par debah2001 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/03/2006, 17h40
  5. [C#]Création de fichier PDF
    Par SLE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/02/2006, 14h00

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