Come fare se un file di LibreOffice è estremamente lento

Un collega ha un problema con un file di LibreOffice Calc: era estremamente lento da aprire. Per aprirlo erano necessari proprio 10 minuti e poi comunque il computer è paralizzato. Ho provato a convertirlo in Excel, ma anche aprendolo con Microsoft Excel era estremamente lento.

Ho provato a passare al cloud, mettendolo su Google Drive e aprendolo quindi con Google Sheets. Nulla da fare, si paralizza il browser!

Ho quindi salvato il file ODS (OpenDocument Sheets) come FODS. I file di OpenOffice/Libreoffice infatti, sono file XML zippati.

Un file FODS è semplicemente lo stesso file ODS, solo che non essendo compresso, è possibile aprirlo con un editor di testo per capire che cosa succede.

Già da qui si può vedere che qualcosa non quadra. Compresso occupa 0.16 MB, non compresso 7 MB? La compressione non è magica, per diventare così piccolo, vuol dire che il file contiene un elevato tasso di ripetizione.

Infatti, ecco il problema. Per qualche motivo, nel file sono presenti centinaia di migliaia di minuscoli e invisibili caselle di testo!

Purtroppo però non è un blocco contiguo. Sono centinaia di blocchi sparsi tra contenuto “buono” da tenere, selezionarli e toglierli a mano è un’operazione che impiega giorni!

Ci aiuta xmlstarlet.

Si scarica la versione per Windows (o per Linux) e si studia la sintassi con

xmlstarlet el iltuofile.fods

e apparirà una lista lunghissima con la struttura del file. Come abbiamo visto nel file di testo, noi dobbiamo sbarazzarci di questa struttura:

office:document/office:body/office:spreadsheet/table:table/draw:custom-shape

e lo facciamo con:

xmlstarlet ed -d "office:document/office:body/office:spreadsheet/table:table/table:table-row/table:table-cell/draw:custom-shape" iltuofile.fods > sistemato.fods

Fatto! Adesso il file si apre in pochissimi secondi, di nuovo! Si può salvare nuovamente come ODS.

Aggiornamento luglio 2022: purtroppo questo post per qualche motivo attira le attenzioni dei bot, che commentano 50 spam al giorno… chiudo i commenti, è possibile continuare sul forum.

Ti è piaciuto il contenuto? Restiamo in contatto, ricevi la nostra esclusiva newsletter molto sporadica.
I tuoi dati non saranno ceduti a terzi, non riceverai pubblicità

2 pensieri su “Come fare se un file di LibreOffice è estremamente lento

  1. A me questo problema sorge con write. C’è modo di risolvere coin una procedura simile? Magari usando sublime test in modalità testo? Grazie

    1. Può darsi che forse si siano immagini molto grandi. Specialmente gli screenshot di foto in formato PNG occupano un sacco di spazio (i png non sono affatto efficienti nel comprimere foto). Se apri il file odt con 7zip puoi guardare il contenuto e vedere se è colpa di foto troppo grandi

      Se salvi come testo però perdi tutte le immagini e la formattazione, prova a salvare prima come RTF, che potrebbe rimuovere i contenuti inutili lasciando comunque immagini e formattazione di base

I commenti sono chiusi.