Aide LibreOffice 25.8
La bibliothèque partagée SFDocuments fournit un certain nombre de méthodes et de propriétés pour faciliter la gestion et la manipulation des documents LibreOffice.
Certaines méthodes sont génériques pour tous les types de documents et sont héritées du module SF_Document, tandis que d'autres méthodes spécifiques aux documents Writer sont définies dans le module SF_Writer.
Avant d'utiliser le service Writer, la bibliothèque ScriptForge doit être chargée ou importée :
Le service Writer est étroitement lié au service UI de la bibliothèque ScriptForge. Vous trouverez ci-dessous quelques exemples de la manière dont le service Writer peut être appelé.
L'extrait de code ci-dessous crée une instance de service Writer qui correspond au document Writer actuellement actif.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow
  Une autre façon de créer une instance du service Writer consiste à utiliser le service UI. Dans l'exemple suivant, un nouveau document Writer est créé et oDoc est une instance de service Writer :
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Writer")
  Ou en utilisant la méthode OpenDocument du service UI :
    Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")
  Il est également possible d'instancier le service Writer à l'aide de la méthode CreateScriptService :
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
  Dans l'exemple ci-dessus, "MyFile.odt" est le nom d'une fenêtre de document ouverte. Si cet argument n'est pas fourni, la fenêtre active est considérée.
Il est recommandé de libérer des ressources après utilisation :
    Set oDoc = oDoc.Dispose()
  Cependant, si le document a été fermé à l'aide de la méthode CloseDocument, il devient inutile de libérer des ressources à l'aide de la commande décrite ci-dessus.
    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()
  L'utilisation du préfixe "SFDocuments." lors de l'appel du service est facultative.
| Liste des méthodes dans le service Writer | ||
|---|---|---|
En fonction des paramètres fournis, cette méthode renverra :
Une matrice de base zéro (ou un tuple en Python) avec les noms de tous les formulaires contenus dans le document (si l'argument form est absent)
Une instance de service SFDocuments.Form représentant le formulaire spécifié comme argument.
svc.Forms(): str[0..*]
svc.Forms(form: str = ''): svc
svc.Forms(form: int): svc
form : le nom ou l'index correspondant à un formulaire stocké dans le document. Si cet argument est absent, la méthode renverra une liste avec les noms de tous les formulaires disponibles dans le document.
Dans les exemples suivants, la première ligne récupère les noms de tous les formulaires du document et la deuxième ligne récupère l'objet Form du formulaire nommé "Form_A".
    Set FormNames = oDoc.Forms()
    Set FormA = oDoc.Forms("Form_A")
  
    form_names = doc.Forms()
    form_A = doc.Forms("Form_A")
  Cette méthode charge tous les styles appartenant à une ou plusieurs familles de styles d'un fichier fermé dans le document actif. Le document actif doit être un document Calc ou Writer.
Sont toujours importés ensemble :
ParagraphStyles et CharacterStyles
NumberingStyles et ListStyles
Renvoie True si les styles ont été importés avec succès.
svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool
filename : le fichier à partir duquel charger les styles dans la notation FileSystem. Le fichier est présumé être du même type de document que le document actif.
families : une des familles de style présentes dans le document réel, sous la forme d'une chaîne sensible à la casse ou d'un tableau de telles chaînes. Laissez cet argument vide pour importer toutes les familles.
overwrite : lorsque True, les styles réels peuvent être écrasés. La valeur par défaut est False.
    oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)
  
    doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)
  Envoyer le contenu du document à l'imprimante. L'imprimante peut être préalablement définie par défaut, par l'utilisateur ou par la méthode SetPrinter du service Document. Renvoie True en cas de succès.
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 : les pages à imprimer sous forme de chaîne, comme dans l'interface utilisateur. Exemple : "1-4;10;15-18". Par défaut = toutes les pages
copies : le nombre de copies. La valeur par défaut est 1.
printbackground : Imprime l'image d'arrière-plan lorsque True (par défaut).
printblankpages : lorsque False (par défaut), omet les pages vides.
printevenpages : imprime les pages paires lorsque True (par défaut).
printoddpages : imprime les pages impaires lorsque True (par défaut).
printimages : imprime les objets graphiques lorsque True (par défaut).
      oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)
  
    doc.PrintOut(printblankpages = True, copies = 3)