Bonjour Jean
Suite à un très gros problème qui nous oblige à rechercher les infos sans
délai, sur une application développée en interne mais dont les sources ne sont
plus accessibles pour les unes, et très difficilement décodables pour les
autres, je souhaiterai savoir s'il existe des docs permettant de voir comment
gérer, depuis une appli java, l'insertion de scripts externes dans OOo-Writer.
regarde sur la liste [EMAIL PROTECTED] et [EMAIL PROTECTED]
en fin de mail un example en c++ dans une reponse de Mathias Bauer
ces scripts sont enregistrés par l'appli dans le .odt des documents concernés
sous le nom « tree.xml », avec la structure du document (cadres, tableaux,
données variables, ...).
que contient le fichier manifest.xml ?
Apparemment, ce fichier « treee.xml » ne fait pas partie des fichiers standard
d'un .odt, c'est pourquoi nous pensons que c'est l'appli java spécifique qui le
crée (erreur ?...).
ce peut etre effectivement des parametrages sopecifiques
maintenant, sans voir le fihcier, c'est difficile à dire
Laurent
'--------
using namespace com::sun::star;
void StoreMyData( sal_Int8* pData, sal_Int32 nDataLen )
{
Reference <document::XStorageBasedDocument> xDoc( xTextDocument,
uno::UNO_QUERY );
if (!xStore.is())
return;
Reference <embed::XStorage > xStg( xDoc->getDocumentStorage() );
Reference <embed::XStorage > xSubStg = xStg->
openStorageElement( sStorName, embed::ElementModes::READWRITE );
::rtl::OUString MyMediaType(...); // whatever you like
::rtl::OUString MyStgName(...); // whatever you like
xSubStg->setPropertyValue(myStgName, makeAny(myMediaType));
Reference <io::XStream > xStream = xSubStg->openStreamElement(
myStreamName, embed::ElementModes::READWRITE );
Reference <io::XOutputStream > xOut = xStream->getOutputStream();
uno::Sequence < sal_Int8 > aData( pData, nDataLen );
xOut->writeBytes( aData, nDataLen );
xOut->closeOutput();
xSubStg->commit();
}
I recommend to use a MediaType that points to your own "name space".
As an example, I would use "vnd.sun.star.MyComponent.MyData" (as I am
working for Sun/StarOffice).
So if you are a working on the component "Blob" for the company
"BlobFactory" perhaps "vnd.BlobFactory.Blob.BlobData" would be a good
idea. The name for your storage should probably also use this namespace
while the name of the stream is not important as only your own component
will access your sub storage.
Ciao,
Mathias
--
Mathias Bauer (mba) - Project Lead OpenOffice.org Writer
--
Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org -
http://www.indesko.com
Nuxeo Enterprise Content Management >> http://www.nuxeo.com -
http://www.nuxeo.org
Livre "Programmation OpenOffice.org", Eyrolles 2004-2006
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]