sgcRichEdit: un word processor dentro la tua applicazione

· Componenti
sgcRichEdit: un word processor dentro la tua applicazione | Blog eSeGeCe
✦  sgcUI · sgcRichEdit

Un word processor.
Dentro la tua applicazione.

sgcRichEdit è il nuovo editor di documenti rich text di sgcUI. I tuoi utenti scrivono lettere, contratti, note e report con stili, elenchi, tabelle, immagini e collegamenti. Il tuo codice legge e scrive RTF, HTML, Markdown e JSON, ed esporta pagine in DOCX, PDF e PNG.

  • VCL
  • FireMonkey
  • C++ Builder
  • WinForms
  • WPF
  • Avalonia

↔  Trascina il cursore per passare dal tema chiaro a quello scuro

sgcRichEdit Editor—□✕
La demo sgcRichEdit Editor con il preset Fluent, tema chiaro
Lo stesso documento con il preset Fluent, tema scuro
ChiaroScuro
4formati in lettura e scrittura
3formati di esportazione
5framework UI
12lingue dell'editor

Prima o poi ogni applicazione aziendale ha bisogno di veri documenti. Un CRM scrive lettere ai clienti, un gestionale per studi professionali conserva le note delle pratiche, un ERP archivia i modelli di preventivo e un help desk risponde con testo formattato. Un semplice memo non basta per nulla di tutto questo.

sgcRichEdit è un editor di documenti completo integrato in sgcUI. Mantiene un vero modello di documento con stili con nome, elenchi multilivello, tabelle con celle unite, immagini inline e collegamenti ipertestuali, e impagina il documento in pagine. Un unico modello di documento alimenta i controlli VCL, FireMonkey, WinForms, WPF e Avalonia, e lo stesso modello carica, converte ed esporta documenti anche senza alcuna finestra.

sgcRichEdit in 60 secondi

Stili, tabelle, ogni lingua, tema chiaro e scuro, ogni formato e ogni piattaforma in un minuto. Anche su YouTube.

Un vero documento, non una casella di testo

Contratti, report e lettere devono avere lo stesso aspetto ogni volta che vengono aperti. sgcRichEdit memorizza i paragrafi con stili con nome, e la formattazione deriva da una catena di stili più la formattazione diretta, quindi modificare lo stile Titolo 1 cambia in un colpo solo tutti i titoli del documento.

AaAaAa
Stili con nomeNormale, Titolo da 1 a 6, Titolo del documento, Sottotitolo, Citazione, Codice, Paragrafo elenco, Collegamento ipertestuale e Griglia tabella sono già inclusi.
Elenchi a 9 livelliPunti elenco, numeri, lettere e numeri romani, con un comando per alzare o abbassare di livello.
TabelleCelle unite su colonne e righe, righe di intestazione, bordi, sfondi e tabelle annidate.
Immagini e collegamentiImmagini inline e collegamenti ipertestuali, con Ctrl+clic e un evento OnLinkClick.
↺↻
Annulla e ripetiUna cronologia completa, con la digitazione raggruppata per parole, così un solo annullamento rimuove una sola parola.
crescita nel Q3, crescita in Europa
Trova e sostituisciTra paragrafi e celle di tabella, con espressioni regolari e Sostituisci tutto come un unico passo di annullamento.

Da vicino

Grassetto, corsivo, sottolineato, barrato, apice e pedice, nomi dei font, dimensioni, colori ed evidenziazioni, allineamento, rientri e interlinea. Ecco la formattazione del documento qui sopra con zoom al 200%.

Formattazione dei caratteri con zoom al 200%

Tabelle, immagini e pagine

L'editor impagina il documento con le proprie impostazioni di pagina. I paragrafi si dividono per righe, le righe di intestazione di una tabella si ripetono in ogni pagina e le interruzioni di pagina vengono mantenute, quindi ciò che gli utenti vedono è ciò che stampano. Print e PrintPreview funzionano sul desktop, e ExportToPNG produce qualsiasi pagina alla risoluzione che scegli.

