我是否可以在ASP.Net应用程序中使用任何开源sdk将任何office文档转换为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文档的任何方法 .
2 回答
虽然它是一个单独的库,但您可以将NPoi和iTextSharp库组合在一起来完成您的任务 . 两者都是他们流行且强大的Java同行的.Net端口 .
看看JODConverter . 这是免费的开源软件,可以根据您的文档合理地完成Doc-> PDF,DocX . 您可能希望查看ODFCoverter以获得一个很棒的DocX-> ODT路径,然后JODConverter可以执行ODT-> PDF部分 .