Le 06-06-15, à 08:20, Xavier XGE. GUILLEMINE a écrit :
Bonjour
Je rencontre des soucis avec l'API openOffice 2.0.1
Je souhaite transformer un document word contenant des champs de
fusions en document office .odt via l'API
Premièrement, passe à OOo 2.02, la fusion ne fonctionne pas très bien
sur 2.01.
Pour ton problème, il est bien simple, les champs de fusion venant de
Word sont bien vu, mais OOo ne peut les utiliser et les relier à la
source de données que Word utilisait. Pour que le tout fonctionne, tu
dois :
- convertir ton document Word en document OOo
- créer une nouvelle source de données dans OOo Base
- relier les champs de fusion avec la nouvelle source de données
- exécuter la fusion
C'est justement le genre d'opération que j'ai dû faire pour éliminer
une solution Word (qui utilisait COM et la JVM de Microsoft, beurk).
je réalise le code suivant :
/**
* Transform the documentUrl (Normally a .doc, perhaps any document
support by
* Open Office)into a odt document
*
* @param xMSF
* @param documentURL as <code>/path/template.doc</code>
* @return
*/
public void transform(XMultiServiceFactory xMSF, String
documentURL)throws OOException {
if ( logger.isDebugEnabled() ){
logger.debug(new StringBuffer(128).append("Transform to .odt :
").append(documentURL).toString());
}
// Transformation into .odt
XTextDocument docWord = OOFactory.createXTextDocument(xMSF,
documentURL);
// Saugegarde du document
String nomDocSortie = new
StringBuffer(128).append(documentURL).append(OOFileManager.getDocExtens
ion()).toString();
OORegistration reg = new OORegistration();
reg.storeDocument(docWord, documentURL, "StarOffice XML (Writer)",
nomDocSortie);
if ( logger.isDebugEnabled() ){
logger.debug(new StringBuffer(128).append("End transformation to
.odt : ").append(documentURL).toString());
}
}
--
Pascal Robert
Spécialiste en informatique/IT Specialist
OS communications informatiques inc.
+1 450 676-1238 x28
http://www.os.ca
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]