Περιεχόμενα

# Υπηρεσία SFDocuments.Writer

Η κοινόχρηστη βιβλιοθήκη SFDocuments παρέχει έναν αριθμό μεθόδων και ιδιοτήτων για τη διευκόλυνση της διαχείρισης και του χειρισμού των εγγράφων του LibreOffice.

Ορισμένες μέθοδοι είναι γενικές για όλους τους τύπους εγγράφων και κληρονομούνται από την ενότητα SF_Document, ενώ άλλες μέθοδοι που είναι ειδικές για έγγραφα Writer ορίζονται στην ενότητα SF_Writer.

## Κλήση υπηρεσίας

Πριν χρησιμοποιήσετε την υπηρεσία Writer πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:

• Οι μακροεντολές Basic απαιτούν τη φόρτωση της βιβλιοθήκης ScriptForge χρησιμοποιώντας την ακόλουθη πρόταση:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Τα σενάρια Python απαιτούν εισαγωγή από την ενότητα scriptforge:
από το scriptforge import CreateScriptService

Η υπηρεσία Writer σχετίζεται στενά με την υπηρεσία UI της βιβλιοθήκης ScriptForge. Παρακάτω είναι μερικά παραδείγματα για το πώς μπορεί να κληθεί η υπηρεσία Writer.

##### Σε Basic

Το παρακάτω απόσπασμα κώδικα δημιουργεί μια παρουσία υπηρεσίας Writer που αντιστοιχεί στο τρέχον ενεργό έγγραφο Writer.

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

Ένας άλλος τρόπος για να δημιουργήσετε μια παρουσία της υπηρεσίας Writer είναι η χρήση της υπηρεσίας UI. Στο παρακάτω παράδειγμα, δημιουργείται ένα νέο έγγραφο Writer και το oDoc είναι μια παρουσία υπηρεσίας Writer:

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

Ή χρησιμοποιώντας τη μέθοδο OpenDocument από την υπηρεσία UI:

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

Είναι επίσης δυνατό να δημιουργήσετε την υπηρεσία Writer χρησιμοποιώντας τη μέθοδο CreateScriptService:

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

Στο παραπάνω παράδειγμα, το "MyFile.odt" είναι το όνομα ενός ανοιχτού παραθύρου εγγράφου. Εάν αυτό το όρισμα δεν παρέχεται, λαμβάνεται υπόψη το ενεργό παράθυρο.

Συνιστάται η απελευθέρωση πόρων μετά τη χρήση:

        Set oDoc = oDoc.Dispose()

Ωστόσο, εάν το έγγραφο έκλεισε χρησιμοποιώντας τη μέθοδο CloseDocument, δεν είναι απαραίτητο να απελευθερωθούν πόροι χρησιμοποιώντας την εντολή που περιγράφεται παραπάνω.

##### Σε Python

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

Η χρήση του προθέματος "SFDocuments." κατά την κλήση της υπηρεσίας είναι προαιρετική.

## Ορισμοί

## Ιδιότητες

## Μέθοδοι

Κατάλογος μεθόδων στην υπηρεσία Writer
Forms | ImportStylesFromFile | PrintOut

## Forms

Ανάλογα με τις παραμέτρους που παρέχονται, αυτή η μέθοδος θα επιστρέψει:

- Ένας πίνακας μηδενικής βάσης (ή μια πλειάδα στην Python) με τα ονόματα όλων των μορφών που περιέχονται στο έγγραφο (εάν το όρισμα form απουσιάζει)

- Ένα στιγμιότυπο υπηρεσίας SFDocuments.Form που αντιπροσωπεύει τη φόρμα που έχει καθοριστεί ως όρισμα.

Αυτή η μέθοδος ισχύει μόνο για έγγραφα Writer. Τα έγγραφα Calc και Base έχουν τη δική τους μέθοδο στις υπηρεσίες Forms στα Calc και Base, αντίστοιχα.

### Σύνταξη:

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

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

svc.Forms(form: int): svc

### Παράμετροι:

