【发布时间】:2013-03-07 10:34:59
【问题描述】:
我可以在 ASP.Net 应用程序中使用任何开源 sdk 将任何办公文档转换为 pdf。 (我特别需要将 DOCX 转换为 PDF,但也希望能够转换 Excel 和 powerpoint 文件)。
我知道我可以使用下面显示的代码使用 Office 自动化,但我不想使用 Office 自动化,因为不建议在非交互式应用程序中使用它KB257757
我发现Aspose 有一个可用于此的组件(付费解决方案),但我想知道是否有任何开源解决方案。
//reference: Microsoft.Office.Interop.Word.dll
//using Word = Microsoft.Office.Interop.Word;
public static void Convert(string documentFilePath, string outputPath)
{
var ap = new Word.Application {Visible = false};
var document = ap.Documents.Open(documentFilePath);
document.ExportAsFixedFormat(outputPath,
WdExportFormat.wdExportFormatPDF,
OptimizeFor: WdExportOptimizeFor.wdExportOptimizeForPrint,
BitmapMissingFonts: true, DocStructureTags: false);
document.Close();
}
注意:我看到有人建议为此使用 OpenXML。但是 OpenXML 没有为您提供任何将 Office 文档转换为 PDF 文档的方法。
【问题讨论】:
-
Aspose 还提供免费或非常便宜的 SaaSpose,具体取决于您的要求。
-
DAI - 我正在寻找开源解决方案。但是感谢那个链接,不知道 Aspose 有 SAAS 产品
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
您看过 LibreOffice 吗?显然,任何第三方工具的转换质量都不会像 Microsoft Office 那样高,但 LibreOffice 中的 docx 格式的输入转换器已经相当不错了。
标签: asp.net asp.net-mvc ms-word pdf-generation