Recherche Full-Texte ss windows ds Documents Word
Last modified:
03/14/2006 10:36 AM
VERSIONS PRESENTES
* Zope : unreleased version, python
2.3.4, win32
* Python : Version 2.3.4 (#53, May 25
2004, 21:17:02)
* CPS : 3.2.4-1
*
Windows : XP
* Word : 2000
1°) RECUPERER ET INSTALLER "Python for
Windows Extensions"
* Site à l'adresse suivante :
"http://starship.python.net/crew/mhammond/"
* Télécharger win32all-163.exe à
l'adresse suivante :
"http://starship.python.net/crew/mhammond/win32/Downloads.html"
* Installer win32all-163.exe : L'exe
doit être dézippé dans le répertoire "site-packages" (Ce répertoire est
peut-être créé s'il n'existe pas : à vérifier).
Sur ma machine le répertoire
d'installation obtenu est : "C:\CPS3.2.4-1\Python\Lib\site-packages"
Il n'a donc PAS été installé ni sous
l'instance CPS ("C:\CPS3.2.4-1\Data\Products") ni sous ZOPE
("C:\CPS3.2.4-1\Zope\lib\python")
2°) Apporter des corrections necessaires
dans le script Python : Office_com.py
Erreurs à l'éxécution : "AttributeError:
wdBrowserLevelv4" et "AttributeError: wdFormatHTML"
Lors des tests effectués (c'est à dire lorsque l'on inclu un fichier attaché
de type word (.Doc) dans un document CPS), CPS plante à deux endroits
(script Office_com.py).
Exemple de plantage s/ AttributeError: wdBrowserLevelV4 :
Module Products.PortalTransforms.transforms.word_to_html, line 35, in
convert
Module Products.PortalTransforms.transforms.office_com, line 34, in
convert
Module win32com.client, line 168, in __getattr__
AttributeError: wdBrowserLevelV4
Deux corrections ont donc été apportées dans ce script afin de contourner le
problème.
1er Plantage : Variable wdBrowserLevelV4
non reconnue
Commentaire
Cette variable est utilisée par MicroSoft et sa valeur peut être trouvée sur
le site de MicroSoft :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/woproBrowserLevel.asp
Pour ce qui me concerne (j'utilise Word 2000) la valeur est 0.
Correction apportée dans le script
#La valeur 0 a été récupérée sur le site de microsoft et est prévue pour
word 2000
#word.ActiveDocument.WebOptions.BrowserLevel =
constants.wdBrowserLevelV4
word.ActiveDocument.WebOptions.BrowserLevel = 0
2ème Plantage : Variable wdFormatHTML
non reconnue
Commentaire
Cette variable est utilisée par MicroSoft et sa valeur peut être trouvée sur
le site de MicroSoft
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/woproSaveFormat.asp
Pour ce qui me concerne (j'utilise Word 2000) la valeur est 8.
Correction apportée dans le script
#La valeur 8 a été récupérée sur le site de microsoft et est prévue pour
word 2000
#doc.SaveAs(FileName="%s.htm" % (self.fullname),
#FileFormat=constants.wdFormatHTML)
doc.SaveAs(FileName="%s.htm" % (self.fullname),FileFormat=8)
Valider le script corrigé
Afin que Zope/Cps prenne en compte la modification, détruisez
Office_com.Pyc.
Il sera recrée automatiquement par la suite (Lors du prochain chargement
d'un fichier attaché de type Word).
3°) Mise en Place définitive
Destruction du "Portal_Transforms"
existant
Utiliser la ZMI (cochez-le puis delete)
Regénération du nouveau
"Portal_Transforms"
Utiliser la ZMI.
Clickez sur "Portal_transforms_installer" et sur l'onglet "Test".
Contrôler le "Portal_Transforms" : il devrait cette fois porter la ligne :
"word_to_html"
Cas des documents créés
Si vous avez créé votre document dans "Portal_Types", vérifiez bien que :
- la pièce jointe déclarée dans "Portal_Schemas" porte bien la coche
"Indexed by searchable Text"
- la pièce jointe dans "Portal_layout" porte bien dans le champ "Allowed
file suffixes" les formats souhaités : ".Doc"
Tests (contrôle du Preview)
Créer ou utiliser un document avec possibilité de joindre un fichier
attaché.
Indiquer l'adresse de votre document word, et chargez-le.
Enregistrer le document.
Contrôler que votre document porte bien le "Preview" (Prévisualisation)
comme dans la vignette ci-dessus.
Ci c'est le cas votre recherche va fonctionner : vérifiez par l'option
"Recherche" que vous trouvez bien un mot contenu dans votre document (que
vous aurez préalablement recherché "of course").
Bon courage.
N'hésitez pas à me laisser vos commentaires et retours d'expérience.