From 9537c28b8e4d2c67749f28d70fa2ce4fc913748c Mon Sep 17 00:00:00 2001 From: ramkumarsync Date: Thu, 17 Mar 2022 17:39:22 +0530 Subject: [PATCH 01/10] Added 2022 Vol 1 UG documentation for Xamarin PDF Viewer --- xamarin-android-toc.html | 1 + .../SfPdfViewer/FreeText-Annotation.md | 50 ++++++ .../SfPdfViewer/Getting-Started.md | 30 ++++ .../SfPdfViewer/Handwritten-Signature.md | 50 ++++++ xamarin-android/SfPdfViewer/Ink.md | 50 ++++++ .../SfPdfViewer/Shape-Annotation.md | 77 ++++++-- xamarin-android/SfPdfViewer/TextMarkup.md | 66 +++++++ .../Working-with-PDF-Coordinates.md | 164 ++++++++++++++++++ .../Working-with-custom-stamp-annotations.md | 41 ++++- .../pdfviewer_images/ClientCoordinates.png | Bin 0 -> 38142 bytes .../pdfviewer_images/PageCoordinates.png | Bin 0 -> 36237 bytes 11 files changed, 501 insertions(+), 28 deletions(-) create mode 100644 xamarin-android/SfPdfViewer/Working-with-PDF-Coordinates.md create mode 100644 xamarin-android/SfPdfViewer/pdfviewer_images/ClientCoordinates.png create mode 100644 xamarin-android/SfPdfViewer/pdfviewer_images/PageCoordinates.png diff --git a/xamarin-android-toc.html b/xamarin-android-toc.html index 9f07d890..18070e22 100644 --- a/xamarin-android-toc.html +++ b/xamarin-android-toc.html @@ -457,6 +457,7 @@
  • Free text annotations
  • Text markup annotations
  • Bookmark Navigation
  • +
  • Working with PDF coordinates
  • Working with PDF forms
  • Working with ScrollHead
  • Localization
  • diff --git a/xamarin-android/SfPdfViewer/FreeText-Annotation.md b/xamarin-android/SfPdfViewer/FreeText-Annotation.md index fc0b7ee4..bae82b3a 100644 --- a/xamarin-android/SfPdfViewer/FreeText-Annotation.md +++ b/xamarin-android/SfPdfViewer/FreeText-Annotation.md @@ -371,6 +371,56 @@ private void PdfViewer_FreeTextAnnotationRemoved(object sender, FreeTextAnnotati {% endhighlight %} {% endtabs %} +## How to lock or unlock the free text annotations? + +To lock or unlock all the free text annotation, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the free text annotation interaction such as move, resize, remove, and attributes changes. +pdfViewerControl.AnnotationSettings.FreeText.IsLocked = true; + +{% endhighlight %} +{% endtabs %} + +Interactions with free text annotation types such as move, resize, remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the free text annotations, although the `IsLocked` property of the free text annotation is set to `false`. + +{% tabs %} +{% highlight c# %} + +//Disable the free text annotation interaction, though its 'IsLocked' property is set to ‘false’ . +pdfViewerControl.AnnotationSettings.IsLocked = true; +pdfViewerControl.AnnotationSettings.FreeText.IsLocked = false; + +{% endhighlight %} +{% endtabs %} + +## How to enable or disable the free text annotation selection? + +To enable or disable the free text annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of free text annotations. +pdfViewerControl.AnnotationSettings.FreeText.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Free text annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the free text annotations selection, even though the `Constraints` property of the free text annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the free text annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.FreeText.Constraints = AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + ## How to get and set the name of the free text annotations? The PDF Viewer allows the users to get and set the name of free text annotations through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API. diff --git a/xamarin-android/SfPdfViewer/Getting-Started.md b/xamarin-android/SfPdfViewer/Getting-Started.md index 635575a8..dbd8e758 100644 --- a/xamarin-android/SfPdfViewer/Getting-Started.md +++ b/xamarin-android/SfPdfViewer/Getting-Started.md @@ -401,6 +401,36 @@ private void PageDownButton_Click(object sender, System.EventArgs e) N>When the current page is the first page, GoToPreviousPage method will not have any effect. Similarly, when in last page, GoToNextPage method will not have any effect. +## How to lock or unlock all the annotations? + +To lock or unlock all the annotations in a PDF, set the `SfPdfViewer.AnnotationSettings.IsLocked` API to `true` or `false` respectively. The default value of the API is false, and when it is set to true, annotations can be selected, but resizing, moving, editing, and removing actions will be disabled. Only the tapped and selected events from the annotations will be raised. The following code sample explains the same. + +{% tabs %} +{% highlight c# %} + +//Lock all the annotations +pdfViewerControl.AnnotationSettings.IsLocked = true; + +{% endhighlight %} +{% endtabs %} + +N>The lock operation can also be enabled or disabled for a particular annotation type such as shape, free text, text markup, etc. Please find the code samples to enable or disable interaction for particular annotation from their respective sections. + +## How to enable or disable the annotation selection? + +To enable or disable the annotation selection, set the `SfPdfViewer.AnnotationSettings.Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively. Annotations will be selected by default, and when this API is set to `~AnnotationConstraints.Selectable`, annotation selection, moving, resizing, removing and attribute changes will be disabled. Only the tapped events of the annotations will be raised. The following code sample explains the same. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of all annotation types. +pdfViewerControl.AnnotationSettings.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +N>The selection operation can also be enabled or disabled for a particular annotation type such as shape, free text, text markup, etc. Please find the code samples to enable or disable interaction for particular annotation from their respective sections. + ## How to get the list of annotations present in the PDF? By using `Annotations` property, You can get the list of annotations present in the PDF document. diff --git a/xamarin-android/SfPdfViewer/Handwritten-Signature.md b/xamarin-android/SfPdfViewer/Handwritten-Signature.md index 3499af2d..fb151103 100644 --- a/xamarin-android/SfPdfViewer/Handwritten-Signature.md +++ b/xamarin-android/SfPdfViewer/Handwritten-Signature.md @@ -192,6 +192,56 @@ private void PdfViewer_InkSelected(object sender, Syncfusion.SfPdfViewer.Android {% endhighlight %} {% endtabs %} +## How to lock or unlock the handwritten signature? + +To lock or unlock all the handwritten signature, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the handwritten signature interaction such as move, resize, remove, and attributes changes. +pdfViewerControl.AnnotationSettings.HandwrittenSignature.IsLocked = true; + +{% endhighlight %} +{% endtabs %} + +Interactions with handwritten signature types such as move, resize, remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the handwritten signatures, although the `IsLocked` property of the handwritten signature is set to `false`. + +{% tabs %} +{% highlight c# %} + +//Disable the handwritten signature interaction, though its 'IsLocked' property is set to ‘false’ . +pdfViewerControl.AnnotationSettings.IsLocked = true; +pdfViewerControl.AnnotationSettings.HandwrittenSignature.IsLocked = false; + +{% endhighlight %} +{% endtabs %} + +## How to enable or disable the handwritten signature selection? + +To enable or disable the handwritten signature selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of handwritten signatures. +pdfViewerControl.AnnotationSettings.HandwrittenSignature.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Handwritten signature selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the handwritten signatures selection, even though the `Constraints` property of the handwritten signature annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the handwritten signature selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.HandwrittenSignature.Constraints = AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + ## How to get and set the name of the handwritten signatures? The PDF Viewer allows the users to get and set the name of handwritten signatures through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API. diff --git a/xamarin-android/SfPdfViewer/Ink.md b/xamarin-android/SfPdfViewer/Ink.md index 41276c97..3a43a549 100644 --- a/xamarin-android/SfPdfViewer/Ink.md +++ b/xamarin-android/SfPdfViewer/Ink.md @@ -524,6 +524,56 @@ private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOr {% endhighlight %} {% endtabs %} +## How to lock or unlock the ink annotations? + +To lock or unlock all the ink annotation, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the ink annotation interaction such as move, resize, remove, and attributes changes. +pdfViewerControl.AnnotationSettings.Ink.IsLocked = true; + +{% endhighlight %} +{% endtabs %} + +Interactions with ink annotation types such as move, resize, remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the ink annotations, although the `IsLocked` property of the ink annotation is set to `false`. + +{% tabs %} +{% highlight c# %} + +//Disable the ink annotation interaction, though its 'IsLocked' property is set to ‘false’ . +pdfViewerControl.AnnotationSettings.IsLocked = true; +pdfViewerControl.AnnotationSettings.Ink.IsLocked = false; + +{% endhighlight %} +{% endtabs %} + +## How to enable or disable the ink annotation selection? + +To enable or disable the ink annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of ink annotations. +pdfViewerControl.AnnotationSettings.Ink.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Ink annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the ink annotations selection, even though the `Constraints` property of the ink annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the ink annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Ink.Constraints = AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + ## How to render Ink strokes using custom ink points? By default, ink strokes are drawn by recording the points on the screen traversed by the input device (stylus or finger). The quality of the strokes thus drawn may not be satisfactory as it considers only raw points. If needed, the points can be modified using any algorithms to smoothen the strokes. diff --git a/xamarin-android/SfPdfViewer/Shape-Annotation.md b/xamarin-android/SfPdfViewer/Shape-Annotation.md index 2247696c..07f181da 100644 --- a/xamarin-android/SfPdfViewer/Shape-Annotation.md +++ b/xamarin-android/SfPdfViewer/Shape-Annotation.md @@ -466,39 +466,37 @@ private void PdfViewer_ShapeAnnotationRemoved(object sender, ShapeAnnotationRemo {% endhighlight %} {% endtabs %} -## How to enable or disable shape annotation interaction? - -The interaction operation can be enabled or disabled for shape annotation alone by setting the `IsLocked` API to `false` or `true` respectively. - -For example, the following code disables the interaction operations for all shape annotations in the PDF. But other annotation types can be selected, moved, resized, or removed. +## How to lock or unlock the shape annotations? + +To lock or unlock all the shape annotation, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. {% tabs %} {% highlight c# %} -//Disable the arrow annotation interaction +//Disable the arrow annotation interaction such as move, resize, remove, and attributes changes. pdfViewerControl.AnnotationSettings.Arrow.Settings.IsLocked = true; - -//Disable the line annotation interaction + +//Disable the line annotation interaction such as move, resize, remove, and attributes changes. pdfViewerControl.AnnotationSettings.Line.Settings.IsLocked = true; - -//Disable the rectangle annotation interaction + +//Disable the rectangle annotation interaction such as move, resize, remove, and attributes changes. pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = true; - -//Disable the circle annotation interaction + +//Disable the circle annotation interaction such as move, resize, remove, and attributes changes. pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = true; - -//Disable the polygon annotation interaction + +//Disable the polygon annotation interaction such as move, resize, remove, and attributes changes. pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = true; {% endhighlight %} {% endtabs %} - -The interaction with shape annotation types will be allowed only if the [`SfPdfViewer.AnnotationSettings.IsLocked`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_IsLocked) API is set to `false`. The following code does not allow the interactions with shape annotations, although the `IsLocked` property of the shape annotation is set to `false`. - + +Interactions with shape annotation types such as move, resize, remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the shape annotations, although the `IsLocked` property of the shape annotation is set to `false`. + {% tabs %} {% highlight c# %} -//Disables the shape annotation interaction, though its 'IsLocked' property is set to ‘false’ +//Disable the shape annotation interaction, though its 'IsLocked' property is set to ‘false’ . pdfViewerControl.AnnotationSettings.IsLocked = true; pdfViewerControl.AnnotationSettings.Arrow.Settings.IsLocked = false; pdfViewerControl.AnnotationSettings.Line.Settings.IsLocked = false; @@ -509,7 +507,48 @@ pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = false; {% endhighlight %} {% endtabs %} -N> The `IsLocked` properties of the classes [`RectangleAnnotation`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.RectangleAnnotation.html), [`CircleAnnotation`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.CircleAnnotation.html), [`LineAnnotation`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.LineAnnotation.html) and [`ArrowAnnotation`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.ArrowAnnotation.html) have been marked as obsolete. Use the `RectangleAnnotation.Settings.IsLocked`, `CircleAnnotation.Settings.IsLocked`, `LineAnnotation.Settings.IsLocked` and `ArrowAnnotation.Settings.IsLocked` properties instead. +N> The `IsLocked` properties of the classes [RectangleAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.RectangleAnnotation.html), [CircleAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.CircleAnnotation.html), [LineAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.LineAnnotation.html) and [ArrowAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ArrowAnnotation.html) have been marked as obsolete. Use the `RectangleAnnotation.Settings.IsLocked`, `CircleAnnotation.Settings.IsLocked`, `LineAnnotation.Settings.IsLocked` and `ArrowAnnotation.Settings.IsLocked` properties instead. + +## How to enable or disable the shape annotation selection? + +To enable or disable the shape annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of arrow annotations. +pdfViewerControl.AnnotationSettings.Arrow.Settings.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of line annotations. +pdfViewerControl.AnnotationSettings.Line.Settings.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of rectangle annotations. +pdfViewerControl.AnnotationSettings.Rectangle.Settings.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of circle annotations. +pdfViewerControl.AnnotationSettings.Circle.Settings.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of polygon annotations. +pdfViewerControl.AnnotationSettings.Polygon.Settings.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Shape annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the shape annotations selection, even though the `Constraints` property of the shape annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the shape annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Arrow.Settings.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Line.Settings.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Rectangle.Settings.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Circle.Settings.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Polygon.Settings.Constraints = AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} ## How to get and set the name of the shape annotations? diff --git a/xamarin-android/SfPdfViewer/TextMarkup.md b/xamarin-android/SfPdfViewer/TextMarkup.md index 8559e8e5..2c768583 100644 --- a/xamarin-android/SfPdfViewer/TextMarkup.md +++ b/xamarin-android/SfPdfViewer/TextMarkup.md @@ -605,6 +605,72 @@ private void SaveButton_Click(object sender, EventArgs e) {% endtabs %} N>The CanUndo property is used to identify whether a document loaded in the PDF viewer is edited or not. When this property is set to true, means that the document in the PDF viewer is edited. +## How to lock or unlock the text markup annotations? + +To lock or unlock all the text markup annotation, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the text markup highlight annotation interaction such as remove and attributes changes. +pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.IsLocked = true; + +//Disable the text markup underline annotation interaction such as remove and attributes changes. +pdfViewerControl.AnnotationSettings.TextMarkup.Underline.IsLocked = true; + +//Disable the text markup strikethrough annotation interaction such as remove and attributes changes. +pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.IsLocked = true; + +{% endhighlight %} +{% endtabs %} + +Interactions with text markup annotation types such as remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the text markup annotations, although the `IsLocked` property of the text markup annotation is set to `false`. + +{% tabs %} +{% highlight c# %} + +//Disable the text markup annotation interaction, though its 'IsLocked' property is set to ‘false’ +pdfViewerControl.AnnotationSettings.IsLocked = true; +pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.IsLocked = false; +pdfViewerControl.AnnotationSettings.TextMarkup.Underline.IsLocked = false; +pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.IsLocked = false; + +{% endhighlight %} +{% endtabs %} + +## How to enable or disable the text markup annotation selection? + +To enable or disable the text markup annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. + +{% tabs %} +{% highlight c# %} + +//Disable the selection of text markup highlight annotation +pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of text markup underline annotation +pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Constraints = ~AnnotationConstraints.Selectable; + +//Disable the selection of text markup strikethrough annotation +pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Text markup annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the text markup annotations selection, even though the `Constraints` property of the text markup annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the text markup annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints = ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Constraints = AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Constraints = AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + ## How to get and set the name of the text markup annotations? The PDF Viewer allows the users to get and set the name of text markup annotations through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API. diff --git a/xamarin-android/SfPdfViewer/Working-with-PDF-Coordinates.md b/xamarin-android/SfPdfViewer/Working-with-PDF-Coordinates.md new file mode 100644 index 00000000..cc343802 --- /dev/null +++ b/xamarin-android/SfPdfViewer/Working-with-PDF-Coordinates.md @@ -0,0 +1,164 @@ +--- +layout: post +title: PDF coordinates in Xamarin.Android Pdf Viewer control | Syncfusion +description: Learn here all about working with PDF coordinates and their conversions support in Syncfusion Xamarin.Android Pdf Viewer control and more. +platform: Xamarin.Android +control: SfPdfViewer +documentation: ug +--- + +# Working with PDF coordinates + +PDF Viewer allows users to obtain the PDF page coordinates relative to the PDF Viewer's client coordinates and vice versa. It also allows you to obtain the scroll point relative to the PDF page coordinates and bring the given region into view. + +## Get and set scroll coordinates + +Navigate to the specified vertical and horizontal scroll offset coordinates in PDF Viewer using the `ScrollToOffset (HorizontalOffset, VerticalOffset)` method. You can also retrieve the current horizontal and vertical offset position by using the `HorizontalOffset` and `VerticalOffset` properties respectively in the SfPdfViewer class. + +{% tabs %} +{% highlight c# %} + +//Retrieve the current horizontal offset of the PdfViewerControl. +m_currentHorizontalOffset = pdfViewerControl.HorizontalOffset; + +//Retrieve the current vertical offset of the PdfViewerControl. +m_currentVerticalOffset = pdfViewerControl.VerticalOffset; + +//Scroll the content to the specified vertical offset position in the PdfViewerControl. +pdfViewerControl.ScrollToOffset(m_currentHorizontalOffset+10, m_currentVerticalOffset+10); + +{% endhighlight %} +{% endtabs %} + +## PDF Viewer's coordinates or client coordinates + +![PDF Viewer client coordinates](pdfviewer_images/ClientCoordinates.png) + +You can obtain the PDF Viewer's client area (viewport) coordinates using the `ClientRectangle` property and the following code sample explains the same. This property will return the coordinate value without the consideration of non-client elements like toolbars and scroll bars. + +{% tabs %} +{% highlight c# %} + +//Retrieve the coordinates of the PDF Viewer's client area (viewport) +Rectangle clientRectangle = pdfViewerControl.ClientRectangle; + +{% endhighlight %} +{% endtabs %} + +## PDF page coordinates + +![PDF page coordinates](pdfviewer_images/PageCoordinates.png) + +PDF page coordinates are represented in terms of device-independent coordinate system called user space, which is independent of the output device that will be used for printing or display. The user space coordinate system is initialized to a default state for each page of a PDF document. The length of a unit is **1/72 inch**, which is approximately the same as a unit of **point(pt)**. As an example, the dimensions of a letter-sized paper in PDF page coordinates are shown in the diagram below. + +## Convert PDF Viewer's coordinates to PDF page coordinates + +You can obtain the PDF page coordinates using the `ConvertClientPointToPagePoint(clientPoint, pageNumber)` method by passing the client rectangle point and page number as input parameters. The following code sample explains how to convert a tapped client area position to a page point. + +{% tabs %} +{% highlight c# %} + +pdfViewerControl.Tapped += PdfViewerControl_Tapped; + +// Handle the tapped event. +private void PdfViewerControl_Tapped(object sender, TouchInteractionEventArgs e) +{ + //Retrieve the tapped client area position. + Point clientPoint = e.Position; + + //Retrieve the page number that corresponds to the client point. + int pageNumber = pdfViewerControl.GetPageNumberFromClientPoint(clientPoint) + + //Retrieve the page point. + Point pagePoint = pdfViewerControl.ConvertClientPointToPagePoint(clientPoint, pageNumber); +} + +{% endhighlight %} +{% endtabs %} + +## Convert PDF page coordinates to PDF Viewer's coordinates + +You can obtain the PDF page coordinates using the `ConvertPagePointToClientPoint(pagePoint, pageNumber)` method by passing the page point and page number as input parameters. The following code sample explains how to convert a shape annotation's position in the page coordinates to a client point. + +{% tabs %} +{% highlight c# %} + +//Get a shape annotation from the Annotations collection. +ShapeAnnotation shapeAnnotation = pdfViewerControl.Annotations[0] as ShapeAnnotation; + +//Get the annotation’s page number. +int pageNumber = shapeAnnotation.PageNumber; + +//Get the annotation bounds. +Rectangle annotationBounds = shapeAnnotation.Bounds; + +//Find the position of the annotation in page coordinates. +Point pagePoint = new Point(annotationBounds.X, annotationBounds.Y); + +//Convert the page point to client point. +Point clientPoint = pdfViewerControl.ConvertPagePointToClientPoint(pagePoint, pageNumber) + +{% endhighlight %} +{% endtabs %} + +## Convert PDF page coordinates to scroll coordinates + +You can obtain the PDF Viewer's scroll coordinates using the `ConvertPagePointToScrollPoint(pagePoint, pageNumber)` method by passing the page point and page number as input parameters. The following code example explains how to convert a shape annotation’s position in the page coordinates to a scroll point and then scrolling to that annotation's position in the PDF Viewer. + +{% tabs %} +{% highlight c# %} + +//Get a shape annotation from the Annotations collection. +ShapeAnnotation shapeAnnotation = pdfViewerControl.Annotations[0] as ShapeAnnotation; + +//Get the annotation bounds. +Rectangle annotationBounds = shapeAnnotation.Bounds; + +//Get the annotation’s page number. +int pageNumber = shapeAnnotation.PageNumber; + +//Find the position of the annotation in page coordinates. +Point pagePoint = new Point(annotationBounds.X, annotationBounds.Y); + +//Convert the page point to scroll point. +Point scrollPoint = pdfViewerControl.ConvertPagePointToScrollPoint(pagePoint, pageNumber) + +//Scrolling to the annotation’s position using the ScrollToOffset API. +pdfViewerControl.ScrollToOffset((float)scrollPoint.X, (float)scrollPoint.Y); + +{% endhighlight %} +{% endtabs %} + +## Bring a particular region to the view + +You can bring the given rectangular region to view and zoom in the document to fit the region in the PDF Viewer's client area (viewport) using the `ZoomToRect(rectangle)` method by passing the rectangular region as input parameter. The following code sample explains how to bring a particular into view. + +{% tabs %} +{% highlight c# %} + +//Get a shape annotation from the Annotations collection. +ShapeAnnotation shapeAnnotation = pdfViewerControl.Annotations[0] as ShapeAnnotation; + +//Get the annotation bounds. +Rectangle annotationBounds = shapeAnnotation.Bounds; + +//Convert the annotation bounds from the page coordinates to a rectangle in client coordinates. +Point topLeft = new Point(annotationBounds.Left, annotationBounds.Top); + +Point rightBottom = new Point(annotationBounds.Right, annotationBounds.Bottom); + +Point clientTopLeft = pdfViewerControl.ConvertPagePointToClientPoint(topLeft, pageNumber); + +Point clientRightBottom = pdfViewerControl.ConvertPagePointToClientPoint(rightBottom, pageNumber); + +double width = clientRightBottom.X - clientTopLeft.X; + +double height = clientRightBottom.Y - clientTopLeft.Y; + +Rectangle rectangleBounds = new Rectangle(clientTopLeft.X, clientTopLeft.Y, width, height); + +//Pass the converted rectangle in client coordinates to the ZoomToRect method. +pdfViewerControl.ZoomToRect(rectangleBounds); + +{% endhighlight %} +{% endtabs %} diff --git a/xamarin-android/SfPdfViewer/Working-with-custom-stamp-annotations.md b/xamarin-android/SfPdfViewer/Working-with-custom-stamp-annotations.md index 103332dc..522d4bf6 100644 --- a/xamarin-android/SfPdfViewer/Working-with-custom-stamp-annotations.md +++ b/xamarin-android/SfPdfViewer/Working-with-custom-stamp-annotations.md @@ -211,29 +211,52 @@ pdfViewer.StampAnnotationRemoved += PdfViewer_StampAnnotationRemoved; {% endhighlight %} {% endtabs %} -## How to enable or disable custom stamp annotation interaction? +## How to lock or unlock the custom stamp annotations? + +To lock or unlock all the custom stamp annotation, set the `IsLocked` API to `true` or `false` respectively, and the following sample explains the same. But other annotation types can be moved, resized, removed or their attributes can be changed. -The interaction operation can be enabled or disabled for custom stamp annotation alone by setting the `IsLocked` API to `false` or `true` respectively. +{% tabs %} +{% highlight c# %} -For example, the following code disables the interaction operations for all custom stamp annotations in the PDF. But other annotation types can be selected, moved, resized, or removed. +//Disable the custom stamp annotation interaction such as move, resize, remove, and attributes changes. +pdfViewerControl.AnnotationSettings.Stamp.IsLocked = true; +{% endhighlight %} +{% endtabs %} + +Interactions with custom stamp annotation types such as move, resize, remove or attribute changes will be allowed only if the `SfPdfViewer.AnnotationSettings.IsLocked` API is set to `false`. The following code prevents the unlocking of the custom stamp annotations, although the `IsLocked` property of the custom stamp annotation is set to `false`. + {% tabs %} {% highlight c# %} -//Disable the custom stamp annotation interaction -pdfViewerControl.AnnotationSettings.Stamp.IsLocked = true; +//Disable the custom stamp annotation interaction, though its 'IsLocked' property is set to ‘false’ . +pdfViewerControl.AnnotationSettings.IsLocked = true; +pdfViewerControl.AnnotationSettings.Stamp.IsLocked = false; {% endhighlight %} {% endtabs %} -The interaction with custom stamp annotation types will be allowed only if the [`SfPdfViewer.AnnotationSettings.IsLocked`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_IsLocked) API is set to `false`. The following code does not allow the interactions with custom stamp annotations, although the `IsLocked` property of the custom stamp annotation is set to `false`. +## How to enable or disable the custom stamp annotation selection? + +To enable or disable the custom stamp annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following sample explains the same. But other annotation types can be selected, moved, resized, removed or their attributes can be changed. {% tabs %} {% highlight c# %} -//Disables the custom stamp annotation interaction, though its 'IsLocked' property is set to ‘false’ -pdfViewerControl.AnnotationSettings.IsLocked = true; -pdfViewerControl.AnnotationSettings.Stamp.IsLocked = false; +//Disable the selection of custom stamp annotations. +pdfViewerControl.AnnotationSettings.Stamp.Constraints = ~AnnotationConstraints.Selectable; + +{% endhighlight %} +{% endtabs %} + +Custom stamp annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the custom stamp annotations selection, even though the `Constraints` property of the custom stamp annotation is set to `AnnotationConstraints.Selectable`. + +{% tabs %} +{% highlight c# %} + +//Disable the custom stamp annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’ +pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; +pdfViewerControl.AnnotationSettings.Stamp.Constraints = AnnotationConstraints.Selectable; {% endhighlight %} {% endtabs %} diff --git a/xamarin-android/SfPdfViewer/pdfviewer_images/ClientCoordinates.png b/xamarin-android/SfPdfViewer/pdfviewer_images/ClientCoordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..41827262fee0ea50712feba1ad92ab8458fc8be4 GIT binary patch literal 38142 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 Date: Thu, 17 Mar 2022 12:45:42 +0000 Subject: [PATCH 02/10] Added the release notes MD file and corresponding node entry in the TOC.html file for the 2022 volume 1 Main - March 23, 2022 --- xamarin-android-toc.html | 2 +- xamarin-android/Release-Notes/v20.1.0.47.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 xamarin-android/Release-Notes/v20.1.0.47.md diff --git a/xamarin-android-toc.html b/xamarin-android-toc.html index 9f07d890..c257765a 100644 --- a/xamarin-android-toc.html +++ b/xamarin-android-toc.html @@ -790,7 +790,7 @@
  • Release Notes -
    • 2021 Volume 4 - v19.4.0.*
    • 2021 volume 3 - v19.3.0.*
    • 2021 Volume 2 - v19.2.0.*
    • 2021 Volume 1 - v19.1.0.*
    • 2020 Volume 4 - v18.4.0.*
    • 2020 Volume 3 - v18.3.0.*
    • 2020 Volume 2 - v18.2.0.*
    • 2020 Volume 1 - v18.1.0.*
    • 2019 Volume 4 - v17.4.0.*
    • +
      • 2022 volume 1 - v20.1.0.*
      • 2021 Volume 4 - v19.4.0.*
      • 2021 volume 3 - v19.3.0.*
      • 2021 Volume 2 - v19.2.0.*
      • 2021 Volume 1 - v19.1.0.*
      • 2020 Volume 4 - v18.4.0.*
      • 2020 Volume 3 - v18.3.0.*
      • 2020 Volume 2 - v18.2.0.*
      • 2020 Volume 1 - v18.1.0.*
      • 2019 Volume 4 - v17.4.0.*
      • 2019 Volume 3 - v17.3.0.*
        • Weekly Nuget Release diff --git a/xamarin-android/Release-Notes/v20.1.0.47.md b/xamarin-android/Release-Notes/v20.1.0.47.md new file mode 100644 index 00000000..8ee18294 --- /dev/null +++ b/xamarin-android/Release-Notes/v20.1.0.47.md @@ -0,0 +1,16 @@ +--- +title: Essential Studio for Xamarin.Android 2022 volume 1 Main release Release Notes +description: Essential Studio for Xamarin.Android 2022 volume 1 Main release Release Notes +platform: Xamarin.Android +documentation: ug +--- + +# Essential Studio for Xamarin.Android Release Notes + +{% include release-info.html date="March 23, 2022" version="v20.1.0.47" %} + +{% directory path: _includes/release-notes/v20.1.0.47 %} + +{% include {{file.url}} %} + +{% enddirectory %} \ No newline at end of file From 59fd0e87682baa654fccfb0fd4367bdd37b67955 Mon Sep 17 00:00:00 2001 From: Choza-rajan Date: Thu, 24 Mar 2022 16:17:30 +0530 Subject: [PATCH 03/10] API version details changed --- .../Introduction/System-Requirements.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/xamarin-android/Introduction/System-Requirements.md b/xamarin-android/Introduction/System-Requirements.md index e6f3b872..ae7378fe 100644 --- a/xamarin-android/Introduction/System-Requirements.md +++ b/xamarin-android/Introduction/System-Requirements.md @@ -45,18 +45,18 @@ The following table lists the platforms supported by our Xamarin.Android control - + Android

          - + Phone, Tablet

          - SfPdfViewer, SfCheckBox + All controls

          @@ -66,18 +66,6 @@ The following table lists the platforms supported by our Xamarin.Android control
          - - - All other controls -
          -
          - - - API level 19 and later versions -
          -
          - - ### Target Framework (Compile SDK Version) for Android From 1785193d9b2f6c832f997acb1cf57e07b207980f Mon Sep 17 00:00:00 2001 From: Choza-rajan Date: Thu, 24 Mar 2022 16:48:12 +0530 Subject: [PATCH 04/10] Errors resolved --- xamarin-android/Introduction/System-Requirements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xamarin-android/Introduction/System-Requirements.md b/xamarin-android/Introduction/System-Requirements.md index ae7378fe..1979042e 100644 --- a/xamarin-android/Introduction/System-Requirements.md +++ b/xamarin-android/Introduction/System-Requirements.md @@ -1,13 +1,13 @@ --- layout: post title: System Requirements | Xamarin.Android | Syncfusion -description: System Requirements +description: Describes about system requirements to install the Syncfusion Xamarin Android Components and list of supported platforms. platform: Xamarin.Android control: Introduction documentation: ug --- -# System Requirements +# System Requirements for Xamarin.Android ### Hardware Environment From 63e215e3e5b1269b246f601c59a384983003e3a8 Mon Sep 17 00:00:00 2001 From: Choza-rajan Date: Thu, 24 Mar 2022 16:55:08 +0530 Subject: [PATCH 05/10] Path changed --- xamarin-android-toc.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xamarin-android-toc.html b/xamarin-android-toc.html index 73dbb7e3..8f971097 100644 --- a/xamarin-android-toc.html +++ b/xamarin-android-toc.html @@ -9,7 +9,7 @@
        • Installation and Upgrade
            -
          • System Requirements
          • +
          • System Requirements
          • Download
          • Install using the Web Installer
          • Install using the Offline Installer
          • From f7cb17890890e58bb456398be6b2bc159d11f405 Mon Sep 17 00:00:00 2001 From: Website Automation Date: Mon, 28 Mar 2022 09:46:58 +0000 Subject: [PATCH 06/10] Added the release notes MD file and corresponding node entry in the TOC.html file for the 2022 volume 1 Main - March 29, 2022 --- xamarin-android/Release-Notes/v20.1.0.47.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xamarin-android/Release-Notes/v20.1.0.47.md b/xamarin-android/Release-Notes/v20.1.0.47.md index 8ee18294..00d3d0a3 100644 --- a/xamarin-android/Release-Notes/v20.1.0.47.md +++ b/xamarin-android/Release-Notes/v20.1.0.47.md @@ -7,7 +7,7 @@ documentation: ug # Essential Studio for Xamarin.Android Release Notes -{% include release-info.html date="March 23, 2022" version="v20.1.0.47" %} +{% include release-info.html date="March 29, 2022" version="v20.1.0.47" %} {% directory path: _includes/release-notes/v20.1.0.47 %} From 885e45b2c2b414d6e3f60e61d45e30ac9b975dd3 Mon Sep 17 00:00:00 2001 From: Website Automation Date: Tue, 29 Mar 2022 09:55:14 +0000 Subject: [PATCH 07/10] Added the release notes MD file and corresponding node entry in the TOC.html file for the 2022 volume 1 Main - March 23, 2022 --- xamarin-android/Release-Notes/v20.1.0.47.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xamarin-android/Release-Notes/v20.1.0.47.md b/xamarin-android/Release-Notes/v20.1.0.47.md index 00d3d0a3..f63bac23 100644 --- a/xamarin-android/Release-Notes/v20.1.0.47.md +++ b/xamarin-android/Release-Notes/v20.1.0.47.md @@ -9,6 +9,22 @@ documentation: ug {% include release-info.html date="March 29, 2022" version="v20.1.0.47" %} + + + +
            +Starting with 2022 Volume 1 v20.1.0.47, all Syncfusion customers (evaluators and paid customers) who use Syncfusion installers or nuget packages from nuget.org must generate and register the corresponding platform and version license key in your projects. +For more information, please see this help topic +
            + + {% directory path: _includes/release-notes/v20.1.0.47 %} {% include {{file.url}} %} From 9ed945f807decd3c3f863ece5c91227f62f8733f Mon Sep 17 00:00:00 2001 From: Website Automation Date: Wed, 30 Mar 2022 05:58:16 +0000 Subject: [PATCH 08/10] Added the release notes MD file and corresponding node entry in the TOC.html file for the 2022 volume 1 Main - March 23, 2022 --- xamarin-android/Release-Notes/v20.1.0.47.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xamarin-android/Release-Notes/v20.1.0.47.md b/xamarin-android/Release-Notes/v20.1.0.47.md index f63bac23..1c0e3d4c 100644 --- a/xamarin-android/Release-Notes/v20.1.0.47.md +++ b/xamarin-android/Release-Notes/v20.1.0.47.md @@ -7,7 +7,7 @@ documentation: ug # Essential Studio for Xamarin.Android Release Notes -{% include release-info.html date="March 29, 2022" version="v20.1.0.47" %} +{% include release-info.html date="April 1, 2022" version="v20.1.0.47" %}