1*0e16a31dSJim Jagielski# usage: runpy.sh fixtures/ole-text/make.py <port> <out.odg> (office saving ODF 1.2 Extended) 2*0e16a31dSJim Jagielski# Draw page with an OLE object without text and one with text. 3*0e16a31dSJim Jagielskiimport sys, uno 4*0e16a31dSJim Jagielskifrom unohelp import connect, desktop, pv 5*0e16a31dSJim Jagielskifrom com.sun.star.awt import Size, Point 6*0e16a31dSJim Jagielski 7*0e16a31dSJim Jagielskiport, out = int(sys.argv[1]), sys.argv[2] 8*0e16a31dSJim Jagielskid = desktop(connect(port)) 9*0e16a31dSJim Jagielskidoc = d.loadComponentFromURL("private:factory/sdraw", "_blank", 0, (pv("Hidden", True),)) 10*0e16a31dSJim Jagielskipage = doc.DrawPages.getByIndex(0) 11*0e16a31dSJim Jagielskifor i, text in enumerate(("", "OLE label")): 12*0e16a31dSJim Jagielski s = doc.createInstance("com.sun.star.drawing.OLE2Shape") 13*0e16a31dSJim Jagielski s.CLSID = "078B7ABA-54FC-457F-8551-6147e776a997" 14*0e16a31dSJim Jagielski page.add(s) 15*0e16a31dSJim Jagielski s.Position = Point(2000 + i * 8000, 2000); s.Size = Size(5000, 3000) 16*0e16a31dSJim Jagielski if text: 17*0e16a31dSJim Jagielski s.String = text 18*0e16a31dSJim Jagielskidoc.storeToURL(uno.systemPathToFileUrl(out), (pv("FilterName", "draw8"),)) 19*0e16a31dSJim Jagielskidoc.close(True) 20