要使用Aspose.Words将文档以流的形式返回PDF,你可以按照以下步骤进行操作:
首先,确保你已经安装了Aspose.Words的NuGet包。
在你的ASP.NET Web API的控制器中,创建一个返回类型为HttpResponseMessage的方法。例如:
public HttpResponseMessage GetPdf()
{
// 创建一个新的空白文档
Document document = new Document();
// 向文档中添加内容
document.Paragraphs.Add(new Paragraph("Hello World!"));
// 创建一个内存流用于存储PDF数据
MemoryStream stream = new MemoryStream();
// 将文档保存为PDF格式到内存流中
document.Save(stream, SaveFormat.Pdf);
// 将流的位置重置为起始位置
stream.Position = 0;
// 创建一个HttpResponseMessage,并将内存流作为内容添加到响应中
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = "document.pdf";
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return response;
}
在上面的代码中,我们创建了一个空白文档,然后向文档中添加一段文本内容。接下来,我们创建一个内存流,并将文档保存为PDF格式到内存流中。然后,我们将流的位置重置为起始位置。最后,我们创建一个HttpResponseMessage,并将内存流作为内容添加到响应中,并设置相应的Content-Disposition和Content-Type头部信息。