1*0e16a31dSJim Jagielski# usage: runpy.sh fixtures/normal-values/make.py <port> <out.odt> 2*0e16a31dSJim Jagielskiimport sys, uno 3*0e16a31dSJim Jagielskifrom unohelp import connect, desktop, pv 4*0e16a31dSJim Jagielskifrom com.sun.star.text.TextContentAnchorType import AT_PAGE, AT_PARAGRAPH 5*0e16a31dSJim Jagielskifrom com.sun.star.style.BreakType import PAGE_BEFORE 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/swriter", "_blank", 0, (pv("Hidden", True),)) 10*0e16a31dSJim Jagielskitext = doc.Text 11*0e16a31dSJim Jagielski 12*0e16a31dSJim Jagielskitbl = doc.createInstance("com.sun.star.text.TextTable") 13*0e16a31dSJim Jagielskitbl.initialize(2, 3) 14*0e16a31dSJim Jagielskitext.insertTextContent(text.End, tbl, False) 15*0e16a31dSJim Jagielskic = tbl.createCursorByCellName("A1") 16*0e16a31dSJim Jagielskic.goRight(1, True) 17*0e16a31dSJim Jagielskic.mergeRange() 18*0e16a31dSJim Jagielski 19*0e16a31dSJim Jagielskicur = text.createTextCursor(); cur.gotoEnd(False) 20*0e16a31dSJim Jagielskitext.insertString(cur, "\nbody\n", False) 21*0e16a31dSJim Jagielskicur.gotoEnd(False) 22*0e16a31dSJim Jagielskicur.BreakType = PAGE_BEFORE 23*0e16a31dSJim Jagielskitext.insertString(cur, "page two\n", False) 24*0e16a31dSJim Jagielski 25*0e16a31dSJim Jagielskifn = doc.createInstance("com.sun.star.text.Footnote") 26*0e16a31dSJim Jagielskifn.Label = "" 27*0e16a31dSJim Jagielskicur.gotoEnd(False) 28*0e16a31dSJim Jagielskitext.insertTextContent(cur, fn, False) 29*0e16a31dSJim Jagielskifn.String = "note text" 30*0e16a31dSJim Jagielskitext.insertString(cur, " ", False) 31*0e16a31dSJim Jagielskifor part in (0, 3, 2): 32*0e16a31dSJim Jagielski f = doc.createInstance("com.sun.star.text.TextField.GetReference") 33*0e16a31dSJim Jagielski f.ReferenceFieldSource = 3 34*0e16a31dSJim Jagielski f.SourceName = "" 35*0e16a31dSJim Jagielski f.SequenceNumber = fn.ReferenceId 36*0e16a31dSJim Jagielski f.ReferenceFieldPart = part 37*0e16a31dSJim Jagielski text.insertTextContent(cur, f, False) 38*0e16a31dSJim Jagielski text.insertString(cur, " ", False) 39*0e16a31dSJim Jagielski 40*0e16a31dSJim Jagielskifor name, page in (("frame_p2", 2), ("frame_nopage", 0)): 41*0e16a31dSJim Jagielski fr = doc.createInstance("com.sun.star.text.TextFrame") 42*0e16a31dSJim Jagielski fr.AnchorType = AT_PAGE 43*0e16a31dSJim Jagielski if page: 44*0e16a31dSJim Jagielski fr.AnchorPageNo = page 45*0e16a31dSJim Jagielski fr.Width = 3000; fr.Height = 1000 46*0e16a31dSJim Jagielski text.insertTextContent(cur, fr, False) 47*0e16a31dSJim Jagielski fr.setName(name) 48*0e16a31dSJim Jagielski fr.Text.String = name 49*0e16a31dSJim Jagielski 50*0e16a31dSJim Jagielskidoc.storeToURL(uno.systemPathToFileUrl(out), (pv("FilterName", "writer8"),)) 51*0e16a31dSJim Jagielskidoc.close(True) 52