Pomoč LibreOffice 24.8
Knjižnica SFDocuments v skupni rabi vsebuje metode in lastnosti, ki pomagajo pri upravljanju in ravnanju z dokumenti LibreOffice.
Nekatere metode so generične za vse vrste dokumentov in se dedujejo iz storitve SF_Document, medtem ko so druge metode, specifične za dokumente programa Writer, definirane v modulu SF_Writer.
Pred uporabo storitve Writer je potrebno naložiti ali uvoziti knjižnico ScriptForge:
Storitev Writer je tesno povezana s storitvijo UI knjižnice ScriptForge. Sledi nekaj primerov, kako lahko prikličete storitev Writer.
Spodnji odlomek kode ustvari instanco storitve Writer, ki se nanaša na trenutno dejavni dokument Writer.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow
  Drugi način ustvarjanja instance storitve Writer je z uporabo storitve UI. Naslednji primer ustvari nov dokument programa Writer in oDoc je instanca storitve Writer:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Writer")
  Ali z uporabo metode OpenDocument iz storitve UI:
    Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")
  Instanco storitve Writer lahko tvorite tudi z metodo CreateScriptService:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
  V zgornjem primeru je »MyFile.odt« ime okna odprtega dokumenta. Če ta argument ni podan, je upoštevano dejavno okno.
Priporočamo, da po uporabi sprostite vire:
    Set oDoc = oDoc.Dispose()
  Če je dokument zaprt z metodo CloseDocument, ni potrebno sproščati virov z zgoraj opisanim ukazom.
    myDoc = CreateScriptService("Writer") ' Default = ActiveWindow
  
    ui = CreateScriptService("UI")
    myDoc = ui.CreateDocument("Writer")
  
    myDoc = ui.OpenDocument(r"C:\Documents\MyFile.odt")
  
    myDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
    myDoc.Dispose()
  Uporaba predpone »SFDocuments.« pri klicu storitve je neobvezna.
| Seznam metod v storitvi Writer | ||
|---|---|---|
Glede na podane parametre ta metoda vrne:
Ničelno polje (ali par v Pythonu) z imeni vseh obrazcev, vsebovanih v dokumentu obrazca (če ni podan argument form).
Instanca storitve SFDocuments.Form, ki predstavlja obrazec, naveden v argumentu.
svc.Forms(): str[0..*]
svc.Forms(form: str = ''): svc
svc.Forms(form: int): svc
form: ime ali številka indeksa obrazca, shranjenega v dokumentu. Če ta argument ni podan, metoda vrne seznam z imeni vseh obrazcev, ki so na voljo v dokumentu.
V naslednjih primerih prva vrstica pridobi imena vseh obrazcev v dokumentu, druga pa predmet Form obrazca z imenom »Form_A«.
    Set FormNames = oDoc.Forms()
    Set FormA = oDoc.Forms("Form_A")
  
    form_names = doc.Forms()
    form_A = doc.Forms("Form_A")
  Ta metoda naloži vse sloge, ki pripadajo eni ali več družin slogov iz zaprte datoteke v dejanski dokument. Slednji mora biti dokument programa Calc ali Writer.
Vedno so uvoženi skupaj:
ParagraphStyles in CharacterStyles
NumberingStyles in ListStyles
Vrne True, če so bili slogi uspešno uvoženi.
svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool
filename: ime datoteke, iz katere se naložijo slogi, v notaciji FileSystem. Za to datoteko se predvideva, da je iste vrste kot dejanski dokument.
families: ena od družin slogov, prisotna v dejavnem dokumentu, podana kot niz, v katerem se ločuje med malimi in velikimi črkami, ali kot polje takšnih nizov. Če želite uvoziti vse družine, pustite ta argument prazen.
overwrite: če je True, bo možno prepisati trenutne sloge (privzeta vrednost je False).
    oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)
  
    doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)
  Pošlje vsebino dokumenta tiskalniku. Tiskalnik je lahko poprej privzeto definiran, ga definira uporabnik ali pa metoda SetPrinter() storitve Document. Vrne True, če uspe.
svc.PrintOut(opt pages: str = "", opt copies: num = 1, opt printbackground: bool = True, opt printblankpages: bool = False, opt printevenpages: bool = True, opt printoddpages: bool = True, opt printimages: bool = True): bool
pages: strani, ki jih želite natisniti, kot niz, tako kot v uporabniškem vmesniku. Primer: »1-4;10;15-18«. Privzeta vrednost je tiskanje vseh strani.
copies: število kopij. Privzeto ima vrednost 1.
printbackground: natisne sliko ozadja, če ima vrednost True (privzeto).
printblankpages: če je True (privzeta vrednost), izpusti prazne strani.
printevenpages: natisne sode strani, če ima vrednost True (privzeto).
printoddpages: natisne lihe strani, če ima vrednost True (privzeto).
printimages: natisne grafične predmete, če ima vrednost True (privzeto).
      oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)
  
    doc.PrintOut(printblankpages = True, copies = 3)