sgcRichEdit Editor—□✕
Una tabella con riga di intestazione colorata, una cella unita e un'immagine inline di un grafico
Pagina 1 del documento, esportata in PNG
Pagina 1
Pagina 2 del documento, esportata in PNG
Pagina 2
Pagina 3 del documento, esportata in PNG
Pagina 3

Le tre pagine del documento mostrato negli screenshot, scritte da ExportToPNG a 150 DPI.

Ogni lingua, ogni utente

Gli utenti giapponesi, cinesi e coreani scrivono tramite un input method editor, mentre gli utenti arabi ed ebrei scrivono da destra a sinistra, spesso con parole inglesi nella stessa frase. sgcRichEdit mostra la composizione IME inline al cursore e la conferma come un unico passo di annullamento. I paragrafi bidirezionali mantengono il cursore e la selezione dove il lettore se li aspetta, e ogni paragrafo ha la propria direzione.

sgcRichEdit Editor—□✕
Testo arabo da destra a sinistra mescolato a inglese, e paragrafi in giapponese, cinese, coreano e russo, tema scuro

Chiaro, scuro, Fluent o Classic

sgcRichEdit è un controllo sgcUI, quindi segue il tema dell'applicazione come il resto della suite. Scegli il preset Fluent e l'editor e il ribbon assumono l'aspetto di Windows 11. Passa al tema scuro e il ribbon, la barra di stato e il backstage diventano scuri, mentre la pagina resta bianca, come la carta.

sgcRichEdit Editor—□✕
sgcRichEdit con il preset Fluent, tema chiaro
sgcRichEdit con il preset Classic
sgcRichEdit con il preset Fluent, tema scuro
uses
  sgcUICore_Theme;

// the Windows 11 look for every sgcUI control, sgcRichEdit included
sgcUISetApplicationThemePreset('Fluent');
// follow the light / dark setting of Windows, live
sgcUISetApplicationThemeFollow(utfSystem, True);

Un documento, ogni formato

I documenti arrivano come RTF da Word, come HTML da un browser o da un'email, e come Markdown da uno strumento per sviluppatori. sgcRichEdit li legge e li scrive tutti e mantiene un proprio formato JSON nativo, che memorizza ogni dettaglio del documento. LoadFromFile riconosce il formato, SaveToFile usa il formato che richiedi, e AsHTML, AsRTF e AsMarkdown leggono e scrivono il documento come stringa.

Carica

RTFda Word
HTMLcon CSS
Markdownanche tabelle
JSONnativo
Un unico modello di documento Stili, elenchi, tabelle, immagini e collegamenti, impaginati in pagine

Salva ed esporta

DOCXper Word
PDFcon tag
PNGqualsiasi DPI
RTF, HTML, MDe JSON

Ogni unit di formato nella clausola uses registra il proprio lettore o scrittore, e sgcUIPDF_Export collega l'esportazione PDF al motore sgcPDF, che viene installato insieme a sgcRichEdit.

uses
  sgcRichEdit_Formats, sgcRichEdit_VCL,
  sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcRichEdit_Markdown,
  sgcRichEdit_DOCX, sgcUIPDF_Export;

procedure TForm1.ConvertContract;
begin
  sgcVCLRichEdit1.LoadFromFile('contract.rtf');
  sgcVCLRichEdit1.SaveToFile('contract.html', refHTML);
  sgcVCLRichEdit1.SaveToFile('contract.md', refMarkdown);
  sgcVCLRichEdit1.SaveToFile('contract.docx', refDOCX);
  sgcVCLRichEdit1.ExportToPDF('contract.pdf');
  sgcVCLRichEdit1.ExportToPNG('page1.png', 0, 150);
end;

Una modifica che risulta familiare

Gli utenti portano con sé le abitudini del loro word processor. L'editor risponde alle scorciatoie consuete (Ctrl+B, Ctrl+I, Ctrl+U, allineamento, titoli, elenchi puntati e Ctrl+K per i collegamenti), mantiene una cronologia completa di annulla e ripeti, e trova e sostituisce il testo tra paragrafi e celle di tabella.

sgcRichEdit Editor—□✕
La barra di ricerca e sostituzione della demo Editor

