private static void Compare(string sourcePath, string targetPath, string resultPath)
        {
            // Create to streams of documents
            Assembly assembly     = Assembly.GetExecutingAssembly();
            Stream   sourceStream = assembly.GetManifestResourceStream(sourcePath);
            Stream   targetStream = assembly.GetManifestResourceStream(targetPath);
            // Opening two documents
            IComparisonDocument sourcePresentation = new ComparisonDocument(sourceStream);

            Console.WriteLine("Document with source path: " + sourcePath + " was loaded.");
            IComparisonDocument targetPresentation = new ComparisonDocument(targetStream);

            Console.WriteLine("Document with source path: " + targetPath + " was loaded.");

            // Creating settings for comparison of documents
            WordsComparisonSettings comparisonSettings = new WordsComparisonSettings();

            // Comparing documents
            IWordsCompareResult compareResult = sourcePresentation.CompareWith(targetPresentation, comparisonSettings);

            Console.WriteLine("Documents was compared.");

            // Saving result of comparison to new document
            IComparisonDocument result = compareResult.GetDocument();
            Stream resultStream        = new FileStream(resultPath, FileMode.Create);

            result.Save(resultStream, ComparisonSaveFormat.Docx);
            resultStream.Close();
            Console.WriteLine("Result of comparison was saved to document with the following source path" + resultPath + ".");
            Console.WriteLine("===============================================");
            Console.WriteLine("");
        }
        //ExEnd:CompareWordDcumentsFromPathToFileWithSettings

        //ExStart:CompareMultipleTargetWordDcumentsFromPathToFileWithSettings
        /// <summary>
        /// Compare Two target  word processing documents using method MultiCompareWith from file path with saving results into a file with document settings
        /// </summary>
        public static void ComparetwoTargetWordDcumentsFromPathToFileWithSettings()
        {
            // Create list of targets documents
            List <IComparisonDocument> ListOfTargetDocuments = new List <IComparisonDocument>();

            // Open documents
            ComparisonDocument source  = new ComparisonDocument(Path.Combine(Common.sourcePath, Common.sourceFile));
            ComparisonDocument target1 = new ComparisonDocument(Path.Combine(Common.targetPath, "target.docx"));
            ComparisonDocument target2 = new ComparisonDocument(Path.Combine(Common.targetPath, "target2.docx"));

            // Add target documents in list
            ListOfTargetDocuments.Add(target1);
            ListOfTargetDocuments.Add(target2);

            // Call method MultiCompareWith
            IWordsCompareResult result = source.MultiCompareWith(ListOfTargetDocuments, new WordsComparisonSettings {
                StyleChangeDetection = true, ShowDeletedContent = true, IsMultipleComparison = true, GenerateSummaryPage = true
            });

            // Call GetDocument() method
            IComparisonDocument resultDocument = result.GetDocument();

            // Call Save() method
            resultDocument.Save(Path.Combine(Common.resultPath, Common.resultFile), ComparisonSaveFormat.Docx);
        }
예제 #3
0
        //ExStart:CompareWordDcumentsFromStreamToFile
        /// <summary>
        /// Compare two word processing documents from streams with saving results into a file
        /// </summary>
        public static string CompareWordDcumentsFromStreamToFile(Stream sourceStream, Stream targetStream, string resultFile)
        {
            IComparisonDocument     sourcePresentation = new ComparisonDocument(sourceStream);
            IComparisonDocument     targetPresentation = new ComparisonDocument(targetStream);
            WordsComparisonSettings comparisonSettings = new WordsComparisonSettings();
            IWordsCompareResult     compareResult      = sourcePresentation.CompareWith(targetPresentation, comparisonSettings);
            // Saving result of comparison to new document
            IComparisonDocument result = compareResult.GetDocument();
            Stream resultStream        = new FileStream(resultFile, FileMode.Create);

            result.Save(resultStream, ComparisonSaveFormat.Docx);
            resultStream.Close();

            return(resultFile);
        }
