Je trouve que cette partie est assez mal expliquée dans le Developer's Guide. Je la met donc ici afin que d'autres personnes ne rame pas autant que moi pour la comprendre.
(Merci aux personnes qui m'ont aidées.)
Code : Tout sélectionner
try
{
XTextDocument xTextDocument = (XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, xComponent);
//Créé un TextRange au début du document
XTextRange xStart = xTextDocument.getText().getStart();
XTextCursor xCursor = xStart.getText().createTextCursorByRange(xStart);
XText xText = xCursor.getText();
XTextContent xImage = null;
XMultiServiceFactory xMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, xComponent);
xImage = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,xMSF.createInstance("com.sun.star.text.TextGraphicObject"));
//Définit les propriétés de l'insertion
XPropertySet xProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xImage);
xProps.setPropertyValue("AnchorType",com.sun.star.text.TextContentAnchorType.AT_PAGE);//Détermine l'ancrage à la page
xProps.setPropertyValue("GraphicURL", CorpsURL);//Détermine l'URL concernant l'image (Format: file:///C:/temp/image.gif)
xProps.setPropertyValue("Print", true);//Détermine si l'objet sera imprimé aussi lors de l'impression du doc.
xProps.setPropertyValue("Width", (int)17000 );//Largeur de l'image
xProps.setPropertyValue("Height", (int)11000);//Hauteur de l'image
xProps.setPropertyValue("VertOrient", new Short(VertOrientation.CENTER));//Alignement vertical
xProps.setPropertyValue("TextWrap", com.sun.star.text.WrapTextMode.THROUGHT);//Sans adaptation du texte pour l'image
xProps.setPropertyValue("Opaque", false); //En arrière plan
// Insère le graphique là où se trouve le curseur
xText.insertTextContent(xCursor, xImage, false);
}
catch (Exception e)
{
System.out.println("Failed to insert Graphic");
e.printStackTrace();
} 