créer un document XPS à partir d’un FlowDocument et le joindre à la volée

Je souhaite convertir un document FlowDocument en document XPS, le joindre à un courrier électronique et l’envoyer en même temps. J’utilise ce code

public static MemoryStream FlowDocumentToXPS(FlowDocument flowDocument, int width, int height) { MemoryStream stream = new MemoryStream(); using (Package package = Package.Open(stream, FileMode.Create, FileAccess.ReadWrite)) { using (XpsDocument xpsDoc = new XpsDocument(package, CompressionOption.Maximum)) { XpsSerializationManager rsm = new XpsSerializationManager(new XpsPackagingPolicy(xpsDoc), false); DocumentPaginator paginator = ((IDocumentPaginatorSource)flowDocument).DocumentPaginator; paginator.PageSize = new System.Windows.Size(width, height); rsm.SaveAsXaml(paginator); rsm.Commit(); } } stream.Position = 0; Console.WriteLine(stream.Length); Console.WriteLine(stream.Position); return stream; } 

Ensuite, je l’attache en utilisant ce code:

 Attachment xps = new Attachment(FlowDocumentToXPS(FD, 768, 676), "FileName.xps", "application/vnd.ms-xpsdocument"); 

où FD est le FlowDocument que je veux convertir, je reçois un fichier XPS de 0.0KB attaché et il ne peut pas être ouvert avec XPS Viewer, que me manque-t-il ici?

EDIT: Le code final qui a fonctionné, voir les commentaires

Merci d’avance

Résolu, voir les commentaires sous la question de la publication et la modification déjà effectuée sur la publication elle-même