|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Je génère un document Word 2007 en PHP. Jusque là, c'est bon. J'y mets des paragraphes, du texte, des images, tout ce que je veux. Même des titres. Du coup, j'aimerais faire un sommaire en début de document... Je construis la table des matières à partir des titres de mon document, jusqu'ici cela fonctionne également. Le souci est que ma table des matières n'affiche pas les numéros de page :/ Il me faut ouvrir le document avec Word, cliquer dans la table des matières et mettre les numéros de page à jour ainsi. Cela fonctionne, il les trouve sans problème, mais j'aimerais pouvoir y parvenir depuis le départ sans devoir ouvrir Word à la main. Est-ce faisable ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Je n'ai jamais essayé avec PHP, mais tu peux toujours générer un champ pour la table des matières avec le numéro de page.
Je pense que c'est ce dont ut as besoin.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Oui en effet, mais il y a un problème : je dois ouvrir Word et lui demander de mettre la table à jour, sans quoi il ne semble pas prendre en compte les numéros de page.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Je pense que tu vas te heurter à quelques difficultés.
Il y a deux titre niveau 1 et une table des matières.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Oui, et tu peux voir que Word a mis non seulement ce que tu me proposes ci-dessus, mais aussi les chiffres en dur dans le XML. Je comprends donc mal à quoi sert le PAGEREF xxx \h, dans la mesure où il faut de toute manière indiquer à la main le véritable numéro de page.
Je ne sais pas si je me suis bien expliqué, cette fois ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Oui, mais pour l'instant je suis un peu débordé, j'espère que ce soir, je vais pouvoir me pencher un peu plus sur la chose.
Excel fait la même chose, tu retrouves les résultats en dur dans le XML.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#7 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Il n'y a pas urgence
de ton aide en tout cas
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
C'est maintenant, car dans très peu de temps, je vais me rapprocher dangereusement de ta position.
Si tu vois une plaque minéralogique avec un B te mettre au fossé, c'est moi !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Code :
<w:instrText xml:space="preserve"> TOC \o "1-3" \h \z \u </w:instrText> Dan le code j'ai mis trois niveau de titre et on les retrouve bien TOC Table of content\o Niveau de plan"1-3" trois niveaux\h hyperlink\z \u Niveau hierachique
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#10 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Si tu mets cela dans un document qui na pas encore les numéros de page, est-ce que tu obtiens les numéros de page dès l'ouverture du document ou bien dois-tu mettre la table à jour manuellement ?
Je te joints un document Word zippé pour que tu voies bien où j'en suis. J'ai ce que tu décris dans le XML, mais Word ne m'affiche pas les numéros de page à moins que je mette la table à jour manuellement.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Je pense que tu as trouvé le problème.
Il faut mettre la table à jour manuellement. Si les données sont en dur dans le XML, Word les affiche immédiatement. Si elle doivent être calculées, il faut lancer la génération. J'ai essayé quelques commutateurs, mais rien n'y fait. Mettre une macro qui va lancer la mise à jour serait envisageable, mais c'est un fichier binaire que l'on retrouve dans le document. Je te joins un fichier binaire à mettre dans /word de ton fichier. Essaie, ça ne coûte rien.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#12 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Ok, je te remercie.
Sais-tu si je peux générer moi-même les numéros de page, de manière à ne pas être obligé d'inclure cette macro ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Je ne pense pas, la numérotation des pages est un élément dynamique qui dépend du format du document, de l'imprimante, .....
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#14 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Ok.
J'essaierai avec ta macro et, sinon, ça restera comme ça.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#15 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je m'y attendais, il ne suffit pas de mettre ce fichier dans /word... Aurais-tu un petit lien pour m'indiquer comment ajouter le type et les relations, stp ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Il faut que le document soit en docm, toutes mes confuses.
Faire un rename du fichier en docm. Il y a des changement par rapport au docx. C'est plus facile avec le fichier.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#17 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je te remercie sincèrement... Cependant, je ne sais pas si je vais l'intégrer, car je vois que c'est très complexe :
Je garde tout de même ton exemple dans un coin pour référence.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Je suis d'accord avec toi !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#19 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
D'autant que j'imagine que Word peut bloquer les macros sous certaines conditions, n'est-ce pas ? Cela rendrait complètement inutiles tous mes efforts
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Exact, il faut les autoriser et définir un niveau de sécurité de moyen à faible.
et ce sera un cortado pour moi !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com