C# конвертирует фиксированный документ в xps, но программа просмотра xps не открывает новый созданный файл xps

Я пытаюсь взять фиксированный документ в C# и преобразовать его в xps, а затем сохранить xps, чтобы я мог прикрепить его к электронному письму Outlook, но после того, как я создаю файл xps и для целей тестирования, попробуйте открыть файл xps в При просмотре файла xps я получаю сообщение о том, что файл не открывается, копия части кода, в которой я конвертирую фиксированный документ в xps, вставляется ниже:

//save fixed document in temp directory as xps document
            string filename = System.Environment.GetEnvironmentVariable("TEMP") + @"\TempFixedDocument.xps";
            System.IO.File.Delete(filename);
            XpsDocument xpsd = new XpsDocument(filename, FileAccess.ReadWrite);
            XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(xpsd);
            xw.WriteAsync(fxdDoc);
            xpsd.Close();

1 ответ

Я думаю, это потому, что вы используете WriteAsync, но не ждите, пока запись не закончится. Вам следует подождать, пока запись файла не закончится, и только затем закрыть документ.

Вы можете использовать ключевое слово await:

await xw.WriteAsync(fxdDoc);
Другие вопросы по тегам