如何以编程方式打开docx,然后在内存中转换为pdf,然后在c#中获取pdf的字节内容

本文关键字:然后 pdf 获取 字节 内存 编程 方式打 docx 转换 | 更新日期: 2023-09-27 18:17:09

我需要打开存储在sharepoint中的docx,然后将其转换为内存中的pdf,然后写入http响应,以便pdf将在客户端机器上下载。

问题是我不知道如何将pdf转换为内存中的字节数组。有一个条件:我只能使用自由库和第三方API。微软。Interop提供将docx以pdf格式保存到磁盘,例如:

Document doc = word.Documents.Open(ref filename, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing);
doc.Activate();
object outputFileName = wordFile.FullName.Replace(".doc", ".pdf");
object fileFormat = WdSaveFormat.wdFormatPDF;
// Save document into PDF Format
doc.SaveAs(ref outputFileName,
                ref fileFormat, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing);

但是我需要获取字节并直接写入响应,而不需要将数据保存在磁盘上。

编辑:

我想使用更全面的一站式解决方案,不需要参考SharePoint。假设在某个ASP中。网络站点。

如何以编程方式打开docx,然后在内存中转换为pdf,然后在c#中获取pdf的字节内容

您可以在SharePoint 2010中使用Word自动化服务服务。在http://pholpar.wordpress.com/2011/10/27/using-sharepoint-2010-word-automation-services-to-convert-document-synchronously/上有一个很好的示例,说明如何以同步方式完成此操作。