Ein Textrahmen ist ein eigenes Objekt in einem Text.
Die ersten wichtigsten Parameter zum Einfügen des Rahmen sind dabei: Name, Höhe, Breite,
Position (horizontal, vertikal).
Um einen Rahmen einzufügen muss einen neues Rahmenobjekt einzufügen, muss man als
erstes einen Cursor aufrufen ( ViewCursor oder TextCursor dazu weiter unten noch Details).
Danach muss man das neue Objekt des Rahmen (com.sun.star.text.TextFrame) erstellen. An
diesem Objekt müssen dann die Parameter eingestellt werden. Danach kann man den neuen
Rahmen einfügen.
odocument=thiscomponent
oText = oDocument.Text
oCursor = oText.createTextCursor()
'Den neune Textrahmen als Objekt erstellen.
oFrame = oDocument.createInstance("com.sun.star.text.TextFrame")
'Weite und Höhe des Rahmen festlegen
oframe.width = 2000
oframe.height = 2000
'Position des Rahmen festlegen in 100/mm
oframe.HoriOrientPosition =2000
oFrame.VertOrientPosition = 2000
'Name festlegen
oframe.setname("RahmenName")
'Positionsvorgaben ausschalten ( siehe unten)
oFrame.HoriOrient = com.sun.star.text.HoriOrientation.NONE
oFrame.VertOrient = com.sun.star.text.VertOrientation.NONE
'Rahmen einfügen
oText.insertTextContent(oCursor, oFrame, FALSE)
Zusätzlich müssen noch weitere Einstellungen vorgenommen werden.
Die Art der Verankerung, wird mit den enum com.sun.star.text.TextConetntAnchorType:
oFrame.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE
Mögliche Parameter:
AT_PARAGRAPH, an dem Absatz
AT_PAGE, an der Seite
AT_CHARACTER, am Zeichen
AS_CHARACTER, als Zeichen
Je nach Typ der Verankerung spielt die Position des Cursors eine Rolle. Die Position
des
Cursors bestimmt auch die Position des neuen Rahmens. Ein neu erstellter TextCursor
befindet sich am Anfang des Dokumentes. Dieser muß also erst an die Position für den
Rahmen bewegt werden.
Wichtig sind auch die Parameter für vertikale und horizontale Positionierung. Diese
müssen
angegeben werden, da die Standardwerte eines neuen Objektes die gewünschten Einstellung
für die Positionierung überschreiben.
oFrame.HoriOrient = com.sun.star.text.HoriOrientation.NONE
oFrame.VertOrient = com.sun.star.text.VertOrientation.NONE
Die Parameter HoriOrient und VeriOrient bestimmen die Positionierung des Rahmens ohne
Angabe von Positionsdaten. Diese werden überschrieben, wenn die Einstellung nicht None ist.
oFrame.HoriOrient = com.sun.star.text.HoriOrientation.CENTER
führt dazu das die Angabe des horizontale Parameters ignoriert wird.
Die Parameter für den horizontalen und vertikalen Wert unterscheiden sich.
Die wichtigsten mögliche Werte für HoriOrient:
CENTER, mittig
LEFT, linksbündig
RIGHT, rechtsbündig
NONE, keine Angabe.
Die wichtigsten mögliche Werte für VeriOrient:
CENTER, mittig
TOP, oben
BOTTOM, unten
NONE, keine Angabe
Zusätzlich gibt es noch Parameter für die Orientierung an Zeichen.
Außerdem gibt es noch Parameter für den Rahmenliniern, Hintergrund usw. Die Beschreibung
folgt noch.