Služba SFDocuments.Writer

Sdílená knihovnaSFDocuments poskytuje řadu metod a vlastností usnadňujících správu a obsluhu dokumentů LibreOffice.

Některé metody, zděděné z modulu SF_Document, jsou obecné pro všechny typy dokumentů, zatímco jiné, specifické pro dokumenty Writeru, jsou definovány v modulu SF_Writer.

Volání služby

Před používáním služby Writer je nutné načíst či naimportovat knihovnu ScriptForge pomocí:

note

• V makrech Basicu je nutné načíst knihovnu ScriptForge následujícím příkazem:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ve skriptech Pythonu je nezbytné import z modulu scriptforge:
from scriptforge import CreateScriptService


Služba Writer úzce souvisí se službou UI knihovny ScriptForge. Níže je uvedeno několik příkladů, jak lze vytvořit instanci služby Writer.

V Basicu

V následující části kódu se vytvoří instance služby Writer, která odpovídá aktuálně aktivnímu dokumentu Writeru.


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow
  

Jiným způsobem, jak vytvořit instanci služby Writer, je použít službu UI. V následujícím příkladu se vytvoří nový dokument Writeru, proměnná oDoc je instancí služby Writer:


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Writer")
  

Nebo pomocí metody OpenDocument ze služby UI:


    Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")
  

Instanci služby Writer je také možné vytvořit pomocí metody CreateScriptService:


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
  

V příkladu výše je "MyFile.odt" název otevřeného dokumentu. Není-li tento argument uveden, použije se aktivní okno.

Po použití se doporučuje uvolnit zdroje:


    Set oDoc = oDoc.Dispose()
  

Jestliže však byl dokument zavřen metodou CloseDocument, není výše uvedený příkaz pro uvolnění zdrojů nutný.

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()
  
tip

Použití předpony "SFDocuments." není při volání této služby povinné.


Definice

Vlastnosti

Metody

Seznam metod služby Writer

Forms

PrintOut



Forms

V závislosti na předaných parametrech tato metoda vrátí:

note

Tato metoda je k dispozici pouze pro dokumenty Writeru. Dokumenty aplikací Calc a Base mají vlastní metodu Forms ve službách Calc a Base.


Syntaxe:

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

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

svc.Forms(form: int): svc

Parametry:

form: Název nebo index odpovídající formuláři uloženému v dokumentu. Pokud tento argument chybí, metoda vrátí seznam s názvy všech formulářů dokumentu.

Příklad:

V následujících příkladech se na prvním řádku získají názvy všech formulářů v dokumentu, na druhém řádku se vrátí objekt Form z formuláře pojmenovaného "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")
  

PrintOut

Odešle obsah dokumentu na tiskárna. Tiskárna mohla být dříve určena výchozím nastavením, uživatelem nebo metodou SetPrinter služby Document. V případě úspěšného odeslání vrátí True.

Syntaxe:

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

Parametry:

pages: Stránky, které se mají vytisknout, jako řetězec podobný tomu, který se zadává v uživatelském rozhraní, například: "1-4;10;15-18". Výchozí jsou všechny stránky.

copies: Počet kopií, výchozí je 1.

printbackground: Je-li True (výchozí), vytiskne se obrázek na pozadí.

printblankpages: Je-li False (výchozí), vynechají se prázdné stránky.

printevenpages: Je-li True (výchozí), vytisknou se sudé stránky.

printoddpages: Je-li True (výchozí), vytisknou se liché stránky.

printimages: Je-li True (výchozí), vytisknou se grafické objekty.

Příklad:

V Basicu

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

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

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.


Podpořte nás!