Non ho ben capito come mai hai escluso a priori l'uso del TRichEdit che, probabilmente, era quello più indicato per questo compito, dato che sostanzialmente intendi caricare dei documenti formattati nei quali vai a sostituire delle parti con altre.
Per quanto riguarda il formato .doc, dovresti appoggiarti ai server OLE forniti dalle applicazioni di Office...mi sembrerebbe una soluzione riduttiva, specialmente se sfruttata per eseguire un'operazione che si fa tranquillamente anche con i file .rtf.
Nel caso di file .rtf, puoi caricari all'interno di un controllo RichEdit e usare i metodi che il controllo mette a disposizione per formattare il testo, cambiare selezioni, sostituire parole con altre e così via; inoltre, puoi caricare e salvare i file con la formattazione desiderata.
Esiste anche la possibilità di produrre HTML usando il componente PageProducer che hai citato, il quale fa parte del set di componenti che costituiscono la tecnologia "WebBroker" di Delphi. Quel componente di permette di caricare pagine HTML da disco, dal DFM o da un'altra risorsa per sostituire poi tag speciali con valori provenienti da una diversa fonte...questa operazione viene eseguita sfruttando l'evento OnHTMLTag.
Per quanto riguarda il formato RTF, ci sono inoltre azioni incorporate in Delphi, dette "Standard Actions", che sopperiscono già ad un elevato numero di esigenze che si affrontano solitamente nella creazione di un editor testuale formattato.
Nella sottocartella "Demo" della cartella di Delphi, trovi il progetto RichEdit che ti dà una dimostrazione di come si può realizzare un editor di testo formattato senza (quasi) scrivere codice.
Ciao!![]()