0

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

问题是我不知道如何将 pdf 转换为内存中的字节数组。有一个条件:我只能使用免费的库和第三方 API。Microsoft.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.NET 站点中。

4

1 回答 1

1

您可以在 SharePoint 2010 中使用 Word Automation Services 服务。在http://pholpar.wordpress.com/2011/10/27/using-sharepoint-2010-word-automation-services-to-convert-中有一个很好的示例文档同步/如何以同步方式执行此操作。

于 2013-06-06T23:50:29.630 回答