示例#1
0
        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();
            }
        }
示例#2
0
        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();
            }
        }