Проблема OpenXMLTemplates с доступом к файлам, которые используются другим процессомC#

Место общения программистов C#
Anonymous
Проблема OpenXMLTemplates с доступом к файлам, которые используются другим процессом

Сообщение Anonymous »

У меня возникла проблема при попытке создать PDF из только что созданного файла Word. Я открываю файл шаблона с помощью SDK OpenXMLTemplate, заменяю переменные и сохраняю его в новый каталог с помощью функции «.SaveAs()». Я также удаляю TemplateDocument, однако появляется ошибка.

Код: Выделить всё

var uploadPath = _webHostEnvironment.WebRootPath + atta.AttachmentPath;
using var doc = new TemplateDocument(uploadPath);
var data = await CreateDictionary(reservation);
var src = new VariableSource(data);
var engine = new DefaultOpenXmlTemplateEngine();
engine.ReplaceAll(doc, src);

var path = await SaveFile(doc, reservation, 4,attachmentName);
doc.SaveAs(path);
doc.Dispose();

//GeneratePDF
await CreatePDF(path);

Код: Выделить всё

        private async Task CreatePDF(string path)
{
Document docs = new Document();

// Load a Word document
docs.LoadFromFile(path);
// Save the document to PDF
docs.SaveToFile("reservation.pdf", FileFormat.PDF);
// Dispose resources
docs.Dispose();
}
'Процесс не может получить доступ к файлу 'C:\Repos\AirBnB\App\wwwroot\Upload\Reservation\1\reservation.docx', поскольку он используется другим процессом.' .
Я также пробовал использовать .Close() в конце, но это тоже не сработало.

Подробнее здесь: https://stackoverflow.com/questions/787 ... er-process

Вернуться в «C#»