private static void ConvertDocument( string openFile, WdOpenFormat openFormat, string saveFile, WdSaveFormat saveFormat, string exportFile, WdExportFormat exportFormat, Action <Document> format = null, bool isWordVisible = false) { Application word = null; try { word = new Application { Visible = isWordVisible }; Trace.WriteLine(Invariant($"Opening {openFile} as {openFormat}.")); word.Documents.Open(openFile, Format: openFormat); Document document = word.Documents[openFile]; format?.Invoke(document); Trace.WriteLine(Invariant($"Saving {saveFile} as {saveFormat}")); document.SaveAs2(saveFile, saveFormat); Trace.WriteLine(Invariant($"Exporting {exportFile} as {exportFormat}")); document.ExportAsFixedFormat(exportFile, exportFormat, CreateBookmarks: WdExportCreateBookmarks.wdExportCreateHeadingBookmarks, OptimizeFor: WdExportOptimizeFor.wdExportOptimizeForOnScreen); } finally { word?.Documents?.Close(); word?.Quit(); } }
private static void ConvertDocument( string inputFile, WdOpenFormat inputFormat, string outputFile, WdSaveFormat outputFormat, Action <Document> format = null, bool isWordVisible = false) { Application word = null; try { word = new Application { Visible = isWordVisible }; Trace.WriteLine(Invariant($"Opening {inputFile} as {inputFormat}.")); word.Documents.Open(inputFile, Format: inputFormat); Document document = word.Documents[inputFile]; format?.Invoke(document); Trace.WriteLine(Invariant($"Saving {outputFile} as {outputFormat}")); document.SaveAs2(outputFile, outputFormat); } finally { word?.Documents?.Close(); word?.Quit(); } }