Categories > OpenTBS with DOCX >

[fr] document docx corrompu

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Laurent
Date: 2012-05-27
Time: 23:29

[fr] document docx corrompu

Bonjour,

J'ai découvert avec plaisir TinyButStrong pour créer des documents word. Cependant j'ai un petit problème.

Je dois remplir mon document avec plusieurs données. 1: données client, 2: participants, 3: produits avec image
Pour ce faire j'ai créé trois tableaux dans mon code php que je merge avec mon template en appelant trois fois mergeblock(), une fois pour chaque tableau.
Si je ne mets pas les images, aucun problème. Mais quand j'ajoute les images, quand j'ouvre le document, il me dit qu'il est corrompu, alors que quand je fais une restauration, il est parfait.

Dans le template j'ai ça

[BL1.client]

(dans un tableau)
Participants
[BL2.perPrenom;block=w:tr][BL2.perNom]



[BL3;block=begin;comm=w:p]

(dans un autre tableau)
[BL3.date;block=w:tr;headergrp=date]
[BL3.detDescription]
(image)
[BL3.image;ope=changepic;default=current;adjust]

[BL3;block=end;comm=w:p]

J'espère que vous pourrez m'aider!
By: Skrol29
Date: 2012-05-28
Time: 12:04

Re: [fr] document docx corrompu

Bonjour,

Normalement il n'y a pas de problème pour fusionner les images dans un tableau.
Quelle version de OpenTBS as-tu ?
Si tu as déjà la version 1.7.5, alors ton problème est inconnu. Pourrais-tu alors m'envoyer un modèle exemple qui reproduit le problème ?
By: Skrol29
Date: 2012-06-01
Time: 16:29

Re: [fr] document docx corrompu

Après debuggage nous nous sommes aperçu que le document final généré par OpenTBS contenait du code HTML après le code binaire du docx.

Cela venait  du script qui continuait à s'exécuter, affichant une page HTML, alors même qu'il produisait le document en mode Download.
Il fallait donc stopper le script juste après le $TBS->Show(TBS_DOWNLOAD).
By: Laurent
Date: 2012-06-02
Time: 15:17

Re: [fr] document docx corrompu

Effectivement, j'avais oublié de rajouter "+TBS_EXIT" dans le Show(OPENTBS_DOWNLOAD+TBS_EXIT);

Encore merci à Skrol29 pour son aide.