Wir verwenden Aspose.Words für .NET, um Word-Dokumente in unserer Anwendung zu exportieren. Jetzt muss ich auch RichText Inhalt (eigentlich ein FlowDocument) in das exportierte Dokument einfügen. Um zu exportieren, implementieren wir die IMailMergeDataSource-Schnittstelle. Die GetValue Funktion dieser IMailMergeDataSource Implementierung wird durch die Aspose Bibliothek genannt, und diese Funktion ist wie folgt aussieht:Wie Sie RichText mit Aspose.Words für .NET in Word speichern?
public override bool GetValue(string fieldName, out object fieldValue) { ... }
So bekomme ich die Feldnamen des aktuellen Feldes in der Word-Vorlage, und ich habe die festlegen fieldValue zu einer Zeichenfolge, sodass die Zeichenfolge im FeldValue im Word-Dokument angezeigt werden kann.
Aber zum Beispiel, wenn ich die fieldvalue auf ein Flowdocument gesetzt ist, wird das Ergebnis ein XML-String sein (die ToString Darstellung des Flowdocument-Objekts)
Es funktioniert! Vielen Dank! Ich musste nur die FlowDocument-Zeichenfolge in eine RTF-Zeichenfolge konvertieren: – asdfghjkl
var xamlString = "..."; var flowDocument = FlowDocumentService.GetFlowDocument (xamlString); Zeichenfolge dataFormat = DataFormats.Rtf; var documentTextRange = neuer TextRange (flowDocument.ContentStart, flowDocument.ContentEnd); var stream = neuer MemoryStream(); documentTextRange.Save (stream, dataFormat); LoadOptions loadOptions = neu LoadOptions(); loadOptions.LoadFormat = LoadFormat.Rtf; fieldValue = neues Dokument (stream, loadOptions); – asdfghjkl