如何将DocX从Xceed.Words.NET库转换为pdf并将其保存在内存流中

时间:2019-01-14 14:11:31

标签: c# pdf docx

我想将单词字节数组转换为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 :(得分:2)

使用此:

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,它的免费版本确实支持converting to 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();