예제 #4
0
        public static void CompareColumnFromDocumentWithCreatingColumn()
        {
            string sourcePath =
                @"GroupDocs.Comparison.Samples.Words.Components.data.CompareColumnFromDocumentWithCreatingColumn.source.docx";

            // Create to stream of document
            Assembly assembly     = Assembly.GetExecutingAssembly();
            Stream   sourceStream = assembly.GetManifestResourceStream(sourcePath);

            // Opening source document
            IComparisonDocument sourceDocument = new ComparisonDocument(sourceStream);

            Console.WriteLine("Document with source path: " + sourcePath + " was loaded.");

            // Getting first Column from source document
            IComparisonColumn sourceColumn = (sourceDocument.Sections[0].Body.GetChildNodes(ComparisonNodeType.Table, false)[0] as IComparisonTable).Columns[0];

            // Creating Column
            IComparisonColumn    targetColumn = new ComparisonColumn(100, new double[] { 20, 20, 20 });
            IComparisonParagraph paragraph    = targetColumn.Cells[0].AddParagraph();

            paragraph.AddRun("This is cell.");
            paragraph = targetColumn.Cells[1].AddParagraph();
            paragraph.AddRun("This is Cell of target table.");
            paragraph = targetColumn.Cells[2].AddParagraph();
            paragraph.AddRun("This is Cell.");
            Console.WriteLine("New Column was created.");

            // Creating settings for comparison of Columns
            WordsComparisonSettings settings = new WordsComparisonSettings();
            // Comparing Columns
            IWordsCompareResult compareResult = sourceColumn.CompareWith(targetColumn, settings);

            Console.WriteLine("Columns was compared.");

            // Saving result of comparison to new document
            string resultPath          = @"./../../Components/testresult/CompareColumnFromDocumentWithCreatingColumn/result.docx";
            IComparisonDocument result = compareResult.GetDocument();
            Stream resultStream        = new FileStream(resultPath, FileMode.Create);

            result.Save(resultStream, ComparisonSaveFormat.Docx);
            resultStream.Close();
            Console.WriteLine("Result of comparison was saved to document with the following source path" +
                              resultPath + ".");
            Console.WriteLine("===============================================");
            Console.WriteLine("");
        }
예제 #5
0
        public static void CompareTwoDocumentsFromFiles()
        {
            string sourcePath = @"./../../data/Words/source.docx";
            string targetPath = @"./../../data/Words/target.docx";

            Console.WriteLine("Comparison of documents has been started..");
            GroupDocs.Comparison.Comparison comparison = new GroupDocs.Comparison.Comparison();
            Stream result = comparison.Compare(sourcePath, targetPath, ComparisonType.Words);

            Console.WriteLine("Documents has been compared...");

            string resultPath       = @"./../../testresult/FromFiles/result.docx";
            IComparisonDocument doc = new ComparisonDocument(result);

            doc.Save(resultPath, ComparisonSaveFormat.Docx);
            Console.WriteLine("Result has been saved to file " + resultPath + ".");
        }
예제 #6
0
        public static void CompareColumnsFromDifferentDocuments()
        {
            string sourcePath =
                @"GroupDocs.Comparison.Samples.Words.Components.data.CompareColumnsFromDifferentDocuments.source.docx";
            string targetPath =
                @"GroupDocs.Comparison.Samples.Words.Components.data.CompareColumnsFromDifferentDocuments.target.docx";

            // Create to streams of documents
            Assembly assembly     = Assembly.GetExecutingAssembly();
            Stream   sourceStream = assembly.GetManifestResourceStream(sourcePath);
            Stream   targetStream = assembly.GetManifestResourceStream(targetPath);

            // Opening two documents
            IComparisonDocument sourceDocument = new ComparisonDocument(sourceStream);

            Console.WriteLine("Document with source path: " + sourcePath + " was loaded.");
            IComparisonDocument targetDocument = new ComparisonDocument(targetStream);

            Console.WriteLine("Document with source path: " + targetPath + " was loaded.");

            // Getting first Column from source document
            IComparisonColumn sourceColumn = (sourceDocument.Sections[0].Body.GetChildNodes(ComparisonNodeType.Table, false)[0] as IComparisonTable).Columns[0];
            // Getting first Column from target document
            IComparisonColumn targetColumn = (targetDocument.Sections[0].Body.GetChildNodes(ComparisonNodeType.Table, false)[0] as IComparisonTable).Columns[0];

            // Creating settings for comparison of Columns
            WordsComparisonSettings settings = new WordsComparisonSettings();
            // Comparing Columns
            IWordsCompareResult compareResult = sourceColumn.CompareWith(targetColumn, settings);

            Console.WriteLine("Columns was compared.");

            // Saving result of comparison to new document
            string resultPath          = @"./../../Components/testresult/CompareColumnsFromDifferentDocuments/result.docx";
            IComparisonDocument result = compareResult.GetDocument();
            Stream resultStream        = new FileStream(resultPath, FileMode.Create);

            result.Save(resultStream, ComparisonSaveFormat.Docx);
            resultStream.Close();
            Console.WriteLine("Result of comparison was saved to document with the following source path" +
                              resultPath + ".");
            Console.WriteLine("===============================================");
            Console.WriteLine("");
        }
