LibreOffice 25.2 Βοήθεια
Η υπηρεσία FormDocument επιτρέπει την πρόσβαση σε έγγραφα φόρμας που είναι αποθηκευμένα στα έγγραφα του LibreOffice Base.
Σε ένα έγγραφο Base, τα υπάρχοντα έγγραφα φόρμας μπορούν να προβληθούν επιλέγοντας στη διεπαφή χρήστη. Κάθε έγγραφο φόρμας μπορεί να αποτελείται από μία ή περισσότερες φόρμες, συμπεριλαμβανομένης της κύριας φόρμας και άλλων υποφορμών.
Αυτή η υπηρεσία κληρονομεί μεθόδους και ιδιότητες από την υπηρεσία Document και χρησιμοποιείται συχνά παράλληλα με τις υπηρεσίες Base και Database.
Ανατρέξτε στην υπηρεσία Document για να μάθετε περισσότερα σχετικά με τις μεθόδους και τις ιδιότητες που μπορούν να χρησιμοποιηθούν για τη διαχείριση εγγράφων του LibreOffice .
Πριν χρησιμοποιήσετε την υπηρεσία FormDocument πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:
Μια παρουσία υπηρεσίας FormDocument μπορεί να δημιουργηθεί καλώντας τη μέθοδο OpenFormDocument που υπάρχει και στις υπηρεσίες Base και Database.
Το παρακάτω παράδειγμα χρησιμοποιεί την υπηρεσία UI για να ανοίξει ένα έγγραφο βάσης και στη συνέχεια να ανακτήσει ένα έγγραφο φόρμας. Σημειώστε ότι σε αυτό το παράδειγμα θα ανοίξουν και θα εμφανιστούν στην οθόνη τόσο το έγγραφο Base όσο και το έγγραφο φόρμας.
    Dim ui As Object, oBase As Object, oFormDoc As Object
    ui = CreateScriptService("UI")
    oBase = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    oFormDoc = oBase.OpenFormDocument("MyFormDocument")
    ' ...
    oFormDoc.CloseDocument()
  Το παρακάτω παράδειγμα χρησιμοποιεί την υπηρεσία Database για να ανοίξει το έγγραφο της φόρμας. Σε αυτήν την περίπτωση, το αρχείο Base δεν θα ανοίξει και θα εμφανιστεί μόνο το έγγραφο της φόρμας.
    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  Η κλήση του OpenFormDocument για ένα έγγραφο φόρμας που είναι ήδη ανοιχτό θα ενεργοποιήσει το παράθυρο του εγγράφου και θα το εστιάσει.
Τα παραπάνω παραδείγματα μπορούν να μεταφραστούν σε Python ως εξής:
    ui = CreateScriptService("UI")
    baseDoc = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    formDoc = baseDoc.OpenFormDocument("MyFormDocument")
    # ...
    formDoc.CloseDocument()
  
    database = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    formDoc = database.OpenFormDocument("MyFormDocument")
  | Κατάλογος μεθόδων στην υπηρεσία FormDocument | ||
|---|---|---|
Κλείνει το έγγραφο φόρμας στο οποίο αναφέρεται η παρουσία FormDocument. Επιστρέφει True εάν το έγγραφο της φόρμας έκλεισε με επιτυχία.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  Επιστρέφει είτε έναν πίνακα με τα ονόματα των κύριων φορμών που περιέχονται στο έγγραφο φόρμας, είτε μια παρουσία υπηρεσίας Form που αναφέρεται σε μια συγκεκριμένη φόρμα.
Καλέστε αυτήν τη μέθοδο χωρίς ορίσματα για να αποκτήσετε έναν πίνακα συμβολοσειρών που βασίζεται σε μηδέν με τα ονόματα όλων των μορφών που περιέχονται στο έγγραφο φόρμας.
Δώστε ένα όνομα φόρμας ή ένα ευρετήριο ως όρισμα για να αποκτήσετε μια παρουσία της υπηρεσίας Form που αντιστοιχεί στην καθορισμένη φόρμα.
Ένα έγγραφο φόρμας έχει τουλάχιστον μία κύρια φόρμα. Τα πιο σύνθετα έγγραφα φόρμας μπορεί να αποτελούνται από περισσότερες από μία φόρμες και υποφόρμες.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
form: Αυτό το όρισμα μπορεί να είναι είτε μια συμβολοσειρά με το όνομα μιας φόρμας που υπάρχει στο έγγραφο φόρμας, είτε το μηδενικό ευρετήριο της φόρμας που θα επιστραφεί. Εάν αυτό το όρισμα δεν είναι συγκεκριμένο, τότε επιστρέφεται ένας πίνακας με το όνομα όλων των διαθέσιμων φορμών.
Το ακόλουθο παράδειγμα ελέγχει εάν το έγγραφο φόρμας περιέχει μια φόρμα με το όνομα "MainForm":
    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  Το παρακάτω παράδειγμα ανακτά τη φόρμα με το όνομα "MainForm" και τη μετακινεί στην τελευταία εγγραφή:
    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  Για να μάθετε περισσότερα σχετικά με τις μεθόδους και τις ιδιότητες φόρμας, ανατρέξτε στη σελίδα βοήθειας της υπηρεσίας Form.
Αυτή η μέθοδος στέλνει τα περιεχόμενα του εγγράφου της φόρμας στον προεπιλεγμένο εκτυπωτή ή στον εκτυπωτή που ορίζεται από τη μέθοδο SetPrinter().
Επιστρέφει True εάν το έγγραφο στάλθηκε με επιτυχία στον εκτυπωτή.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
pages: Οι σελίδες που θα εκτυπωθούν ως συμβολοσειρά. Αυτό το όρισμα θα πρέπει να προσδιορίζεται με τον ίδιο τρόπο όπως στη διεπαφή χρήστη (δείτε το παράθυρο διαλόγου ). Παράδειγμα: "1-4;10;15-18". Η προεπιλεγμένη τιμή είναι μια κενή συμβολοσειρά "" που θα προκαλέσει την εκτύπωση όλων των σελίδων.
copies: Ο αριθμός των αντιγράφων που θα εκτυπωθούν (Προεπιλογή = 1).
printbackground: καθορίζει εάν η εικόνα παρασκηνίου θα πρέπει να εκτυπωθεί (Προεπιλογή = True).
printblankpages: καθορίζει εάν θα πρέπει να εκτυπωθούν οι κενές σελίδες (Προεπιλογή = False).
printevenpages: καθορίζει εάν θα πρέπει να εκτυπώνονται οι ζυγές σελίδες (Προεπιλογή = True).
printoddpages: καθορίζει εάν θα πρέπει να εκτυπώνονται οι μονές σελίδες (Προεπιλογή = True).
printimages: καθορίζει εάν οι εικόνες θα πρέπει να εκτυπωθούν (Προεπιλογή = True).
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)