Skip to content

Commit e83e76b

Browse files
Muhammad SamiMuhammad Sami
authored andcommitted
Examples updated for 19.10
1 parent 5a14e88 commit e83e76b

5 files changed

Lines changed: 97 additions & 14 deletions

File tree

Binary file not shown.

Examples/GroupDocs.Comparison.Examples.Java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<dependency>
1414
<groupId>com.groupdocs</groupId>
1515
<artifactId>groupdocs-comparison</artifactId>
16-
<version>19.6</version>
16+
<version>19.10</version>
1717
</dependency>
1818
</dependencies>
1919
<repositories>

Examples/GroupDocs.Comparison.Examples.Java/src/main/java/com/groupdocs/comparison/examples/MainClass.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
11
package com.groupdocs.comparison.examples;
22

3-
import java.io.File;
4-
import java.io.FileInputStream;
5-
import java.io.InputStream;
6-
import java.nio.file.Files;
7-
import java.nio.file.Path;
8-
import java.nio.file.Paths;
9-
import java.util.stream.Stream;
10-
11-
import com.groupdocs.comparison.common.license.License;
12-
133
public class MainClass {
144

155
public static void main(String[] args) throws Throwable {
166
// Setup license
17-
// Utilities.applyLicenseFromFile();
7+
Utilities.applyLicenseFromFile();
188

199
// Word documents comparison_______________________________________
2010

@@ -76,6 +66,12 @@ public static void main(String[] args) throws Throwable {
7666

7767
// Properties of ICompareResult
7868
//WordDocumentComparison.propertiesOfICompareResult("source.docx", "target.docx");
69+
70+
//Get Coordinates of Specific Changes in Result Document
71+
//WordDocumentComparison.getCoordinatesOfSpecificChangesInResultDocument("source.docx", "target.docx");
72+
73+
//Sensitive comparison of the documents
74+
//WordDocumentComparison.sensitiveComparisonOfDocuments("source.docx", "target.docx");
7975

8076
// End word documents
8177
// comparison___________________________________________________

Examples/GroupDocs.Comparison.Examples.Java/src/main/java/com/groupdocs/comparison/examples/Utilities.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import java.nio.file.Path;
88
import java.util.Properties;
99

10+
import com.groupdocs.comparison.Informer;
11+
import com.groupdocs.comparison.common.documentinfo.DocumentInfo;
1012
import com.groupdocs.comparison.common.license.License;
1113
import com.groupdocs.comparison.common.license.Metered;
1214
//ExStart:commonutilitiesclass
@@ -17,6 +19,7 @@ public class Utilities {
1719
public final static String sourcePath = "./Data/SourceFiles/";
1820
public final static String targetPath = "./Data/TargetFiles/";
1921
public static final String resultFilePath = "./Data/ResultFiles/";
22+
public static final String resultImagePath = "Data/ResultFiles/ResultImages/";
2023
public final static String resultFile = "result";
2124
public static final String licensePath = "E://GroupDocs.Total.Java.lic";
2225
public final static String sourcePassword = "pass";
@@ -91,6 +94,16 @@ public static void meteredLicense(String filePath) {
9194
}
9295
// ExEnd:meteredLicense
9396
}
97+
98+
public static void getDocumentInfo(String sourceFile) {
99+
// ExStart:getDocumentInfo
100+
Informer informer = new Informer();
101+
// Get information about document from filePath
102+
String sourceFilePath = sourcePath + sourceFile;
103+
DocumentInfo documentInfo = informer.getDocumentInfo(sourceFilePath);
104+
// ExEnd:getDocumentInfo
105+
}
106+
94107
public static InputStream sourceStream(String sourceFile) throws Throwable {
95108
String sourceFilePath = sourcePath + sourceFile;
96109
InputStream sourceStream = new FileInputStream(sourceFilePath);

Examples/GroupDocs.Comparison.Examples.Java/src/main/java/com/groupdocs/comparison/examples/WordDocumentComparison.java

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
package com.groupdocs.comparison.examples;
22
import java.awt.Color;
3+
import java.awt.Graphics;
4+
import java.awt.image.BufferedImage;
5+
import java.io.File;
36
import java.io.FileInputStream;
47
import java.io.InputStream;
58
import java.util.Arrays;
69
import java.util.List;
710

11+
import javax.imageio.ImageIO;
12+
813
import com.groupdocs.comparison.Comparer;
914
import com.groupdocs.comparison.MultiComparer;
10-
import com.groupdocs.comparison.common.changes.ChangeInfo;
11-
import com.groupdocs.comparison.common.changes.ComparisonAction;
15+
import com.groupdocs.comparison.changes.ChangeInfo;
16+
import com.groupdocs.comparison.changes.ComparisonAction;
17+
import com.groupdocs.comparison.changes.Rectangle;
18+
import com.groupdocs.comparison.common.PageImage;
19+
import com.groupdocs.comparison.common.TypeChanged;
1220
import com.groupdocs.comparison.common.compareresult.ICompareResult;
1321
import com.groupdocs.comparison.common.comparisonsettings.ComparisonSettings;
1422
import com.groupdocs.comparison.common.comparisonsettings.DetailLevel;
@@ -350,4 +358,70 @@ public static void propertiesOfICompareResult(String sourceFile, String targetFi
350358
result.updateChanges(changes);
351359
//ExEnd:propertiesOfICompareResult
352360
}
361+
362+
//Get Coordinates of Specific Changes in Result Document
363+
public static void getCoordinatesOfSpecificChangesInResultDocument(String sourceFile, String targetFile) throws Exception{
364+
//ExStart:getCoordinatesOfSpecificChangesInResultDocument
365+
ComparisonSettings comparisonSettings = new ComparisonSettings();
366+
comparisonSettings.setStyleChangeDetection(true);
367+
//this setting specify that we want to have change coordinates
368+
comparisonSettings.setCalculateComponentCoordinates(true);
369+
comparisonSettings.setDetailLevel(DetailLevel.High);
370+
371+
String sourcePath = Utilities.sourcePath + sourceFile;
372+
String targetPath = Utilities.targetPath + targetFile;
373+
374+
Comparer comparer = new Comparer();
375+
ICompareResult result = comparer.compare(sourcePath, targetPath, comparisonSettings);
376+
result.saveDocument(Utilities.outputFileName(extension));
377+
378+
List<PageImage> resultImages = comparer.convertToImages(Utilities.resultImagePath);
379+
final ChangeInfo[] changes = result.getChanges();
380+
381+
// Below the one of cases how we could use changes coordinates.
382+
// We are passing through pages object and draw a rectangle in the coordinates of changes
383+
for (PageImage pageImage : resultImages) {
384+
final InputStream pageStream = pageImage.getPageStream();
385+
final BufferedImage bufferedImage = ImageIO.read(pageStream);
386+
final Graphics graphics = bufferedImage.getGraphics();
387+
for (ChangeInfo changeInfo : changes) {
388+
final Rectangle rectangle = changeInfo.getBox();
389+
//if something was Inserted draw a Blue rectange
390+
if (changeInfo.getType() == TypeChanged.Inserted) {
391+
graphics.setColor(Color.BLUE);
392+
graphics.drawRect((int) rectangle.getX(), (int) rectangle.getY(), (int) rectangle.getWidth(), (int) rectangle.getHeight());
393+
}
394+
//if something was Deleted draw a Red rectange
395+
if (changeInfo.getType() == TypeChanged.Deleted) {
396+
397+
graphics.setColor(Color.RED);
398+
graphics.drawRect((int) rectangle.getX(), (int) rectangle.getY(), (int) rectangle.getWidth(), (int) rectangle.getHeight());
399+
}
400+
//if something was Changes draw a Green rectange
401+
if (changeInfo.getType() == TypeChanged.StyleChanged) {
402+
graphics.setColor(Color.GREEN);
403+
graphics.drawRect((int) rectangle.getX(), (int) rectangle.getY(), (int) rectangle.getWidth(), (int) rectangle.getHeight());
404+
}
405+
}
406+
graphics.dispose();
407+
pageStream.close();
408+
}
409+
410+
//ExEnd:getCoordinatesOfSpecificChangesInResultDocument
411+
}
412+
413+
//Sensitive comparison of the documents
414+
public static void sensitiveComparisonOfDocuments(String sourceFile, String targetFile) throws Exception{
415+
//ExStart:sensitiveComparisonOfDocuments
416+
String sourcePath = Utilities.sourcePath + sourceFile;
417+
String targetPath = Utilities.targetPath + targetFile;
418+
419+
ComparisonSettings comparisonSettings = new ComparisonSettings();
420+
comparisonSettings.setSensitivityOfComparison(100);
421+
422+
Comparer comparer = new Comparer();
423+
ICompareResult result = comparer.compare(sourcePath, targetPath, comparisonSettings);
424+
result.saveDocument(Utilities.outputFileName(extension));
425+
//ExEnd:sensitiveComparisonOfDocuments
426+
}
353427
}

0 commit comments

Comments
 (0)