form (φόρμα): Το όνομα ή το ευρετήριο που αντιστοιχεί σε μια φόρμα που είναι αποθηκευμένη στο έγγραφο. Εάν αυτό το όρισμα απουσιάζει, η μέθοδος θα επιστρέψει έναν κατάλογο με τα ονόματα όλων των μορφών που είναι διαθέσιμες στο έγγραφο.

### Παράδειγμα:

Στα ακόλουθα παραδείγματα, η πρώτη γραμμή λαμβάνει τα ονόματα όλων των μορφών στο έγγραφο και η δεύτερη γραμμή ανακτά το αντικείμενο Form της φόρμας με το όνομα "Form_A".

##### Σε Basic

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

##### Σε Python

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

## ImportStylesFromFile

Αυτή η μέθοδος φορτώνει όλες τις τεχνοτροπίες που ανήκουν σε μία ή περισσότερες οικογένειες τεχνοτροπιών από ένα κλειστό αρχείο στο πραγματικό έγγραφο. Το πραγματικό έγγραφο πρέπει να είναι ένα έγγραφο Calc ή ένα έγγραφο Writer.

Εισάγονται πάντα μαζί:

- ParagraphStyles και CharacterStyles

- NumberingStyles και ListStyles

Επιστρέφει True εάν οι τεχνοτροπίες εισήχθησαν με επιτυχία.

### Σύνταξη:

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

### Παράμετροι:

filename: Το αρχείο από το οποίο θα φορτωθούν οι τεχνοτροπίες στη σημειογραφία FileSystem. Το αρχείο θεωρείται ότι είναι του ίδιου τύπου εγγράφου με το πραγματικό έγγραφο.

families: Μία από τις οικογένειες τεχνοτροπίας που υπάρχουν στο πραγματικό έγγραφο, ως συμβολοσειρά με διάκριση πεζών-κεφαλαίων ή ως πίνακας τέτοιων συμβολοσειρών. Αφήστε αυτό το όρισμα κενό για να εισαγάγετε όλες τις οικογένειες.

overwrite: Όταν είναι True, οι πραγματικές τεχνοτροπίες ενδέχεται να αντικατασταθούν. Η προεπιλογή είναι False.

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

## PrintOut

Στείλτε τα περιεχόμενα του εγγράφου στον εκτυπωτή. Ο εκτυπωτής μπορεί να έχει καθοριστεί προηγουμένως από προεπιλογή, από τον χρήστη ή από τη μέθοδο SetPrinter της υπηρεσίας Document. Επιστρέφει True όταν είναι επιτυχής.

### Σύνταξη:

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 (σελίδες): Οι σελίδες που θα εκτυπωθούν ως συμβολοσειρά, όπως στη διεπαφή χρήστη. Παράδειγμα: "1-4;10;15-18". Προεπιλογή = όλες οι σελίδες

copies (αντίγραφα): Ο αριθμός των αντιγράφων, η προεπιλογή είναι 1.

printbackground (εκτύπωση παρασκηνίου): Εκτυπώνει την εικόνα παρασκηνίου όταν είναι True (προεπιλογή).

printblankpages (εκτύπωση κενών σελίδων): Όταν είναι False (προεπιλογή), παραλείπει τις κενές σελίδες.

printevenpages (εκτύπωση ζυγών σελίδων): Εκτυπώνει τις ζυγές σελίδες όταν είναι True (προεπιλογή).

printoddpages (εκτύπωση μονών σελίδων): Εκτύπωση των μονών σελίδων όταν είναι True (προεπιλογή).

printimages (εκτύπωση εικόνων): Εκτυπώνει αντικείμενα γραφικών όταν είναι True (προεπιλογή).

### Παράδειγμα:

##### Σε Basic

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

##### Σε Python

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

Όλες οι ρουτίνες ή αναγνωριστικά του ScriptForge στη Basic που έχουν το πρόθεμα χαρακτήρα υπογράμμισης "_" δεσμεύονται για εσωτερική χρήση. Δεν προορίζονται να χρησιμοποιηθούν σε μακροεντολές Basic ή σενάρια Python.

Σχετικά θέματα

Υπηρεσία SFDocuments.Document

Υπηρεσία ScriptForge.UI