iText - comment rechercher / remplacer un document RTF existant
Question
Je travaille actuellement sur un module de publipostage simple.
Je dois charger le modèle brut * .RTF, puis remplacer tous les mots contenus dans les balises [[field]] et à la fin, puis les imprimer.
J'ai trouvé la bibliothèque iText gratuite et capable de charger / enregistrer des fichiers PDF et RTF. J'ai réussi à charger RTF, à fusionner quelques copies dans un grand document, mais je ne sais pas comment remplacer [[champ]] par des données personnalisées comme le nom / l'adresse du client.
Cette fonctionnalité est-elle présente et si oui, comment la faire? La plate-forme de solution est c # / .NET
La solution 2
Finalement, j'ai décidé d'utiliser * .docx et " Open XML SDK 2.0 pour Microsoft Office " Wrapper fortement typé .NET.
Autres conseils
Je ne pense pas que le pdf soit la voie à suivre.
Selon cet article , il est extrêmement difficile au mieux et pas possible au pire.
Quelque chose comme RTFLib fonctionnerait mieux pour vous?
G-Man
Vous pouvez utiliser le contrôle RichTextBox pour rechercher / remplacer des espaces réservés.
RichTextBox rtb = new RichTextBox();
rtb.LoadFile("template.rtf");
string placeHolder = "[[placeholder_name]]";
int pos = rtb.Find(placeHolder);
rtb.Select(pos, placeHolder.Length);
rtb.SelectedText = "new value";
Après cela, vous pouvez obtenir du texte au format RTF avec:
rtb.Rtf;