Как преобразовать DocX из библиотеки Xceed.Words.NET в pdf и сохранить его в потоке памяти - PullRequest
0 голосов
/ 14 января 2019

Я хочу преобразовать байтовый массив слов в байтовый массив PDF. Я использую библиотеку Xceed.Words.NET

var stream = new MemoryStream(sourceFile.AttachedFile);
var doc = DocX.Load(stream);
var ms = new MemoryStream();

doc.SaveAs(ms);

var wByteArray = ms.GetBuffer();

1 Ответ

0 голосов
/ 16 января 2019

Используйте это:

var stream = new MemoryStream(sourceFile.AttachedFile);

using (var document = DocX.Load(stream))
{
    stream = new MemoryStream();
    DocX.ConvertToPdf(document, stream);
}

var bytes = stream.ToArray();

Как уже упоминалось в комментарии, вам нужна профессиональная версия библиотеки DocX для преобразования документа Word в PDF.

Если вы ищете бесплатное решение, возможно, вы могли бы попробовать GemBox.Document , его бесплатная версия поддерживает преобразование в PDF , но имеет ограничение по размеру документа.
Вы можете использовать это так:

ComponentInfo.SetLicense("FREE-LIMITED-KEY");

var stream = new MemoryStream(sourceFile.AttachedFile);
var document = DocumentModel.Load(stream, LoadOptions.DocxDefault);

stream = new MemoryStream();
document.Save(stream, SaveOptions.PdfDefault);

var bytes = stream.ToArray();
...