J'ai enfin compris (je ne connais pas le C++) et retrouvé la même
méthode en Basic dans le document d'Andrew Pitoniak. Mais il y a un os
de taille: on transforme par cette méthode un TextGraphicObject en
GraphicObjectShape, ce qui signifie qu'on ne peut plus l'ancrer à un
paragraphe ou à un caractère, mais seulement à la page. Il semble donc
qu'on ne peut pas reproduire par macro ce qu'on peut faire avec le GUI.
Dommage! Merci de t'être dévoué pour me répondre.
Cordialement
Marceau
Marceau GUIHARD a écrit :
Merci de ta réponse, je vais essayer de traduire ça en OOo Basic.
Cordialement
Marceau
[EMAIL PROTECTED] a écrit :
Bonjour,
Il est tout à fait possible d'intégrer une image dans le document
via l'API (sans lien). Le code n'est pas trivial, mais je l'utilise
et ça fonctionne très bien. Je l'ai récupérer sur le forum anglophone
: http://www.oooforum.org
Voici le code en C++ (pour un document "writer") :
char aFileName[200]; // nom de l'image avec chemin complet
strcpy(aFileName, "IMAGE A INSERER");
char aStr[1024];
OUString sGraphicUrl, anOUString; // Création d'un objet
graphique
Reference <XPropertySet> xGraphic = Reference <XPropertySet>
( mDocFactory->createInstance(OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.GraphicObject" ))),
UNO_QUERY );
sprintf (aStr, "file://%s", aFileName); // chemin + nom de l'image à
insérer
sGraphicUrl = OUString (aStr,
(sal_Int32)strlen(aStr),RTL_TEXTENCODING_ISO_8859_1 );
// Créer une image dans le document pour ne plus avoir de lien avec
le fichier
Reference <XNameContainer> xBitmap= Reference <XNameContainer>
(mDocFactory->createInstance(OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.BitmapTable" ))),
UNO_QUERY );
sprintf (aStr, "InternalImage_%s", aFileName); // création d'une
bitmap dans le document
// avec un nom au choix
xBitmap->insertByName(OUString::createFromAscii(aStr),
makeAny(sGraphicUrl)); // remplissage
des pixels de la bitmap avec ceux de l'image à intégrer et intégration
dans le doc
xBitmap->getByName(OUString::createFromAscii(aStr)) >>= anOUString;
// récupération de l'URL
// de l'image intégrée dans le document (URL créée automatiquement
par OO)
xGraphic->setPropertyValue(OUString::createFromAscii("GraphicURL"),
makeAny(anOUString)); // utilisation de l'URL pour l'objet graphique.
Intégrer ensuite l'objet graphique dans le document à l'emplacement
souhaité.
Cordialement,
Emmanuel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------------------------
Orange vous informe que cet e-mail a ete controle par l'anti-virus
mail. Aucun virus connu a ce jour par nos services n'a ete detecte.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]