Ogni comando è disponibile da codice tramite ExecuteCommand e CommandState, e tramite le action di VCL e FireMonkey, così la tua toolbar o un ribbon sgcToolbar resta sincronizzato con la selezione.

uses
  sgcRichEdit_Commands;

procedure TForm1.btnBoldClick(Sender: TObject);
begin
  sgcVCLRichEdit1.ExecuteCommand(recBold);
end;

procedure TForm1.sgcVCLRichEdit1SelectionChange(Sender: TObject);
begin
  // the button shows the state of the selection
  btnBold.Down := sgcVCLRichEdit1.CommandState(recBold).Checked;
end;

I tuoi documenti, nel tuo database

Note, lettere e modelli di solito risiedono in un campo del database. TsgcVCLDBRichEdit e TsgcFMXDBRichEdit si collegano a un TDataSource, leggono campi memo e BLOB, mettono il dataset in modalità di modifica alla prima variazione e scrivono il documento quando l'utente lascia il controllo. Esc ripristina il valore del campo, e AutoDisplay carica i documenti di grandi dimensioni su richiesta.

uses
  sgcRichEdit_Formats, sgcRichEdit_VCL_DB;

sgcVCLDBRichEdit1.DataSource := dsNotes;
sgcVCLDBRichEdit1.DataField := 'NOTE';
// store the documents as JSON; refAuto, the default, detects the format
sgcVCLDBRichEdit1.FieldFormat := refJSON;

Headless, anche su Linux64

I documenti spesso devono essere convertiti su un server: da RTF a HTML per un portale, da JSON a PDF per un archivio, da una pagina a PNG per un'anteprima. Il modello di documento, i formati, l'impaginazione e le esportazioni non dipendono da VCL o FireMonkey, quindi un servizio Windows o un daemon Linux64 (Delphi 10.2 e successivi) può caricare, modificare, rendere ed esportare documenti senza finestra, con la stessa impaginazione dei controlli visuali.

uses
  sgcRichEdit_Model, sgcRichEdit_Formats, sgcRichEdit_Print,
  sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcUIPDF_Export;

var
  oDocument: TsgcRichDocument;
begin
  oDocument := TsgcRichDocument.Create;
  try
    sgcRichLoadFromFile(oDocument, 'letter.rtf');
    sgcRichSaveToFile(oDocument, 'letter.html', refHTML);
    // tagged PDF, no window and no VCL or FireMonkey needed
    sgcRichExportPDF(oDocument, nil, 'letter.pdf');
  finally
    oDocument.Free;
  end;
end;

Anche per .NET

I controlli .NET per WinForms, WPF e Avalonia usano gli stessi nomi di quelli Delphi. La libreria principale ha come target .NET Standard 2.0, .NET Framework 4.7.2 e .NET 6, 8, 9 e 10, e la proprietà DocumentText si collega ai tuoi dati in tutti e tre i framework.

using esegece.sgcRichEdit;
using esegece.sgcUICore;

// once at startup: PDF export through the esegece.sgcUICore.sgcPDF package
TsgcUIPDFExporter.Register();

richEdit.LoadFromFile("contract.rtf");
richEdit.SaveToFile("contract.html", TsgcRichEditFormat.refHTML);
richEdit.SaveToFile("contract.docx", TsgcRichEditFormat.refDOCX);
richEdit.ExportToPDF("contract.pdf");

Prova le demo

Le demo Delphi e C++ Builder si installano con la versione di prova di sgcUI, mentre le demo .NET sono incluse nel download .NET Registered.

Dove è incluso sgcRichEdit

sgcRichEdit si acquista singolarmente per Delphi e C++ Builder e per .NET, ed è incluso in sgcUI Enterprise e nel bundle All-Access. Il pacchetto unico installa anche sgcPDF, quindi l'esportazione PDF funziona sempre. Non esiste una edizione Community gratuita. Consulta la pagina dei prezzi per i dettagli.

Offri ai tuoi utenti un word processor

sgcRichEdit arriva con sgcUI 2026.11 per Delphi e C++ Builder, su VCL e FireMonkey, e per .NET su WinForms, WPF e Avalonia.

Domande o suggerimenti? Contattaci, riceverai una risposta da chi ha scritto il codice.