Ik ben nog steeds bezig met mijn C# WinForm applicatie een Calc document te maken.
Het meeste lukt inmiddels, alleen het invoegen van een plaatje krijg ik niet voor elkaar.
Na een hele dag zoeken, heb ik wel veel voorbeelden gevonden, maar die lopen allemaal fout om het moment dat ik het graphic object aanmaak.
createInstance("com.sun.star.drawing.BitmapTable") en createInstance("com.sun.star.drawing.GraphicObjectShape") geven alle twee NULL terug.
En dan werkt het niet
Hier de code die ik probeer:
Zoals gezegd geven regel 5 en 7 NULL terug.
Heeft iemand een idee?
Het meeste lukt inmiddels, alleen het invoegen van een plaatje krijg ik niet voor elkaar.
Na een hele dag zoeken, heb ik wel veel voorbeelden gevonden, maar die lopen allemaal fout om het moment dat ik het graphic object aanmaak.
createInstance("com.sun.star.drawing.BitmapTable") en createInstance("com.sun.star.drawing.GraphicObjectShape") geven alle twee NULL terug.
En dan werkt het niet

Hier de code die ik probeer:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| public void EmbedGraphic(String imgUrl, XSpreadsheet xSpreadsheet) { var xDrawPageSupplier = (XDrawPageSupplier)xSpreadsheet; var xPage = xDrawPageSupplier.getDrawPage(); var xBitmapContainer = (XNameContainer)this.mxMSFactory.createInstance("com.sun.star.drawing.BitmapTable"); var graphicObject = this.mxMSFactory.createInstance("com.sun.star.drawing.GraphicObjectShape"); var xGraphicShape = (XShape)graphicObject; xGraphicShape.setSize(new unoidl.com.sun.star.awt.Size(3104, 1093)); xGraphicShape.setPosition(new unoidl.com.sun.star.awt.Point(10,10)); var xProps = (XPropertySet)xGraphicShape; // helper-stuff to let OOo create an internal name of the graphic // that can be used later (internal name consists of various checksums) xBitmapContainer.insertByName("imgID", new Any(imgUrl)); xProps.setPropertyValue( "AnchorType", new Any(typeof (TextContentAnchorType), TextContentAnchorType.AS_CHARACTER)); xProps.setPropertyValue("GraphicURL", new Any(typeof(string), xBitmapContainer.getByName("imgID"))); xProps.setPropertyValue("Width", new Any(4000)); // original: 88 px xProps.setPropertyValue("Height", new Any(1550)); // original: 31 px xProps.setPropertyValue("Name", new Any("ccoo:image")); // inser the graphic at the cursor position xPage.add(xGraphicShape); // remove the helper-entry xBitmapContainer.removeByName("imgID"); } |
Zoals gezegd geven regel 5 en 7 NULL terug.
Heeft iemand een idee?