Correggere un errore di apertura di un file .docx

Quando un documento di Microsoft Office non funziona (nemmeno su MS Office stesso), di solito noi utenti di LibreOffice non perdiamo la calma e lo apriamo con il nostro programma preferito: questo, in moltissimi casi, funziona perfettamente e ci permette di esportare il file in un formato standard.

A volte, però, capita di imbattersi in documenti che sembra non vogliano saperne di aprirsi, neppure con LibreOffice.

In alcuni casi, come quello che vi mostrerò a breve, il problema è causato da qualche errore presente all’interno dei file che compongono il documento: docx e odt, infatti, non sono altro che archivi contenenti le informazioni sul documento quali contenuto, formattazione, ecc.

Per vederne il contenuto basta estrarre il documento in questione con un’utility di gestione degli archivi (7-zip, rar, ecc): otterremo così una cartella recante lo stesso nome del file originale e contenente, a sua volta, altri file con estensione .xml. Sono proprio questi a contenere le informazioni cui facevo riferimento prima.

Questa caratteristica ci permette di correggere il problema che impedisce a LibreOffice di aprire il documento andando a modificare (con accortezza, s’intende) i giusti file xml.

Vediamo come.

Aprendo il docx non funzionante, viene mostrato un messaggio simile ai seguenti:

Illustrazione 1: l’errore in LibreOffice
Illustrazione 2: l’errore in MS Word 2007

Entrambi i programmi descrivono lo stesso errore, in maniere leggermente diverse: combinando i due messaggi possiamo capire quale sia il problema.

In questo caso, nel file document.xml l’attributo w:eastAsiaTheme è stato “ridefinito”, cioè inserito due volte nello stesso tag, comportamento che provoca l’impossibilità di aprire il file.

Entrambi i software indicano la posizione dell’errore, ma con una differenza: LibreOffice ne rileva uno in una posizione precedente rispetto a quella indicata da Word. Che Word ignori alcune occorrenze dell’errore e non altre? Non saprei dire, ma la cosa non mi stupirebbe.

A questo punto, estratto il contenuto del documento, entriamo nella cartella generata e cerchiamo il file document.xml che si trova nella sottocartella word/ ed apriamolo con un editor di testo che ci mostri correttamente la posizione in cui ci troviamo nel testo: io ho usato Kate e Brackets in ambiente GNU/Linux ed entrambi mostrano riga e colonna nell’area in basso.

Intanto rassicuriamoci: il frutto delle nostre ore di lavoro non è andato perso!

Sorge però un altro problema: nella posizione indicata da entrambi i programmi non è presente il doppio attributo.

Per aggirare questo ostacolo, basta aprire il file document.xml con Chromium (Chrome se siete su Windows): il browser segnalerà l’errore, ma visualizzerà comunque il contenuto del documento precedente l’errore.

In base al contenuto visualizzato dal browser, potremo quindi identificare la posizione corretta dell’errore.

Nel caso dell’esempio, l’ultima parola che il browser permette di visualizzare è “quota”: cercandola nel testo ho trovato la riga incriminata:

<w:rFonts w:eastAsia=”Calibri” w:cs=”Times New Roman” w:eastAsiaTheme=”minorHAnsi” w:ascii=”Times New Roman” w:hAnsi=”Times New Roman” w:eastAsiaTheme=”minorHAnsi”/>

Come vedete tra il tag di apertura ‘<’ e quello di chiusura ‘/>’ è presente due volte l’attributo w:eastAsiaTheme=”minorHAnsi”; cancelliamo dal testo la seconda occorrenza, salviamo il file e ricarichiamo la pagina del browser per vedere se siano presenti altri errori (possiamo farlo anche utilizzando la funzione di ricerca integrata nel nostro editor di testo, inserendo come chiave di ricerca l’intera stringa errata): se non sono presenti altri errori, chiudiamo editor e browser.

Non ci resta che ricomprimere la cartella in un file che sia leggibile da LibreOffice. Il modo più veloce per farlo su GNU/Linux è tramite il terminale.

Apriamo la shell ed entriamo nella cartella che abbiamo estratto dal documento.

Supponendo che essa si trovi nella nostra cartella home, digitiamo:

cd $HOME/nome-del-documento/

Una volta qui, inseriamo il comando per comprimere la cartella ed il suo contenuto in un archivio, che poi altro non è che il nostro documento:

zip -r nome-del-documento.docx .

Ovviamente ‘nome-del-documento’ è un nome a vostra scelta.

Non dimenticate il punto alla fine del comando! In questo caso indica che nel documento/archivio dovrà essere inserito ciò che si trova nella cartella in cui stiamo operando, incluse le sottocartelle (opzione -r).

Finalmente dovremmo avere un documento nuovamente funzionante, pronto per essere aperto con LibreOffice… e convertito in formato odt!

Annunci

Linux Day 2016 @ Perugia

volantino-ld2016-okwebvolantino-ld2016-okweb2LINUX DAY 2016

Sabato 22 ottobre dalle 10:00 alle 18:00 presso il palazzo della Società Operaia di Mutuo Soccorso di Magione

