Guida di LibreOffice 25.2
Il servizio Platform fornisce una raccolta di proprietà relative all'ambiente e al contesto di esecuzione correnti, come:
La piattaforma hardware (architettura, numero di CPU, tipo di macchina, e via discorrendo)
Informazioni sul sistema operativo (tipo, versione, ecc.)
La versione di LibreOffice
Il nome utente in uso
Tutte le proprietà del servizio Platform sono di sola lettura.
Prima di usare il servizio Platform è necessario caricare o importare le librerie ScriptForge:
Gli esempi sottostanti in Basic e Python istanziano il servizio Platform e accedono alla proprietà Architecture.
      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim platform As Variant
      platform = CreateScriptService("Platform")
      MsgBox platform.Architecture
    
      from scriptforge import CreateScriptService
      svc = CreateScriptService("Platform")
      bas = CreateScriptService("Basic")
      bas.MsgBox(svc.Architecture)
    | Nome | Sola lettura | Tipo | Descrizione | 
|---|---|---|---|
| Architecture | Sì | String | I bit dell'architettura hardware. Esempio: '32bit' o '64bit' | 
| ComputerName | Sì | String | Il nome di rete del computer. | 
| CPUCount | Sì | Integer | Il numero di processori. | 
| CurrentUser | Sì | String | Il nome dell'utente attualmente connesso. | 
| Extensions | Sì | Matrice di stringhe | Restituisce una matrice di stringhe con indice a partire da zero contenente gli ID interni di tutte le estensioni installate. | 
| FilterNames | Sì | Matrice di stringhe | Restituisce una matrice di stringhe non ordinata, con indice a partire da zero, contenente i nomi dei filtri di importazione ed esportazione disponibili per il documento. | 
| Fonts | Sì | Matrice di stringhe | Restituisce una matrice di stringhe, con indice a partire da zero, che contiene i nomi di tutti i caratteri disponibili. | 
| FormatLocale | Sì | String | Restituisce le impostazioni locali usate per numeri e date in formato di stringa "li-PA" (lingua-PAESE). | 
| Locale | Sì | String | Restituisce le impostazioni locali del sistema operativo in formato stringa "li-PA" (lingua-PAESE). È equivalente alla proprietà SystemLocale. | 
| Machine | Sì | String | Il tipo di macchina. Esempi: 'i386' o 'x86_64'. | 
| OfficeLocale | Sì | String | Restituisce le impostazioni locali dell'interfaccia utente in formato stringa "li-PA" (lingua-PAESE). | 
| OfficeVersion | Sì | String | La versione in uso di LibreOffice espressa come Esempio: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)' | 
| OSName | Sì | String | Il tipo di sistema operativo. Esempio: 'Darwin, Linux' o 'Windows'. | 
| OSPlatform | Sì | String | Una stringa singola che identifica la piattaforma sottostante con quante più informazioni utili possibili in un formato leggibile dagli umani. Esempio: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32' | 
| OSRelease | Sì | String | La versione di rilascio del sistema operativo. Esempio: '5.8.0-44-generic' | 
| OSVersion | Sì | String | La versione o il numero di compilazione del sistema operativo. Esempio: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021' | 
| Printers | Sì | String | L'elenco delle stampanti disponibili in una matrice con indice a partire da zero. La stampante predefinita è inserita nella prima posizione dell'elenco (index=0) | 
| Processor | Sì | String | Il nome reale del processore. Esempio: 'amdk6'. Questa proprietà potrebbe restituire lo stesso valore della proprietà Machine. | 
| PythonVersion | Sì | String | Restituisce la versione dell'interprete di Python in uso come stringa nel formato "Python versione_principale.minore.livello_di_patch" (es: "Python 3.9.7"). | 
| SystemLocale | Sì | String | Restituisce le impostazioni locali del sistema operativo in formato stringa "li-PA" (lingua-PAESE). Equivale alla proprietà Locale. | 
| UserData | Sì | Dictionary | Restituisce un'istanza di Dictionary contenente delle coppie di chiavi-valori relative alla finestra di dialogo Strumenti - Opzioni - Dati utente. | 
Gli esempi seguenti in Basic e Python illustrano come usare la proprietà Fonts per scrivere i nomi di tutti i caratteri disponibili nel foglio corrente di Calc a partire dalla cella "A1":
    Dim oDoc as Object
    Dim allFonts as Object
    Dim svcPlatform as Object
    Set oDoc = CreateScriptService("Calc")
    Set svcPlatform = CreateScriptService("Platform")
    allFonts = svcPlatform.Fonts
    oDoc.setArray("~.A1", allFonts)
  L'esempio seguente spiega come creare una tabella di Calc con tutti i valori memorizzati nella proprietà UserData, che è un'istanza del servizio Dictionary:
    Dim svcPlatform as Object, oUserData as Object, oDoc as Object
    Dim arrUserData As Object, currCell As String
    Set svcPlatform = CreateScriptService("Platform")
    oUserData = svcPlatform.UserData
    arrUserData = oUserData.ConvertToArray()
    Set oDoc = CreateScriptService("Calc", ThisComponent)
    oDoc.SetArray("~.A1", Array(Array("Key", "Value")))
    oDoc.SetArray("~.A2", arrUserData)
  Gli esempi qui sopra possono essere scritti in Python come segue:
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Calc", bas.ThisComponent)
    svc_platform = CreateScriptService("Platform")
    all_fonts = svc_platform.Fonts
    doc.setArray("~.A1", all_fonts)
  
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Calc", bas.ThisComponent)
    svc_platform = CreateScriptService("Platform")
    user_data = svc_platform.UserData
    arr_user_data = [[key, user_data[key]] for key in user_data]
    doc.SetArray("~.A1", (("Key", "Value"),))
    doc.SetArray("~.A2", arr_user_data)