无需使用办公自动化即可将办公文档转换为 PDF 的开源解决方案

Raj*_*Rao 5 asp.net asp.net-mvc pdf-generation ms-word

是否有任何开源 sdk 可以在 ASP.Net 应用程序中使用以将任何办公文档转换为 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();
    }
Run Code Online (Sandbox Code Playgroud)

注意:我看到有些人建议为此使用 OpenXML。但是 OpenXML 不提供任何将 Office 文档转换为 PDF 文档的方法。

Dil*_*e-O -1

虽然它是一个库,但您可以将NPoiiTextSharp库组合在一起来完成您的任务。两者都是流行且强大的 Java 版本的 .Net 移植版。