예제 #7
0
        public static void CompareParagraphFromDocumentWithCreatingParagraph()
        {
            string sourcePath =
                @"GroupDocs.Comparison.Samples.Words.Components.data.CompareParagraphFromDocumentWithCreatingParagraph.source.docx";

            // Create to stream of document
            Assembly assembly     = Assembly.GetExecutingAssembly();
            Stream   sourceStream = assembly.GetManifestResourceStream(sourcePath);

            // Opening source document
            IComparisonDocument sourceDocument = new ComparisonDocument(sourceStream);

            Console.WriteLine("Document with source path: " + sourcePath + " was loaded.");

            // Getting first Paragraph from source document
            IComparisonParagraph sourceParagraph = sourceDocument.Sections[0].Body.GetChildNodes(ComparisonNodeType.Paragraph, false)[0] as IComparisonParagraph;

            // Creating Paragraph
            IComparisonParagraph targetParagraph = new ComparisonParagraph();

            targetParagraph.AddRun("This paragraph was created.");
            Console.WriteLine("New Paragraph was created.");

            // Creating settings for comparison of Paragraphs
            WordsComparisonSettings settings = new WordsComparisonSettings();
            // Comparing Paragraphs
            IWordsCompareResult compareResult = sourceParagraph.CompareWith(targetParagraph, settings);

            Console.WriteLine("Paragraphs was compared.");

            // Saving result of comparison to new document
            string resultPath          = @"./../../Components/testresult/CompareParagraphFromDocumentWithCreatingParagraph/result.docx";
            IComparisonDocument result = compareResult.GetDocument();
            Stream resultStream        = new FileStream(resultPath, FileMode.Create);

            result.Save(resultStream, ComparisonSaveFormat.Docx);
            resultStream.Close();
            Console.WriteLine("Result of comparison was saved to document with the following source path" +
                              resultPath + ".");
            Console.WriteLine("===============================================");
            Console.WriteLine("");
        }
예제 #8
0
        public static void CompareTwoDocumentsFromStreams()
        {
            string sourcePath = @"GroupDocs.Comparison.Samples.data.Words.source.docx";
            string targetPath = @"GroupDocs.Comparison.Samples.data.Words.target.docx";

            // Create two streams of documents
            Assembly assembly     = Assembly.GetExecutingAssembly();
            Stream   sourceStream = assembly.GetManifestResourceStream(sourcePath);
            Stream   targetStream = assembly.GetManifestResourceStream(targetPath);

            Console.WriteLine("Comparison of documents has been started..");
            GroupDocs.Comparison.Comparison comparison = new GroupDocs.Comparison.Comparison();
            Stream result = comparison.Compare(sourceStream, targetStream, ComparisonType.Words);

            Console.WriteLine("Documents has been compared...");

            string resultPath       = @"./../../testresult/FromStreams/result.docx";
            IComparisonDocument doc = new ComparisonDocument(result);

            doc.Save(resultPath, ComparisonSaveFormat.Docx);
            Console.WriteLine("Result has been saved to file " + resultPath + ".");
        }