diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx
new file mode 100644
index 0000000..b166799
Binary files /dev/null and b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx differ
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf
deleted file mode 100644
index f71424e..0000000
Binary files a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf and /dev/null differ
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml
index abef5a9..de2e0d2 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml
+++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml
@@ -18,7 +18,7 @@
com.groupdocs
groupdocs-annotation
- 19.5
+ 19.7
commons-io
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java
index 5dd1f87..a5f6e0d 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java
@@ -5,13 +5,17 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.IOUtils;
import com.groupdocs.annotation.domain.AnnotationInfo;
+import com.groupdocs.annotation.domain.AnnotationType;
+import com.groupdocs.annotation.domain.DocumentType;
import com.groupdocs.annotation.domain.Point;
+import com.groupdocs.annotation.domain.Rectangle;
import com.groupdocs.annotation.domain.config.AnnotationConfig;
import com.groupdocs.annotation.handler.AnnotationImageHandler;
@@ -55,4 +59,35 @@ public static void addAnnotationInCells() {
}
//ExEnd:addAnnotationInCells
}
+
+ /*
+ * Add Ellipse Annotation in Cells
+ */
+ public static void addEllipseAnnotationInCells() {
+ //ExStart:addEllipseAnnotationInCells
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Cells);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "cells-annotated.xlsx");
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInCells
+ }
}
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java
index 527da72..ffd1a1f 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java
@@ -258,6 +258,7 @@ public static void setBackgroundColor() {
}
// Updates the text in the annotation
+
public static void editTextFieldAnnotations() {
//ExStart:editTextFieldAnnotations
try {
@@ -272,7 +273,7 @@ public static void editTextFieldAnnotations() {
textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0));
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f));
textFieldAnnotation.setPageNumber(0);
textFieldAnnotation.setType(AnnotationType.TextField);
@@ -284,7 +285,7 @@ public static void editTextFieldAnnotations() {
final TextFieldInfo textFieldInfo = new TextFieldInfo();
textFieldInfo.setFieldText("new text");
textFieldInfo.setFontFamily("Colibri");
- textFieldInfo.setFontSize(12);
+ textFieldInfo.setFontSize(12D);
SaveAnnotationTextResult saveTextFieldResult = annotator
.saveTextField(createTextFieldAnnotationResult.getId(), textFieldInfo);
System.out.println(saveTextFieldResult);
@@ -472,6 +473,7 @@ public static void getCollaborator() {
}
// Updates document collaborator
+
public static void updateCollaborator() {
//ExStart:updateCollaborator
try {
@@ -506,7 +508,7 @@ public static void updateCollaborator() {
reviewerInfo.setAccessRights(AnnotationReviewerRights.All);
// Update collaborator. Only color and access rights will be
// updated.
- reviewerInfo.setColor(3355443L);
+ reviewerInfo.setColor(3355443);
SetCollaboratorsResult updateCollaboratorResult = annotator.updateCollaborator(documentId, reviewerInfo);
System.out.println(updateCollaboratorResult);
} catch (Exception e) {
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java
new file mode 100644
index 0000000..98e52d7
--- /dev/null
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java
@@ -0,0 +1,241 @@
+package GroupDocs.Annotation.Examples.Java;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.io.IOUtils;
+
+import com.groupdocs.annotation.domain.AnnotationInfo;
+import com.groupdocs.annotation.domain.AnnotationType;
+import com.groupdocs.annotation.domain.DocumentType;
+import com.groupdocs.annotation.domain.PageData;
+import com.groupdocs.annotation.domain.Rectangle;
+import com.groupdocs.annotation.domain.RowData;
+import com.groupdocs.annotation.domain.config.AnnotationConfig;
+import com.groupdocs.annotation.domain.containers.DocumentInfoContainer;
+import com.groupdocs.annotation.domain.image.PageImage;
+import com.groupdocs.annotation.domain.options.ImageOptions;
+import com.groupdocs.annotation.handler.AnnotationImageHandler;
+
+public class DiagramsAnnotation {
+ // ExStart:DiagramsAnnotation
+ /*
+ * document name
+ */
+ public static String fileName = "sample.vsd";
+
+ public static void getDocInfoForDiagram() {
+ // ExStart:getDocInfoForDiagram
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName);
+
+ // Go through all pages
+ for (PageData pageData : documentInfoContainer.getPages()) {
+ System.out.println("Page number: " + pageData.getNumber());
+ // Go through all page rows
+ for (int i = 0; i < pageData.getRows().size(); i++) {
+ RowData rowData = pageData.getRows().get(i);
+ // Write data to console
+ System.out.println("Row: " + (i + 1));
+ System.out.println("Text: " + rowData.getText());
+ System.out.println("Text width: " + rowData.getLineWidth());
+ System.out.println("Text height: " + rowData.getLineHeight());
+ System.out.println("Distance from left: " + rowData.getLineLeft());
+ System.out.println("Distance from top: " + rowData.getLineTop());
+ // Get words
+ String[] words = rowData.getText().split(" ");
+ // Go through all word coordinates
+ for (int j = 0; j < words.length; j++) {
+ int coordinateIndex = j == 0 ? 0 : j + 1;
+ // Write data to console
+ System.out.println("Word: '" + words[j] + "'");
+ System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex));
+ System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1));
+ }
+ }
+ }
+ // ExEnd:getDocInfoForDiagram
+ }
+
+ public static void getPageImagesForDiagramDocs() throws Throwable {
+ // ExStart:getPageImagesForDiagramDocs
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ List images = annotator.getPages(fileName, new ImageOptions());
+ for (int i = 0; i < images.size(); i++) {
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "image_" + i + ".png");
+
+ final PageImage pageImage = images.get(i);
+ IOUtils.copy(pageImage.getStream(), fileStream);
+ }
+ // ExEnd:getPageImagesForDiagramDocs
+ }
+
+ public static void addAnnotationDiagrams() throws Throwable {
+ // ExStart:addAnnotationDiagrams
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+
+ // Area annotation
+ AnnotationInfo areaAnnnotation = new AnnotationInfo();
+ areaAnnnotation.setCreatedOn(new Date());
+ areaAnnnotation.setType(AnnotationType.Area);
+ areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f));
+
+ // Polyline annotation
+ AnnotationInfo polylineAnnotation = new AnnotationInfo();
+ polylineAnnotation.setCreatedOn(new Date());
+ polylineAnnotation.setType(AnnotationType.Polyline);
+ polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f));
+ polylineAnnotation.setSvgPath(
+ "M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0");
+
+ // Text field annotation
+ AnnotationInfo textFieldAnnotation = new AnnotationInfo();
+ textFieldAnnotation.setCreatedOn(new Date());
+ textFieldAnnotation.setType(AnnotationType.TextField);
+ textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f));
+ textFieldAnnotation.setBackgroundColor(-15988609);
+ textFieldAnnotation.setFieldText("Annotation Text");
+
+ // Arrow annotation
+ AnnotationInfo arrowAnnotation = new AnnotationInfo();
+ arrowAnnotation.setType(AnnotationType.Arrow);
+ arrowAnnotation.setBox(
+ new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f));
+
+ // Resource redaction annotation
+ AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo();
+ resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction);
+ resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f));
+
+ annotations.add(areaAnnnotation);
+ annotations.add(polylineAnnotation);
+ annotations.add(textFieldAnnotation);
+ annotations.add(arrowAnnotation);
+ annotations.add(resourceRedactionAnnotation);
+
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
+
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
+ IOUtils.copy(result, fileStream);
+ // ExEnd:addAnnotationDiagrams
+ }
+
+ public static void addDistanceAnnotationInDiagrams() throws Throwable {
+ // ExStart:addDistanceAnnotationInDiagrams
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Distance annotation
+ AnnotationInfo distanceAnnotation = new AnnotationInfo();
+ distanceAnnotation.setCreatedOn(new Date());
+ distanceAnnotation.setType(AnnotationType.Distance);
+ distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812));
+ distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338");
+
+ annotations.add(distanceAnnotation);
+
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
+ IOUtils.copy(result, fileStream);
+ // ExEnd:addDistanceAnnotationInDiagrams
+ }
+
+ public static void addPointAnnotationInDiagrams() throws Throwable {
+ // ExStart:addPointAnnotationInDiagrams
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Point annotation
+ AnnotationInfo pointAnnnotation = new AnnotationInfo();
+ pointAnnnotation.setCreatedOn(new Date());
+ pointAnnnotation.setType(AnnotationType.Point);
+ pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0));
+ pointAnnnotation.setPageNumber(0);
+
+ annotations.add(pointAnnnotation);
+
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
+ IOUtils.copy(result, fileStream);
+ // ExEnd:addPointAnnotationInDiagrams
+ }
+
+ public static void addWatermarkAnnotationInDiagrams() throws Throwable {
+ // ExStart:addWatermarkAnnotationInDiagrams
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Watermark annotation
+ AnnotationInfo watermarkAnnnotation = new AnnotationInfo();
+ watermarkAnnnotation.setCreatedOn(new Date());
+ watermarkAnnnotation.setFieldText("Watermark text");
+ watermarkAnnnotation.setFontColor(16711680);
+ watermarkAnnnotation.setFontFamily("Microsoft Sans Serif");
+ watermarkAnnnotation.setFontSize(17D);
+ //watermarkAnnnotation.setOpacity(0.3);
+ watermarkAnnnotation.setType(AnnotationType.Watermark);
+
+ annotations.add(watermarkAnnnotation);
+
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsd");
+ IOUtils.copy(result, fileStream);
+ // ExEnd:addWatermarkAnnotationInDiagrams
+ }
+
+ /*
+ * Add Ellipse Annotation in Diagrams
+ */
+ public static void addEllipseAnnotationInDiagrams() {
+ //ExStart:addEllipseAnnotationInDiagrams
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Diagram);
+
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
+ System.out.println(result.available());
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInDiagrams
+ }
+}
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java
index 7dd6d0d..6ebefc8 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java
@@ -20,6 +20,7 @@
import com.groupdocs.annotation.handler.AnnotationImageHandler;
public class EmailAnnotation {
+ //Sami
public static void differentAnnotationsForEmail(String fileName) throws Throwable, Throwable{
//ExStart:differentAnnotationsForEmail
AnnotationConfig cfg = Utilities.getConfiguration();
@@ -50,14 +51,14 @@ public static void differentAnnotationsForEmail(String fileName) throws Throwabl
AnnotationInfo textFieldAnnotation = new AnnotationInfo();
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f));
textFieldAnnotation.setPageNumber(0);
textFieldAnnotation.setType(AnnotationType.TextField);
AnnotationInfo textReplacementAnnotation = new AnnotationInfo();
textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" ");
- textReplacementAnnotation.setFontSize(10);
+ textReplacementAnnotation.setFontSize(10D);
textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]");
textReplacementAnnotation.setPageNumber(0);
textReplacementAnnotation.setType(AnnotationType.TextReplacement);
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java
index 106408a..113db60 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java
@@ -20,6 +20,7 @@
import com.groupdocs.annotation.handler.AnnotationImageHandler;
public class HtmlAnnotation {
+ //Sami
public static void createAnnotationForHtml(String fileName) throws Throwable, Throwable{
//ExStart:createAnnotationForHtml
AnnotationConfig cfg = Utilities.getConfiguration();
@@ -50,14 +51,14 @@ public static void createAnnotationForHtml(String fileName) throws Throwable, Th
AnnotationInfo textFieldAnnotation = new AnnotationInfo();
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f));
textFieldAnnotation.setPageNumber(1);
textFieldAnnotation.setType(AnnotationType.TextField);
AnnotationInfo textReplacementAnnotation = new AnnotationInfo();
textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" ");
- textReplacementAnnotation.setFontSize(10);
+ textReplacementAnnotation.setFontSize(10D);
textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]");
textReplacementAnnotation.setPageNumber(0);
textReplacementAnnotation.setType(AnnotationType.TextReplacement);
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java
index 02a2320..4466782 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java
@@ -30,10 +30,13 @@ public class ImagesAnnotation {
/*
* document name
*/
+ public static String fileName = "image.png";
+
// From version 17.1.0 you can work with images of EMF/WMF, CAD-files (DWG),
// DICOM, DjVu, PNG, JPG, TIFF, BMP and GIF(static without animation) format
// images
- public static void differentAnnotationsForImages(String fileName) throws Throwable {
+
+ public static void differentAnnotationsForImages() throws Throwable {
// ExStart:differentAnnotationsForImages
AnnotationConfig cfg = Utilities.getConfiguration();
AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
@@ -137,7 +140,7 @@ public static void differentAnnotationsForImages(String fileName) throws Throwab
watermarkAnnotation.setFieldText("This is watermark");
watermarkAnnotation.setFontFamily("arial");
watermarkAnnotation.setBox(new Rectangle(200, 250, 50, 0));
- watermarkAnnotation.setFontSize(25);
+ watermarkAnnotation.setFontSize(25D);
watermarkAnnotation.setFontColor(15988609);
AnnotationInfo distanceAnnotation = new AnnotationInfo();
@@ -175,180 +178,35 @@ public static void differentAnnotationsForImages(String fileName) throws Throwab
// ExEnd:differentAnnotationsForImages
}
-
- public static void getDocInfoForDiagram(String fileName) {
- // ExStart:getDocInfoForDiagram
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName);
-
- // Go through all pages
- for (PageData pageData : documentInfoContainer.getPages()) {
- System.out.println("Page number: " + pageData.getNumber());
- // Go through all page rows
- for (int i = 0; i < pageData.getRows().size(); i++) {
- RowData rowData = pageData.getRows().get(i);
- // Write data to console
- System.out.println("Row: " + (i + 1));
- System.out.println("Text: " + rowData.getText());
- System.out.println("Text width: " + rowData.getLineWidth());
- System.out.println("Text height: " + rowData.getLineHeight());
- System.out.println("Distance from left: " + rowData.getLineLeft());
- System.out.println("Distance from top: " + rowData.getLineTop());
- // Get words
- String[] words = rowData.getText().split(" ");
- // Go through all word coordinates
- for (int j = 0; j < words.length; j++) {
- int coordinateIndex = j == 0 ? 0 : j + 1;
- // Write data to console
- System.out.println("Word: '" + words[j] + "'");
- System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex));
- System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1));
- }
- }
- }
- // ExEnd:getDocInfoForDiagram
- }
-
- public static void getPageImagesForDiagramDocs(String fileName) throws Throwable {
- // ExStart:getPageImagesForDiagramDocs
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- List images = annotator.getPages(fileName, new ImageOptions());
- for (int i = 0; i < images.size(); i++) {
- OutputStream fileStream = new FileOutputStream(
- Utilities.outputPath + File.separator + "image_" + i + ".png");
-
- final PageImage pageImage = images.get(i);
- IOUtils.copy(pageImage.getStream(), fileStream);
- }
- // ExEnd:getPageImagesForDiagramDocs
- }
-
- public static void addAnnotationDiagrams(String fileName) throws Throwable {
- // ExStart:addAnnotationDiagrams
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
- List annotations = new ArrayList();
-
- // Area annotation
- AnnotationInfo areaAnnnotation = new AnnotationInfo();
- areaAnnnotation.setCreatedOn(new Date());
- areaAnnnotation.setType(AnnotationType.Area);
- areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f));
-
- // Polyline annotation
- AnnotationInfo polylineAnnotation = new AnnotationInfo();
- polylineAnnotation.setCreatedOn(new Date());
- polylineAnnotation.setType(AnnotationType.Polyline);
- polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f));
- polylineAnnotation.setSvgPath(
- "M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0");
-
- // Text field annotation
- AnnotationInfo textFieldAnnotation = new AnnotationInfo();
- textFieldAnnotation.setCreatedOn(new Date());
- textFieldAnnotation.setType(AnnotationType.TextField);
- textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f));
- textFieldAnnotation.setBackgroundColor(-15988609);
- textFieldAnnotation.setFieldText("Annotation Text");
-
- // Arrow annotation
- AnnotationInfo arrowAnnotation = new AnnotationInfo();
- arrowAnnotation.setType(AnnotationType.Arrow);
- arrowAnnotation.setBox(
- new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f));
-
- // Resource redaction annotation
- AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo();
- resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction);
- resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f));
-
- annotations.add(areaAnnnotation);
- annotations.add(polylineAnnotation);
- annotations.add(textFieldAnnotation);
- annotations.add(arrowAnnotation);
- annotations.add(resourceRedactionAnnotation);
-
- // Add annotation to the document
- InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
-
- // Save result stream to file.
- OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
- IOUtils.copy(result, fileStream);
- // ExEnd:addAnnotationDiagrams
- }
- public static void addDistanceAnnotationInDiagrams(String fileName) throws Throwable {
- // ExStart:addDistanceAnnotationInDiagrams
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
- List annotations = new ArrayList();
- // Distance annotation
- AnnotationInfo distanceAnnotation = new AnnotationInfo();
- distanceAnnotation.setCreatedOn(new Date());
- distanceAnnotation.setType(AnnotationType.Distance);
- distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812));
- distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338");
-
- annotations.add(distanceAnnotation);
-
- // Add annotation to the document
- InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
- // Save result stream to file.
- OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
- IOUtils.copy(result, fileStream);
- // ExEnd:addDistanceAnnotationInDiagrams
- }
-
- public static void addPointAnnotationInDiagrams(String fileName) throws Throwable {
- // ExStart:addPointAnnotationInDiagrams
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
- List annotations = new ArrayList();
- // Point annotation
- AnnotationInfo pointAnnnotation = new AnnotationInfo();
- pointAnnnotation.setCreatedOn(new Date());
- pointAnnnotation.setType(AnnotationType.Point);
- pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0));
- pointAnnnotation.setPageNumber(0);
-
- annotations.add(pointAnnnotation);
-
- // Add annotation to the document
- InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
- // Save result stream to file.
- OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx");
- IOUtils.copy(result, fileStream);
- // ExEnd:addPointAnnotationInDiagrams
- }
-
- public static void addWatermarkAnnotationInDiagrams(String fileName) throws Throwable {
- // ExStart:addWatermarkAnnotationInDiagrams
- AnnotationConfig cfg = Utilities.getConfiguration();
- AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
- InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
- List annotations = new ArrayList();
- // Watermark annotation
- AnnotationInfo watermarkAnnnotation = new AnnotationInfo();
- watermarkAnnnotation.setCreatedOn(new Date());
- watermarkAnnnotation.setFieldText("Watermark text");
- watermarkAnnnotation.setFontColor(16711680);
- watermarkAnnnotation.setFontFamily("Microsoft Sans Serif");
- watermarkAnnnotation.setFontSize(17);
- //watermarkAnnnotation.setOpacity(0.3);
- watermarkAnnnotation.setType(AnnotationType.Watermark);
-
- annotations.add(watermarkAnnnotation);
-
- // Add annotation to the document
- InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations);
- // Save result stream to file.
- OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsd");
- IOUtils.copy(result, fileStream);
- // ExEnd:addWatermarkAnnotationInDiagrams
+ /*
+ * Add Ellipse Annotation in Images
+ */
+ public static void addEllipseAnnotationInImages() {
+ //ExStart:addEllipseAnnotationInImages
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Images);
+
+ OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Image-annotated.png");
+ System.out.println(result.available());
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInImages
}
}
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java
index d559060..d996429 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java
@@ -6,7 +6,7 @@ public static void main(String[] args) throws Throwable {
// Apply license
- // Utilities.applyLicenseFromFile();
+ // Utilities.applyLicenseFromFile();
// Annotations in PDF
@@ -24,20 +24,27 @@ public static void main(String[] args) throws Throwable {
// PDFAnnotation.addUnderlineAnnotationInPDF();
// PDFAnnotation.addDistanceAnnotationInPDF();
// PDFAnnotation.usersWithDifferentRights();
- // PDFAnnotation.gettingTextCoordinates("sample.pdf");
-
+ // PDFAnnotation.gettingTextCoordinates("sample.pdf");
// PDFAnnotation.exportAnnotationsUsingExportOption();
+ // PDFAnnotation.addEllipseAnnotationInPDF();
+ // PDFAnnotation.getThumbnailsOfPagesForPDF();
+ // PDFAnnotation.setWatermarkAngleForPDF();
+
// Annotation in Cells
// CellsAnnotation.addAnnotationInCells();
+
+ // CellsAnnotation.addEllipseAnnotationInCells();
// Annotation in Slides
// SlidesAnnotation.addAnnotationInSlides();
// SlidesAnnotation.differentAnnotationsForSlides();
// SlidesAnnotation.importingAnnotationsToSlide();
+
+ // SlidesAnnotation.addEllipseAnnotationInSlides();
// Annotation in Words
@@ -51,12 +58,13 @@ public static void main(String[] args) throws Throwable {
// WordsAnnotation.addTextRedactionAnnotationInWords();
// WordsAnnotation.addResourceRedactionAnnotationInWords();
// WordsAnnotation.addUnderlineAnnotationInWords();
- // WordsAnnotation.importingAnnotationsFromWordDoc();
-
+ // WordsAnnotation.importingAnnotationsFromWordDoc();
// WordsAnnotation.addDistanceAnnotationInWords();
// WordsAnnotation.addPolylineAnnotationInWords();
// WordsAnnotation.addWatermarkAnnotationInWords();
// WordsAnnotation.addPointAnnotationInWords();
+
+ // WordsAnnotation.addEllipseAnnotationInWords();
// Data Storage Functions
@@ -77,16 +85,24 @@ public static void main(String[] args) throws Throwable {
// DataStorage.managesCollaboratorRights();
// DataStorage.exportAnnotations();
- // Annotation in Images/Diagrams
-
- // ImagesAnnotation.differentAnnotationsForImages("image.png");
- // ImagesAnnotation.getDocInfoForDiagram("sample.vsd");
- // ImagesAnnotation.getPageImagesForDiagramDocs("sample.vsd");
- // ImagesAnnotation.addAnnotationDiagrams("sample.vsd");
+ // Annotation in Images
- // ImagesAnnotation.addDistanceAnnotationInDiagrams("sample.vsd");
- // ImagesAnnotation.addPointAnnotationInDiagrams("sample.vsd");
- // ImagesAnnotation.addWatermarkAnnotationInDiagrams("sample.vsd");
+ // ImagesAnnotation.differentAnnotationsForImages();
+
+ // ImagesAnnotation.addEllipseAnnotationInImages();
+
+ // Annotation in Diagrams
+
+ // DiagramsAnnotation.getDocInfoForDiagram();
+ // DiagramsAnnotation.getPageImagesForDiagramDocs();
+ // DiagramsAnnotation.addAnnotationDiagrams();
+ // DiagramsAnnotation.addDistanceAnnotationInDiagrams();
+ // DiagramsAnnotation.addPointAnnotationInDiagrams();
+ // DiagramsAnnotation.addWatermarkAnnotationInDiagrams();
+
+ // DiagramsAnnotation.addEllipseAnnotationInDiagrams();
+
+
// Annotation in Emails
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java
index e8fc29c..6306a66 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java
@@ -24,6 +24,7 @@
import com.groupdocs.annotation.domain.RowData;
import com.groupdocs.annotation.domain.config.AnnotationConfig;
import com.groupdocs.annotation.domain.containers.DocumentInfoContainer;
+import com.groupdocs.annotation.domain.image.PageImage;
import com.groupdocs.annotation.domain.options.ExportOptions;
import com.groupdocs.annotation.domain.results.CreateAnnotationResult;
import com.groupdocs.annotation.domain.results.GetCollaboratorsResult;
@@ -233,6 +234,7 @@ public static void addPolyLineAnnotationInPDF() {
/*
* add text field annotation in PDF
*/
+
public static void addTextFieldAnnotationInPDF() {
//ExStart:addTextFieldAnnotationInPDF
try {
@@ -246,7 +248,7 @@ public static void addTextFieldAnnotationInPDF() {
textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0));
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f));
textFieldAnnotation.setPageNumber(0);
textFieldAnnotation.setType(AnnotationType.TextField);
@@ -268,6 +270,7 @@ public static void addTextFieldAnnotationInPDF() {
/*
* add watermark annotation in PDF
*/
+
public static void addWatermarkAnnotationInPDF() {
//ExStart:addWatermarkAnnotationInPDF
try {
@@ -281,11 +284,11 @@ public static void addWatermarkAnnotationInPDF() {
watermarkAnnotation.setAnnotationPosition(new Point(852.0, 300.0));
watermarkAnnotation.setFieldText("TEXT STAMP");
watermarkAnnotation.setFontFamily("Microsoft Sans Serif");
- watermarkAnnotation.setFontSize(10);
+ watermarkAnnotation.setFontSize(10D);
watermarkAnnotation.setFontColor(2222222);
watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
watermarkAnnotation.setPageNumber(0);
- watermarkAnnotation.setType(AnnotationType.TextField);
+ watermarkAnnotation.setType(AnnotationType.Watermark);
watermarkAnnotation.setCreatorName("Anonym A.");
annotations.add(watermarkAnnotation);
// Add annotation to the document
@@ -304,6 +307,7 @@ public static void addWatermarkAnnotationInPDF() {
/*
* add text replacement annotation in PDF
*/
+
public static void addTextReplacementAnnotationInPDF() {
//ExStart:addTextReplacementAnnotationInPDF
try {
@@ -316,7 +320,7 @@ public static void addTextReplacementAnnotationInPDF() {
AnnotationInfo textReplacementAnnotation = new AnnotationInfo();
textReplacementAnnotation.setAnnotationPosition(new Point(852.0, 172.0));
textReplacementAnnotation.setFieldText("Replaced text");
- textReplacementAnnotation.setFontSize(10);
+ textReplacementAnnotation.setFontSize(10D);
textReplacementAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f));
textReplacementAnnotation.setPageNumber(0);
textReplacementAnnotation.setType(AnnotationType.TextReplacement);
@@ -677,4 +681,104 @@ public static void exportAnnotationsUsingExportOption() {
}
//ExEnd:exportAnnotationsUsingExportOption
}
+
+ /*
+ * Add Ellipse Annotation in PDF
+ */
+ public static void addEllipseAnnotationInPDF() {
+ //ExStart:addEllipseAnnotationInPDF
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "annotated-ellipsed.pdf");
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInPDF
+ }
+
+ /*
+ * Get Thumbnails Of Document Pages
+ */
+ public static void getThumbnailsOfPagesForPDF() {
+ //ExStart:getThumbnailsOfPagesForPDF
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ //InputStream inputFile = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List pages = annotator.getPages(fileName);
+
+ // get thumbnails:
+ for (int i = 0; i < pages.size(); i++) {
+ InputStream stream = pages.get(i).getThumbnail();
+ // do something with stream
+ }
+
+ // Default image size was 300x180.
+ for (int i = 0; i < pages.size(); i++) {
+ InputStream stream = pages.get(i).getThumbnail(100, 100);
+ // do something with stream
+ }
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:getThumbnailsOfPagesForPDF
+ }
+
+ /*
+ * Set Watermark Angle for PDF
+ */
+ public static void setWatermarkAngleForPDF() {
+ //ExStart:setWatermarkAngleForPDF
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Watermark annotation
+ AnnotationInfo watermarkAnnotation = new AnnotationInfo();
+ watermarkAnnotation.setFieldText("TEXT STAMP");
+ watermarkAnnotation.setFontFamily("Microsoft Sans Serif");
+ watermarkAnnotation.setFontSize(10D);
+ watermarkAnnotation.setFontColor(2222222);
+ watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ watermarkAnnotation.setPageNumber(0);
+ watermarkAnnotation.setType(AnnotationType.Watermark);
+ watermarkAnnotation.setCreatorName("Anonym A.");
+ //set Angle
+ watermarkAnnotation.setAngle(45.0);
+ annotations.add(watermarkAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "annotated-angled-watermark.pdf");
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:setWatermarkAngleForPDF
+ }
+
+
}
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java
index 3001115..8431e30 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java
@@ -64,6 +64,7 @@ public static void addAnnotationInSlides() {
/*
* Creating annotations of different types
*/
+
public static void differentAnnotationsForSlides() throws Throwable{
//ExStart:differentAnnotationsForSlides
AnnotationConfig cfg = Utilities.getConfiguration();
@@ -140,7 +141,7 @@ public static void differentAnnotationsForSlides() throws Throwable{
watermarkAnnotation.setFieldText("This is watermark");
watermarkAnnotation.setFontFamily("arial");
watermarkAnnotation.setBox(new Rectangle(100,50,50,0));
- watermarkAnnotation.setFontSize(25);
+ watermarkAnnotation.setFontSize(25D);
watermarkAnnotation.setFontColor(-15988609);
//Text annotations
@@ -204,4 +205,35 @@ public static void importingAnnotationsToSlide() throws Throwable{
IOUtils.copy(output, fileStream);
//ExEnd:importingAnnotationsToSlide
}
+
+ /*
+ * Add Ellipse Annotation in Slides
+ */
+ public static void addEllipseAnnotationInSlides() {
+ //ExStart:addEllipseAnnotationInSlides
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Slides);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "slides-annotated.pptx");
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInSlides
+ }
}
diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java
index 3292ce9..02f8364 100644
--- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java
+++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java
@@ -34,6 +34,7 @@ public class WordsAnnotation {
/*
* add different annotations in words
*/
+
public static void addDifferentAnnotationInWords() {
//ExStart:addDifferentAnnotationInWords
try {
@@ -63,13 +64,13 @@ public static void addDifferentAnnotationInWords() {
AnnotationInfo textFieldAnnotation = new AnnotationInfo();
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f));
textFieldAnnotation.setPageNumber(1);
textFieldAnnotation.setType(AnnotationType.TextField);
AnnotationInfo textReplacementAnnotation = new AnnotationInfo();
textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" ");
- textReplacementAnnotation.setFontSize(10);
+ textReplacementAnnotation.setFontSize(10D);
textReplacementAnnotation.setSvgPath(
"[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]");
textReplacementAnnotation.setPageNumber(1);
@@ -214,6 +215,7 @@ public static void addStrikeoutAnnotationInWords() {
/*
* add text field annotation in words
*/
+
public static void addTextFieldAnnotationInWords() {
//ExStart:addTextFieldAnnotationInWords
try {
@@ -225,7 +227,7 @@ public static void addTextFieldAnnotationInWords() {
AnnotationInfo textFieldAnnotation = new AnnotationInfo();
textFieldAnnotation.setFieldText("text in the box");
textFieldAnnotation.setFontFamily("Arial");
- textFieldAnnotation.setFontSize(10);
+ textFieldAnnotation.setFontSize(10D);
textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f));
textFieldAnnotation.setPageNumber(1);
textFieldAnnotation.setType(AnnotationType.TextField);
@@ -247,6 +249,7 @@ public static void addTextFieldAnnotationInWords() {
/*
* add text replacement annotation in words
*/
+
public static void addTextReplacementAnnotationInWords() {
//ExStart:addTextReplacementAnnotationInWords
try {
@@ -257,7 +260,7 @@ public static void addTextReplacementAnnotationInWords() {
// init text replacement annotations
AnnotationInfo textReplacementAnnotation = new AnnotationInfo();
textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" ");
- textReplacementAnnotation.setFontSize(10);
+ textReplacementAnnotation.setFontSize(10D);
textReplacementAnnotation.setSvgPath(
"[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]");
textReplacementAnnotation.setPageNumber(1);
@@ -492,7 +495,7 @@ public static void addWatermarkAnnotationInWords() {
watermarkAnnnotation.setFieldText("Watermark text");
watermarkAnnnotation.setFontColor(16711680);
watermarkAnnnotation.setFontFamily("Microsoft Sans Serif");
- watermarkAnnnotation.setFontSize(17);
+ watermarkAnnnotation.setFontSize(17D);
//watermarkAnnnotation.setOpacity(0.3);
watermarkAnnnotation.setType(AnnotationType.Watermark);
@@ -540,4 +543,35 @@ public static void addPointAnnotationInWords() {
}
//ExEnd:addPointAnnotationInWords
}
+
+ /*
+ * Add Ellipse Annotation in Words
+ */
+ public static void addEllipseAnnotationInWords() {
+ //ExStart:addEllipseAnnotationInWords
+ try {
+ AnnotationConfig cfg = Utilities.getConfiguration();
+ AnnotationImageHandler annotator = new AnnotationImageHandler(cfg);
+ annotator.getDocumentDataHandler();
+ InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName);
+ List annotations = new ArrayList();
+ // Ellipse annotation
+ AnnotationInfo ellipseAnnotation = new AnnotationInfo();
+ ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f));
+ ellipseAnnotation.setPageNumber(0);
+ ellipseAnnotation.setType(AnnotationType.Ellipse);
+ ellipseAnnotation.setCreatorName("Anonym A.");
+ annotations.add(ellipseAnnotation);
+ // Add annotation to the document
+ InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Words);
+ // Save result stream to file.
+ OutputStream fileStream = new FileOutputStream(
+ Utilities.outputPath + File.separator + "words-annotated.docx");
+ IOUtils.copy(result, fileStream);
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ //ExEnd:addEllipseAnnotationInWords
+ }
}