1. Prodotti
  2.   HTML
  3.   GO
  4.   HTML2Text
 
  

Libreria Go gratuita per convertire documenti HTML in testo

HTML2Text è una libreria Go open source molto semplice che può trasformare il markup HTML in testo semplice leggibile dall'uomo all'interno delle app Go.

Nell'odierno panorama digitale, i contenuti devono essere accessibili su più formati e piattaforme. HTML2Text è una potente libreria Go creata da Jay Taylor che risolve una sfida fondamentale: convertire i contenuti HTML in testo semplice leggibile e ben formattato. Originariamente sviluppata per garantire che le email HTML rimangano leggibili da tutti i destinatari — inclusi quelli con client disabilitati per l'HTML o con esigenze di accessibilità — questa libreria è evoluta in uno strumento versatile per gli sviluppatori che lavorano alla trasformazione dei contenuti.

La libreria trasforma strutture HTML complesse, incluse tabelle, elenchi e collegamenti, in testo semplice, con sapore markdown, mantenendo la struttura logica e la leggibilità. Ci sono diverse funzionalità importanti della libreria, come la conversione intelligente da HTML a testo, il rendering delle tabelle con una formattazione gradevole, opzioni di conversione personalizzabili, interfaccia a riga di comando e così via. HTML2Text è scritto in puro Go senza dipendenze esterne, rendendolo veloce per i tipici documenti HTML, efficiente in memoria grazie a un design adatto allo streaming e thread‑safe per l'uso concorrente nei server web. Con la sua API semplice, opzioni flessibili e una comprovata esperienza in migliaia di progetti, HTML2Text merita un posto nel tuo toolkit Go.

Previous Next

Iniziare con HTML2Text

Il modo consigliato e più semplice per installare HTML2Text è utilizzare GitHub. Per favore usa il comando seguente per un'installazione fluida.

Installa la libreria HTML2Text tramite GitHub

go get jaytaylor.com/html2text

La libreria richiede Go 1.x o versioni successive e non ha dipendenze esterne, mantenendo il tuo progetto leggero. Puoi anche installarla manualmente; scarica i file dell'ultima release direttamente dal repository GitHub.

Conversione di base da HTML a testo tramite Go

La libreria open source HTML2Text semplifica per gli sviluppatori software il caricamento e la conversione di file HTML in formato testo all'interno delle loro applicazioni Go. HTML2Text non si limita a rimuovere i tag: interpreta in modo intelligente la struttura HTML per produrre un output leggibile dall'uomo con comprensione semantica di intestazioni, paragrafi e liste, preservazione dei collegamenti con gli URL visualizzati tra parentesi dopo il testo del link, normalizzazione degli spazi bianchi che mantiene la leggibilità senza interruzioni di riga eccessive, supporto della codifica dei caratteri incluso UTF-8 con BOM (Byte Order Mark). Ecco un esempio completo di utilizzo della libreria che consente di caricare e convertire HTML in formato testo all'interno delle applicazioni Go.

Come convertire contenuti HTML semplici in formato testo tramite la libreria Go?

package main

import (
    "fmt"
    "jaytaylor.com/html2text"
)

func main() {
    html := `
        

Benvenuto al nostro servizio

Dai un'occhiata alla nostra pagina delle funzionalità per ulteriori informazioni su ciò che offriamo.

  • Assistenza 24/7
  • Prova gratuita
  • Piani aziendali
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Rendering di tabelle con formattazione elegante

Una delle caratteristiche più distintive di HTML2Text è la sua capacità di rendere le tabelle HTML come tabelle di testo basate su ASCII. Le tabelle in testo semplice di solito diventano una confusa zuppa di dati. La funzione PrettyTables preserva la struttura tabellare usando l'arte ASCII, rendendo i dati numerici, le tabelle dei prezzi o i grafici comparativi leggibili in qualsiasi contesto. Queste sono perfette per report automatizzati inviati via email, output di strumenti da riga di comando o notifiche SMS dove la struttura dei dati è importante. Il seguente esempio di codice mostra come gli sviluppatori software possono convertire una tabella HTML in una tabella ASCII formattata usando i comandi Go.

Come convertire una tabella HTML in una tabella ASCII formattata tramite Go?

func sendMonthlyReport(userEmail string, metricsHTML string) {
    // Convert HTML table to formatted ASCII table
    textReport, _ := html2text.FromString(metricsHTML, html2text.Options{
        PrettyTables: true, // Preserves table structure visually
    })
    
    // Even in plain text, the data remains organized:
    // +----------------+-----------+
    // | METRIC         | VALUE     |
    // +----------------+-----------+
    // | Page Views     | 24,589    |
    // | Conversion Rate| 2.4%      |
    // +----------------+-----------+
    
    sendEmail(userEmail, "Monthly Report", textReport)
}

Generazione di fallback email tramite libreria Go

Uno dei casi d'uso più comuni per HTML2Text è la conversione dei modelli di email HTML nelle loro controparti di testo semplice. I client di posta elettronica variano notevolmente nelle loro capacità di rendering HTML. Alcuni utenti attenti alla sicurezza disabilitano completamente l'HTML, mentre client più vecchi o lettori di schermo per utenti ipovedenti spesso funzionano meglio con il testo semplice. Fornire un'alternativa testuale non è solo una buona pratica—è essenziale per l'accessibilità e la consegna. Generando automaticamente versioni di testo semplice sincronizzate, garantisci che ogni destinatario possa leggere il tuo contenuto, ridurre le attivazioni dei filtri antispam e rispettare gli standard di accessibilità come WCAG.

Come generare un fallback in testo semplice di un messaggio email tramite la libreria Go?

func sendTransactionalEmail(userEmail, htmlContent string) error {
    // Generate plain text fallback
    textContent, err := html2text.FromString(htmlContent, html2text.Options{})
    if err != nil {
        return fmt.Errorf("failed to create text alternative: %v", err)
    }
    
    // Send multipart email (both HTML and text)
    email := &Email{
        To: userEmail,
        HTMLBody: htmlContent,
        TextBody: textContent, // Critical for users with HTML disabled
    }
    
    return emailService.Send(email)
}

Gestire i collegamenti durante la conversione da HTML a testo

La libreria HTML2Text ha incluso un supporto completo per la gestione dei collegamenti durante la conversione da HTML a testo. I collegamenti sono particolarmente importanti nei contenuti HTML, e html2text garantisce che sia il testo del collegamento sia l'URL vengano preservati. Il testo del collegamento viene visualizzato normalmente, mentre l'URL reale viene aggiunto tra parentesi, assicurando che i lettori della versione di testo semplice possano comunque accedere alle risorse collegate. L'esempio seguente dimostra come ottenere questo.

Come gestire i collegamenti durante la conversione da HTML a testo nelle app Go?

package main

import (
    "fmt"
    "log"
    
    "jaytaylor.com/html2text"
)

func main() {
    htmlContent := `
    
        
            

Scopri il nostro catalogo prodotti o visita la nostra pagina di supporto.

` text, err := html2text.FromString(htmlContent) if err != nil { log.Fatal(err) } fmt.Println(text) }
 Italiano