DOC to HTML

In breve
DOC to HTML è un modulo Drupal che trasforma un documento Word, OpenDocument, RTF o PowerPoint in HTML dentro il form del contenuto. La conversione la fa LibreOffice sul server del sito: il redattore carica il file, preme Converti, controlla il testo nell'editor e salva. Titoli, elenchi, tabelle, link e immagini arrivano nel campo, e il file originale può restare allegato al nodo.

DOC to HTML è nato nel 2017 in Kelyon (si apre in una nuova scheda), dove lavoravo come sviluppatore Drupal. I clienti ci inoltravano le privacy policy in Word, da pubblicare in HTML su 22 siti: il modulo le convertiva con LibreOffice e le caricava nel campo del contenuto. Da allora l'ho portato fino a Drupal 12. In questa pagina lo metto a confronto con le altre strade per portare un documento dentro Drupal: i dati sugli altri strumenti vengono dalle loro pagine ufficiali, il giudizio su quale conviene è mio.

DOC to HTML su Drupal.org project/doc_to_html (si apre in una nuova scheda)

Chi sviluppa DOC to HTML, e da quando

Settore
Editoria pubblica amministrazione
Ruolo
@sjpagan (Owner)
Anno
2017

Con che cosa è costruito DOC to HTML

Drupal PHP

Quale problema risolve DOC to HTML

Chi pubblica testi che nascono in Word li porta nel sito copiando e incollando. Il risultato dipende dal redattore: stili di Word che entrano nel campo, immagini che restano fuori, tabelle da rifare. Il documento originale, intanto, vive in una cartella condivisa e il contenuto pubblicato perde il legame con la sua fonte.

Come DOC to HTML risolve il problema

Un widget sui campi di testo lungo che converte il documento con LibreOffice installato sul server. Il file resta sull'infrastruttura del sito per tutta la conversione. L'HTML arriva ripulito da script e stili di pagina, le immagini diventano file gestiti da Drupal, e il documento originale può essere salvato in un campo file dello stesso nodo.

Che risultati ha dato DOC to HTML

Il progetto è nato su Drupal.org il . L'ultima release è la 2.1.0 del . Lo usano 3 siti (Drupal.org, al ).

Come si porta un documento Word dentro Drupal

Le strade principali sono cinque. Si distinguono per il posto in cui avviene la conversione, i formati letti e la sorte delle immagini.

Strumento Dove converte Formati Immagini
Paste from Office, nel core nel browser ciò che copi da Word fragili
CKEditor 5 Premium, Import from Word cloud di CKSource o server proprio DOCX, DOTX dentro il testo
Docx to HTML Convert tool nel browser DOCX dentro il testo
Mammoth nel browser DOCX file di Drupal
DOC to HTML sul server, con LibreOffice DOCX, DOC, ODT, RTF, PPTX file di Drupal

Il testo arriva in tre modi diversi. Paste from Office e Import from Word lavorano dentro l'editor. Docx to HTML Convert tool e Mammoth mostrano il risultato su una pagina a parte, da copiare e incollare nel campo. DOC to HTML aggiunge un widget sotto il campo, nel form del contenuto.

Import from Word richiede una licenza commerciale, gli altri sono gratuiti. Mammoth si ferma a Drupal 10, DOC to HTML 2.1 parte da Drupal 11.2 e arriva a Drupal 12.

Con quattro strade su cinque il documento resta sull'infrastruttura del sito: fa eccezione il servizio cloud di CKSource. La privacy quindi pesa poco nella scelta, contano formati, immagini e requisiti del server.

Paste from Office è attivo da solo in ogni editor CKEditor 5 di Drupal, senza configurazione. Le immagini incollate insieme al testo sono il suo punto debole: la documentazione di CKEditor avverte che a volte arrivano rotte.

Per chi sviluppa ci sono anche moduli che convertono dal codice, senza interfaccia per il redattore. Document Loader (si apre in una nuova scheda) e AI File to Text (si apre in una nuova scheda) leggono Word, ODT e RTF con la libreria PHPWord sul server, e servono soprattutto a preparare testo per l'intelligenza artificiale. ODT Importer (si apre in una nuova scheda) legge solo file ODT e riempie un campo scelto in configurazione.

Quando conviene DOC to HTML

DOC to HTML conviene quando almeno una di queste condizioni è vera:

  • arrivano documenti in formati diversi dal DOCX: DOC, ODT, RTF o presentazioni PPTX;
  • la conversione deve avvenire nel form del contenuto, sul campo, senza passare da un'altra pagina;
  • le immagini del documento devono diventare file gestiti da Drupal;
  • il documento originale deve restare allegato al nodo;
  • le conversioni vanno automatizzate con Drush, hook o eventi;
  • il server del sito è sotto il tuo controllo e puoi installarci LibreOffice.

Quando conviene un'altra strada

  • Hosting condiviso senza LibreOffice: Docx to HTML Convert tool lavora nel browser e funziona su qualsiasi hosting con Drupal 10 o 11.
  • Solo file DOCX, pochi alla volta: Paste from Office è già nell'editor, e per un testo semplice basta.
  • Commenti e revisioni di Word da portare nell'editor: è il campo di CKEditor 5 Premium, a pagamento.
  • Drupal 10: il ramo 2.0.x di DOC to HTML, dalla 2.0.2, gira su Drupal 10.3 e 11 e converte DOC e DOCX. Immagini come file di Drupal e formati ODT, RTF e PPTX arrivano con la 2.1.

Cosa chiede DOC to HTML al server

La versione 2.1 richiede Drupal 11.2 o successivo, oppure Drupal 12, con PHP 8.3. Sul server servono LibreOffice e la funzione PHP proc_open. LibreOffice occupa spazio su disco, va aggiornato come ogni altro pacchetto e parte come processo separato a ogni conversione. I siti ancora su Drupal 10, 11.0 o 11.1 usano il ramo 2.0.x.

Requisito Versione 2.1
Drupal 11.2 o successivo, 12
PHP 8.3 o successivo
LibreOffice sul server dove gira PHP; i test usano 7.4 e 25.2
Drush 13.7 o successivo, per i comandi
Drupal 12 con campi a riassunto modulo text_with_summary

Come si installa DOC to HTML

  1. Installa LibreOffice sul server.
  2. Installa e abilita il modulo con Composer e Drush.
  3. Controlla il percorso di LibreOffice in /admin/config/content/doc_to_html/libreoffice-settings. Il comando drush dth:version conferma che il modulo lo trova.
  4. In Gestisci visualizzazione modulo del tipo di contenuto, scegli il widget DOC to HTML per il campo di testo.

Su Debian o Ubuntu bastano i pacchetti di LibreOffice senza interfaccia grafica:

apt install libreoffice-writer-nogui libreoffice-impress-nogui

Il modulo si installa e si abilita con due comandi:

composer require drupal/doc_to_html
drush en doc_to_html

La guida passo passo per il tipo di contenuto Articolo è nella documentazione del modulo (si apre in una nuova scheda).

Fonti

Giorgio Alfredo Pagano
Modificato dall'AI

Questo contenuto è stato prodotto dall'AI e rivisto da una persona.

Come è stata usata l'AI?

Le bozze sono prodotte con l'assistenza dell'AI, poi dirette, rivedute e verificate da una persona. Numeri, date e versioni sono confrontati con le fonti pubbliche prima della pubblicazione, e la data di quel controllo è indicata nel testo.