Vsebina

# Storitev SFDocuments.Writer

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.

## Priklic storitve

Pred uporabo storitve Writer je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Storitev Writer je tesno povezana s storitvijo UI knjižnice ScriptForge. Sledi nekaj primerov, kako lahko prikličete storitev Writer.

##### V Basicu

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.

##### V Pythonu

        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.

## Definicije

## Lastnosti

## Metode

Seznam metod v storitvi Writer
Forms | ImportStylesFromFile | PrintOut

## Forms

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.

Ta metoda velja le za dokumente programa Writer. Dokumenti programov Calc in Base imajo lastno metodo Forms v svojih storitvah Calc in Base.

### Skladnja:

svc.Forms(): str[0..*]

svc.Forms(form: str = ''): svc

svc.Forms(form: int): svc

### Parametri:

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.

### Primer:

V naslednjih primerih prva vrstica pridobi imena vseh obrazcev v dokumentu, druga pa predmet Form obrazca z imenom »Form_A«.

##### V Basicu

        Set FormNames = oDoc.Forms()
        Set FormA = oDoc.Forms("Form_A")

##### V Pythonu

        form_names = doc.Forms()
        form_A = doc.Forms("Form_A")

## ImportStylesFromFile

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.

### Skladnja:

svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool

### Parametri:

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).

### Primer:

##### V Basicu

        oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)

##### V Pythonu

        doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)

## PrintOut

Pošlje vsebino dokumenta tiskalniku. Tiskalnik je lahko poprej privzeto definiran, ga definira uporabnik ali pa metoda SetPrinter() storitve Document. Vrne True, če uspe.

### Skladnja:

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

### Parametri:

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).

### Primer:

##### V Basicu

          oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)

##### V Pythonu

        doc.PrintOut(printblankpages = True, copies = 3)

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Storitev SFDocuments.Document

Storitev ScriptForge.UI