Sabato 22 ottobre torna l’annuale manifestazione italiana dedicata al software libero, alla libertà digitale e alla condivisione, con decine di eventi organizzati in tutte le regioni.
In Umbria l‘associazione GNU/Linux User Group Perugia organizza una giornata divulgativa nella sua sede di Magione., all’interno dello Storico Palazzo ristrutturato della Società Operaia Mutuo Soccorso, con l’obiettivo di far conoscere le opportunità del software libero e open source a cittadini, studenti, aziende.
La giornata vedrà affrontare diverse tematiche, a partire dal coding con strumenti open source fino alla domotica con Raspberry, passando per OSINT (Open Source Intelligence) e FreeIPA, una soluzione per l’identità e l’autenticazione integrata per ambienti di rete Linux/UNIX.
Al workshop parteciperanno anche alcuni studenti del
ITTS “A. Volta” di Perugia, che presenteranno al pubblico presente i loro progetti realizzati con Software Libero.

Durante tutta la giornata, nel laboratorio di informatica, sarà possibile utilizzare i computer presenti per provare le funzionalità e la semplicità d’uso dei sistemi operativi liberi; i volontari del GNU/LUG saranno inoltre a disposizione per dare suggerimenti e affiancare le persone che portano il proprio pc e intendono installarvi una distribuzione GNU/Linux o altri programmi liberi.

Anche quest’anno il Linux Day – afferma il presidente del GNU/LUG Perugia Claudio Cardinali – si conferma un appuntamento da non perdere per appassionati di Free Software e semplici curiosi: grazie alla varietà dei temi trattati, tutti potranno trovare risposte, suggerimenti e spunti di riflessione riguardo i propri settori d’interesse. Da anni – aggiunge – la nostra associazione è in prima linea per la diffusione della cultura del Software Libero, grazie ai volontari che dedicano il proprio tempo e le proprie competenze a questo scopo.”.
Ulteriori informazioni sul sito GNU/LUG Perugia: http://www.gnulugperugia.org/linux-day-2016

La giornata è ad accesso gratuito con possibilità di parcheggio gratuito. L’evento si può seguire sui social con hashtag #linuxday2016pg.

Chakra e il repository [extra]

La gestione del software GTK+ su Chakra ha sempre suscitato perplessità da parte di molti utenti di altre distribuzioni GNU/Linux, i quali ritengono che sia nostra intenzione “ghettizzare” tali applicazioni.

Ovviamente questa interpretazione è lontana dalla realtà; il termine “ghettizzare”, usato spesso e volentieri per definire il nostro atteggiamento nei confronti delle GTK+, ha una chiara accezione negativa e lascia intendere che il team di Chakra abbia una qualche avversità nei confronti di tali librerie.

La verità è molto più semplice; così come i team di gestione delle altre distribuzioni hanno degli obiettivi in base ai quali decidere come indirizzare lo sviluppo della distribuzione (quali pacchetti includere/escludere, quali supportare direttamente, quali scrivere ex-novo, ecc.), così noi di Chakra abbiamo un obiettivo chiaro e lo portiamo avanti: Continua a leggere “Chakra e il repository [extra]”

Manjaro e il vecchio scassone

Tra i passatempi con cui mi diverto quando posso c’è il trashware: riuscire a recuperare un computer dato ormai per spacciato e renderlo nuovamente utilizzabile è una bella soddisfazione, è una buona palestra per migliorare le proprie conoscenze hardware e software ed è l’occasione per fare del bene al pianeta (riducendo i rifiuti altamente inquinanti) e a chi ha bisogno di computer e non può permettersi di acquistarli (associazioni, scuole, ecc.).

Spesso ci si trova tra le mani materiale veramente datato o con risorse hardware ridicole e questo costituisce, in un certo senso, una sfida: riuscirò a rimettere in sesto questo fermaporte?

Oltre ad intervenire sull’hardware, sostituendo le componenti non più funzionanti o aggiornando quelle presenti per migliorare (nei limiti del possibile) le prestazioni della macchina, bisogna lavorare anche sul software, che deve essere adatto all’hardware che ci troviamo davanti.

Continua a leggere “Manjaro e il vecchio scassone”

Lettera Aperta sulla Cittadinanza Digitale

Pubblico qui una lettera aperta, firmata da Italo Vignoli, che sarebbe bene diffondere il più possibile e a tutti i livelli, data l’importanza dei contenuti.
Spero che vorrete darle anche voi la visibilità che merita.
Buona lettura

 

Questo testo era nascosto da qualche parte, e oggi è venuto fuori quasi di getto, senza una specifica ragione, perché la mia pazienza nei confronti di tutti coloro a cui è rivolta la lettera è finita, ed è arrivato il momento di parlare chiaro.

Scrivo a te, Matteo Renzi, perché sei a capo di un governo che dovrebbe dare indicazioni di indirizzo tali da creare i cittadini digitali di oggi e – soprattutto – di domani, ma nella realtà non fai altro che perpetuare le posizioni “novecentesche” di chi ti ha preceduto, perché non hai la competenza per capire che siamo entrati nell’era digitale del terzo millennio, e non sei in grado di individuare qualcuno capace di aiutarti in questo percorso.

Continua a leggere “Lettera Aperta sulla Cittadinanza Digitale”