diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html
index a720e38cb..e733dab33 100644
--- a/Document-Processing-toc.html
+++ b/Document-Processing-toc.html
@@ -114,10 +114,122 @@
 							#ReplaceUsingAutomation-https://github.com/syncfusion-content/ej2-angular-docs/tree/development/ej2-angular/pdfviewer#
 						</ul>
 					</li>
-					<li>
-						<a href="/document-processing/pdf/pdf-viewer/blazor/overview">Blazor</a>
+					<li>Blazor
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/blazor-docs/tree/development/blazor/pdfviewer-2#
+							<li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/features">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer2/blazor/migration">Migration from PDF Viewer (Classic) to PDF Viewer</a></li>
+							<li>Getting Started
+									<ul>
+										<li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/web-app">Blazor Web App</a></li>
+									    <li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/server-side-application">Blazor Server App</a></li>
+									    <li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/web-assembly-application">Blazor WASM App</a></li>
+									    <li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/deploy-maui-windows">Blazor MAUI App</a></li>
+								    </ul>
+							</li>
+							<li>Deployment
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/getting-started/wsl-application">Windows Subsystem for Linux</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/deployment/aws-beanstalk-deployment">AWS Elastic Beanstalk</a></li>
+								</ul>
+							</li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/accessibility">Accessibility</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/opening-pdf-file">Open PDF files</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/open-pdf-file/from-amazon-s3">From AWS S3</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/open-pdf-file/from-azure-blob-storage">From Azure Blob Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/open-pdf-file/from-google-cloud-storage">From Google Cloud Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/open-pdf-file/from-google-drive">From Google Drive</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/open-pdf-file/from-box-cloud-file-storage">From Box cloud file storage</a></li>
+								</ul>
+							</li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/saving-pdf-file">Save PDF files</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/save-pdf-file/to-amazon-s3">To AWS S3</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/save-pdf-file/to-azure-blob-storage">To Azure Blob Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/save-pdf-file/to-google-cloud-storage">To Google Cloud Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/save-pdf-file/to-google-drive">To Google Drive</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/save-pdf-file/to-box-cloud-file-storage">To Box cloud file storage</a></li>
+								</ul>
+							</li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/toolbar-customization">Toolbar Customization</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/command-manager">Command Manager</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/navigation">Navigation</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/magnification">Magnification</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/text-search">Text Search</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/interaction">Interaction Mode</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/hand-written-signature">Handwritten Signature</a></li>
+							<li>Annotations
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/text-markup-annotation">Text Markup Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/shape-annotation">Shape Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/stamp-annotation">Stamp annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/sticky-notes-annotation">Sticky Notes Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/measurement-annotation">Measurement Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/free-text-annotation">Free Text Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/ink-annotation">Ink Annotation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/redaction-annotation">Redaction Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/comments">Comments</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/import-export-annotation">Import and Export Annotations</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/annotation/annotations-in-mobile-view">Annotations in Mobile View</a></li>
+								</ul>
+							</li>
+							<li>Form Designer
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/form-designer/overview">Overview</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/form-designer/create-programmatically">Programmatic Support for Form Designer</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/form-designer/ui-interactions">UI Interactions in Form Designer</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer2/blazor/form-designer/events">Events in Form Designer</a></li>
+								</ul>
+							</li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/form-filling">Form Filling</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/print">Print</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/events">Events</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/globalization">Globalization and RTL</a></li>
+							<li>How To
+								<ul>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/how-to-load-PDF-from-URL-to-server-side-PDF-viewer">Load PDF from URL to server-side PDF viewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/create-sfpdfviewer-in-a-popup-window">Create a SfPdfViewer within a popup window in Blazor</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/load-pdf-document-dynamically">Load PDF documents dynamically in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/load-office-files">Load Office files in Blazor SfPdfViewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/view-docx-file-in-blazor-application">View DOCX file in Blazor application</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/unload-the-pdf-document-from-viewer">Unload the PDF document from Viewer in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/import-annotations-as-objects">Import annotations as objects in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/suppress-error-message">Suppress the error dialog</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/move-scrollbar">Move the scrollbar to the exact location of annotations</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/create-sfpdfviewer">View the created PDF document</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/check-status-of-annotations-or-comments">Check the status of annotations or comments in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/customize-arrow-annotation-heads">Customize arrow annotation heads in Blazor SfPdfViewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/show-or-hide-sfpdfviewer-dynamically">Show or hide the SfPdfViewer Component dynamically in Blazor</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/increase-connection-buffer-size">Increase the connection buffer size in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/print-the-sfpdfiewer-inside-the-dialog-component">Print the SfPdfViewer component inside the Dialog component in Blazor</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/change-the-highlighted-color-of-the-text">Change the highlight color of the text in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not">Check the document's editing status in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/create-pdf-document-in-the-created-event-of-sfpdfviewer">Create PDF document in the created event of Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/create-sfpdfviewer-in-a-splitter-component">Create SfPdfViewer Component in a Splitter Component in Blazor</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/get-data-from-sfpdfviewer">Get PDF document's data from Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample">Load desired PDF for initial loading in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/stretch-the-sfpdfviewer-size-to-its-container">Update the viewer size at run-time in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/update-form-field-using-context-menu">Update form field using context menu in Blazor SfPdfViewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/identify-the-values-in-the-undo-redo-collections">Identify if the SfPdfViewer has values in the Undo, Redo collections</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/render-ej2-pdf-viewer-in-blazor">Render JS PDF Viewer inside Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/prevent-scrolling">Prevent the PDF from scrolling and remove the vertical scrollbar</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/perform-print-in-same-window">Perform print in same window in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/print-large-page-document">Print large page document in SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/refer-sfpdfviewer-script-in-application">Refer the SfPdfViewer script file in Blazor application</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/deploy-maui-using-android-emulator">Render PDF document from embedded source in the MAUI Android app</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/improve-performance-using-CDN">Improve the performance using CDN in Blazor SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/processing-large-files-without-increasing-maximum-message-size">Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/load-custom-font-pdfium">Load Custom Fonts in a PDF Viewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/render-n-pages-scrolling">Render N number pages on scrolling</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/load-font-collection">Load Font Collection in a PDF Viewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/reduce-slowness-while-running-the-wasm-sample-in-Visual-Studio">Reduce slowness while running the WASM sample in Visual Studio</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/coordinate-conversion-between-page-and-client-points">Coordinate Conversion Between Page and Client Points</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer2/blazor/how-to/content-security-policy">Use strict CSP in Blazor SfPdfViewer Component</a></li>
+								</ul>
+							</li>
+							<li>
+								<a href="/cr/blazor/Syncfusion.Blazor.SfPdfViewer.SfPdfViewer2.html"> API Reference</a>
+							</li>
 						</ul>
 					</li>
 					<li>
@@ -145,43 +257,296 @@
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/maui/overview">.NET MAUI</a>
+						.NET MAUI
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/maui-docs/tree/master/MAUI/PDF-Viewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Getting-Started">Getting Started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Migration">Migrate from Xamarin.Forms</a></li>
+							<li>
+								<a href="/document-processing/pdf/pdf-viewer/maui/Open-a-Document">Open a Document</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Open-a-Document-From-Local-Storage">From Local Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Open-a-Document-From-URL">From the URL</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Open-a-Document-From-Base64String">From the Base-64 String</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Open-a-Password-Protected-Document">Password-Protected</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/DocumentLoadNotifications">Document Load Events</a></li>
+								</ul>
+							</li>
+							<li>
+								Navigations
+								<ul>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Scrolling">Scrolling</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Page-Navigation">Page Navigation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Document-Outline">Document Outline</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Custom-Bookmark">Custom Bookmark</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Hyperlink-Navigation">Hyperlink Navigation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Document-Link-Annotations">Document Link Navigation</a></li>
+								</ul>
+							</li>
+							<li>
+								UI
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Toolbar">Toolbar</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/UI-Customization">Customization</a></li>
+								</ul>
+							</li>                 
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Magnification">Magnification</a></li>            
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Text-Search">Text Search</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Text-Selection">Text Selection</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Form-Filling">Form Filling</a></li>
+							<li>
+								<a href="/document-processing/pdf/pdf-viewer/maui/Annotations-Overview">Annotations</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Annotation-Collection">Annotation Collection</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Add-Remove-Modify-Annotations">Add, Remove, and Edit</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Select-Deselect-Annotations">Select and Deselect</a></li>	
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Lock-Unlock">Lock and Unlock</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Import-Export-Annotations">Import and Export</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Undo-Redo">Undo and Redo</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/maui/Show-Hide">Show and Hide</a></li>
+									<li>
+										Types
+										<ul>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Ink">Ink</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Shapes">Shapes</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Stamps">Stamps</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Text-Markups">Text Markups</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Sticky-Notes">Sticky Notes</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Ink-Eraser">Ink Eraser</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/maui/Free-Text">Free Text</a></li>
+										</ul>
+									</li>					
+								</ul>
+							</li>			
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Save-a-Document">Save a Document</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Print-a-Document">Print a Document</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Coordinates-Conversion">Coordinates Conversion</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Signature">Electronic Signatures</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Localization">Localization</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Right-To-Left">Right to Left</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Keyboard-Shortcuts">Keyboard Shortcuts</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/maui/Gesture-Events">Gesture Events</a></li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/xamarin/overview">Xamarin.Forms</a>
+						Xamarin.Forms
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/xamarin-docs/tree/master/Xamarin/Pdf-Viewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/getting-started">Getting Started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Accessibility">Accessibility</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Single-page-view-mode">Single page view mode</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Designing-a-Custom-Toolbar">Designing a Custom Toolbar</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Built-in-toolbar">Working with Built-In Toolbar</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Search-For-Text-Instance">Search for a Text Instance</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Select-And-Copy-Text">Select and Copy the Text</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Hyperlink">Hyperlink Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Documentlink">Table of content navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Textmarkup">Text markup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Ink">Ink annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Handwritten-Signature">Handwritten signatures</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Shape-Annotation">Shape annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/FreeText-Annotation">Free text annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Popup-Annotation">Popup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Bookmark-Navigation">Bookmark Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Touch-Interaction-Events">Touch interaction events</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Working-with-PDF-Coordinates">Working with PDF coordinates</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Working-with-PDF-AcroForms">Working with PDF forms</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Working-with-Scrollhead">Working with ScrollHead</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Localization">Localization</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Printing-PDF-files">Printing PDF files</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Loading-password-protected-PDFs">Loading password protected PDFs</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Importing-and-exporting-data">Importing and exporting data</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Export-as-image">PDF to image conversion</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Working-with-magnification">Working with magnification</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Working-with-custom-stamp-annotations">Working with custom stamp annotations</a></li>
+							<li>
+								<a href="/document-processing/pdf/pdf-viewer/xamarin/Rendering-PDF-pages-using-pdfium">Rendering PDF pages using pdfium</a>
+									<ul>
+										<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Rendering-PDF-pages-using-pdfium-Android">Rendering PDF pages using pdfium in Android</a></li>
+										<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Rendering-PDF-pages-using-pdfium-UWP">Rendering PDF pages using pdfium in UWP</a></li>
+									</ul>
+							</li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin/Supported-and-Unsupported-features">Supported and Unsupported features</a></li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/xamarin-android/overview">Xamarin.Android</a>
+						Xamarin.Android
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/xamarin.android-docs/tree/master/xamarin-android/SfPdfViewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/getting-started">Getting Started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Built-in-toolbar">Working with Built-In Toolbar</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Single-page-view-mode">Single page view mode</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Search-For-Text-Instance">Search for a Text Instance</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Select-And-Copy-Text">Select and Copy the Text</a></li>			
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Hyperlink">Hyperlink Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Documentlink">Table of content navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Ink">Ink annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Handwritten-Signature">Handwritten signatures</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Shape-Annotation">Shape annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/FreeText-Annotation">Free text annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Textmarkup">Text markup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Bookmark-Navigation">Bookmark Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Working-with-PDF-Coordinates">Working with PDF coordinates</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Working-with-PDF-AcroForms">Working with PDF forms</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Working-with-Scrollhead">Working with ScrollHead</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Localization">Localization</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Printing-PDF-files">Printing PDF files</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Loading-password-protected-PDFs">Loading password protected PDFs</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Importing-and-exporting-data">Importing and exporting data</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Export-as-image">PDF to image conversion</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Working-with-magnification">Working with magnification</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Working-with-custom-stamp-annotations">Working with custom stamp annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/xamarin-android/Rendering-PDF-pages-using-pdfium">Rendering PDF pages using pdfium</a></li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/overview">Xamarin.iOS</a>
+						Xamarin.iOS
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/xamarin.ios-docs/tree/master/Xamarin-iOS/SfPdfViewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/getting-started">Getting Started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Built-in-toolbar">Working with Built-In Toolbar</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Single-page-view-mode">Single page view mode</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Search-For-Text-Instance">Search for a Text Instance</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Select-And-Copy-Text">Select and Copy the Text</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Hyperlink">Hyperlink Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Documentlink">Table of content navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Ink">Ink PDFs</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Handwritten-Signature">Handwritten signatures</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Shape-Annotation">Shape annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/FreeText-Annotation">Free text annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Textmarkup">Text markup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Measurement-Annotation">Measurement annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Bookmark-Navigation">Bookmark Navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Working-with-PDF-Coordinates">Working with PDF coordinates</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Working-with-PDF-AcroForms">Working with PDF AcroForms</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Working-with-Scrollhead">Working with ScrollHead</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Localization">Localization</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Printing-PDF-files">Printing PDF files</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Loading-password-protected-PDFs">Loading password protected PDFs</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Importing-and-exporting-data">Importing and exporting data</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Export-as-image">PDF to image conversion</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Working-with-magnification">Working with magnification</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/Xamarin-ios/Working-with-custom-stamp-annotations">Working with custom stamp annotations</a></li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/flutter/overview">Flutter</a>
+						Flutter
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/flutter-docs/tree/master/Flutter/pdf-viewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/getting-started">Getting started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/open-a-document">Open a document</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/open-a-document-from-url">From the URL</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/open-a-document-from-local-storage">From Local Storage</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/open-a-document-from-memory">From Memory</a></li> 
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/open-a-document-from-base64">From base64</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/document-load-callbacks">Document load callbacks</a></li>                    
+								</ul>
+							</li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/viewing-password-protected-pdf-files">Viewing Password protected PDF Files</a></li>
+							<li> Navigations
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/scrolling">Scrolling</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/page-navigation">Page navigation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/bookmark-navigation">Bookmark navigation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/document-link-annotation">Document link annotation</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/hyperlink-navigation">Hyperlink navigation</a></li>               
+								</ul>
+							</li>
+							<li> UI
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/ui-customization">Customization</a></li>                 
+								</ul>
+							</li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/page-layout-and-scroll-direction">Page layout and Scrolling options</a></li>	
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/interaction-modes">Interaction modes</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/magnification">Magnification</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/text-selection">Text selection</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/text-search">Text search</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/annotations-overview">Annotations</a>
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/annotation-collection">Annotation Collection</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/add-remove-modify-annotations">Add, Remove, and Edit</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/select-deselect-annotations">Select and Deselect</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/lock-unlock-annotations">Lock and Unlock</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/flutter/undo-redo">Undo and Redo</a></li>
+									<li>  Types                        
+										<ul>
+											<li><a href="/document-processing/pdf/pdf-viewer/flutter/text-markup">Text Markups</a></li>
+											<li><a href="/document-processing/pdf/pdf-viewer/flutter/sticky-notes">Sticky Notes</a></li>
+										</ul>
+									</li>
+								</ul>
+							</li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/form-filling">Form filling</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/Localization">Localization</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/right-to-left">Right to Left (RTL)</a></li>	
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/accessibility">Accessibility</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/flutter/gesture-callbacks">Gesture callbacks</a></li>
+						<li>
+							How to
+							<ul>
+								<li><a href="/document-processing/pdf/pdf-viewer/flutter/How-to/Add-SignaturePad-signatures-to-Syncfusion-Flutter-PdfViewer">Add SignaturePad signatures to Syncfusion Flutter PdfViewer</a></li>
+								<li><a href="/document-processing/pdf/pdf-viewer/flutter/How-to/Resolve-Library-not-loaded-rpath-libswiftCore-dylib-error">Resolve Library not loaded: @rpath/libswiftCore.dylib error</a></li>
+								<li><a href="/document-processing/pdf/pdf-viewer/flutter/How-to/custom-widget-on-flutterflow">Custom Widget on FlutterFlow</a></li>
+								<li><a href="/document-processing/pdf/pdf-viewer/flutter/How-to/Render-pages-using-pdfium-android">Render PDF Pages using PDFium in Android</a></li>
+							</ul>
+						</li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/uwp/overview">UWP</a>
+						UWP
 						<ul>
-							#ReplaceUsingAutomation-https://github.com/syncfusion-content/uwp-docs/tree/master/uwp/Pdf-Viewer#
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/overview">Overview</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/getting-started">Getting Started</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Viewing-PDF">Viewing PDF</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Customizing-progress-ring">Customizing progress ring</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-magnification">Working with magnification</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-text-search">Working with text search</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Select-And-Copy-Text">Working with text selection</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-page-navigation">Working with page navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Printing-PDF">Printing PDF</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-annotations">Working with annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-text-markup-annotation">Working with text markup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-ink-annotation">Working with ink annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-popup-annotation">Working with popup annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-shape-annotation">Working with shape annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-free-text-annotation">Working with free text annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-free-text-callout-annotation">Working with free text callout annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Working-with-custom-stamp-annotation">Working with custom stamp annotations</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Exporting-pages-as-image">Exporting pages as images</a></li>
+							<li>
+								Custom toolbar
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Creating-custom-toolbar">Creating a simple PdfViewer application</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/UI-design-for-desktop">Desktop</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/UI-design-for-mobile">Mobile</a></li>
+								</ul>
+							</li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Bookmark-navigation">Bookmark navigation</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Hyperlink">Hyperlink</a></li>
+							<li><a href="/document-processing/pdf/pdf-viewer/uwp/Concepts-and-Features/Localization">Localization</a></li>
+							<li>
+								How to
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Disable-thumbnail-view">Disable thumbnail view</a></li>					
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Customize-the-scrollbar">Customize the scrollbar</a></li>					
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Get-current-vertical-and-horizontal-offsets">Get current vertical and horizontal offsets</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Get-page-offset-collection">Get page offset collection</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Get-page-gap-between-the-pages">Get page gap between the pages</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Enable-and-disable-text-selection">Enable and disable text selection</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Render-PDF-pages-using-pdfium-rendering-engine">Render PDF pages using PDFium rendering engine</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Acquire-number-of-pages-in-the-document-being-displayed">Acquire number of pages in the document being displayed</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Toggle-the-display-of-the-page-number">Toggle the display of the page number</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Get-coordinates-of-a-text-in-a-PDF-document">Get coordinates of a text in a PDF document</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Check-whether-the-loaded-PDF-document-is-edited-or-not">Check whether the loaded PDF document is edited or not</a></li>
+									<li><a href="/document-processing/pdf/pdf-viewer/uwp/How-to/Enable-disable-undo-redo">Enable and disable undo and redo operations</a></li>
+								</ul>
+							</li>
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/winforms/overview">Windows Forms</a>
+						Windows Forms
 						<ul>
 							<li>
 								<a href="/document-processing/pdf/pdf-viewer/winforms/overview">Overview</a>
@@ -238,7 +603,7 @@
 						</ul>
 					</li>
 					<li>
-						<a href="/document-processing/pdf/pdf-viewer/wpf/overview">WPF</a>
+						WPF
 						<ul>
 							<li><a href="/document-processing/pdf/pdf-viewer/wpf/overview">Overview</a></li>
 							<li><a href="/document-processing/pdf/pdf-viewer/wpf/getting-started">Getting Started</a></li>
@@ -935,6 +1300,87 @@
 					</li>
 				</ul>
 			</li>
+			<li>PDF Viewer (Classic)
+				<ul>
+					<li>Blazor
+						<ul>
+							<li> <a href="/document-processing/pdf/pdf-viewer/blazor/getting-started/features">Overview</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer/blazor/migration">Migration from PDF Viewer (Classic) to PDF Viewer</a></li>
+							<li> <a href="/document-processing/pdf/pdf-viewer/blazor/getting-started/server-side-application">Getting Started - Server App</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/getting-started/web-assembly-application">Getting Started - WebAssembly App</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/getting-started/wsl-application">Getting Started with Blazor PDF Viewer Component in WSL mode</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/accessibility">Accessibility</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/opening-pdf-file">Opening PDF file</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/saving-pdf-file">Saving PDF file</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/toolbar-customization">Toolbar Customization</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/navigation">Navigation</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/magnification">Magnification</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/text-search">Text Search</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/interaction">Interaction Mode</a></li>
+							<li>Annotations
+								<ul>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/text-markup-annotation">Text Markup Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/shape-annotation">Shape Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/stamp-annotation">Stamp Annotations</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/sticky-notes-annotation">Sticky Notes Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/measurement-annotation">Measurement Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/free-text-annotation">Free Text Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/comments">Comments</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/import-export-annotation">Import and Export Annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/annotation/ink-annotation">Ink Annotation</a></li>
+								</ul>
+							</li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/form-filling">Form Filling</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/hand-written-signature">Handwritten Signature</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/print">Print</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/download">Download</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/events">Events</a></li>
+			                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/globalization">Globalization and RTL</a></li>
+			                <li>Amazon Web Services (AWS)
+								<ul>
+									<li><a href="/document-processing/pdf/pdf-viewer/blazor/deployment/aws-beanstalk-deployment">AWS Elastic Beanstalk</a></li>
+								</ul>
+							</li>
+							<li>How To
+								<ul>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/create-pdfviewer-in-a-popup-window">Create PDF Viewer in a popup window</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/load-pdf-document-dynamically">Load PDF documents dynamically in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/load-office-files">Load Office files in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/view-docx-file-in-blazor-application">View DOCX file in Blazor application</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/unload-the-pdf-document-from-viewer">Unload the PDF document from Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/import-annotations-as-objects">Import annotations as objects</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/suppress-error-message">Suppress the error dialog</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/authorization-token">Include the Authorization token</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/move-scrollbar">Move the scrollbar to the exact location of annotations</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/create-pdf-viewer">View the created PDF document</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/unexpected-token">Resolve the Unexpected token T in JSON at position 0 error in the LINUX platform</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/check-status-of-annotations-or-comments">Check the status of annotations or comments in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/customize-arrow-annotation-heads">Customize arrow annotation heads in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/show-or-hide-pdfviewer-dynamically">Show or hide PDF Viewer dynamically in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/increase-connection-buffer-size">Resolve Maximum Receive Message size error in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/print-the-PDFViewer-inside-the-Dialog-component">Print the PDFViewer inside the Dialog component</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/change-the-highlighted-color-of-the-text">Change the highlighted color of the annotation in Blazor PDFViewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not">Check whether the loaded PDF document is edited or not in Blazor PDFViewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/create-pdf-document-in-the-created-event-of-pdf-viewer">Create PDF document in the created event of Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/create-pdfviewer-in-a-splitter-component">Create PDF Viewer in a Splitter Component in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/get-data-from-pdf-viewer">Get loaded PDF document's data from Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample">Load desired PDF for initial loading in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/stretch-the-pdf-viewer-size-to-its-container">Stretch the PDF Viewer size to its container size in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/update-form-field-using-context-menu">Update form field using context menu in Blazor PDF Viewer</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/identify-the-values-in-the-undo-redo-collections">Identify if the PDF Viewer has values in the Undo, Redo collections</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/render-ej2-pdf-viewer-in-blazor">Render JS PDF Viewer in Blazor</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/prevent-scrolling">Prevent the PDF from scrolling and remove the vertical scrollbar</a></li>
+					                <li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/resolve-System-EntryPointNotFound-exception">Resolve System Entry Point Not Found Exception in Blazor PDF Viewer</a></li>
+									<li> <a href="/document-processing/pdf/pdf-viewer/blazor/how-to/webservice-not-listening">How to clear the Web-service is not listening error</a></li>
+								</ul>
+							</li>
+							<li>
+								<a href="/cr/blazor/Syncfusion.Blazor.PdfViewerServer.SfPdfViewerServer.html"> API Reference</a>
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</li>
 		</ul>
 	</li>
 	<li>
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/accessibility.md b/Document-Processing/PDF/PDF-Viewer/blazor/accessibility.md
new file mode 100644
index 000000000..4dd80a1e7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/accessibility.md
@@ -0,0 +1,92 @@
+---
+layout: post
+title: Accessibility in Blazor PDF Viewer Component | Syncfusion
+description: Check out and learn here all about accessibility in the Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Accessibility in Syncfusion® Blazor PDF Viewer Component
+
+The Blazor PDF Viewer component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility.
+
+The accessibility compliance for the Blazor PDF Viewer component is outlined below.
+
+| Accessibility Criteria | Compatibility |
+| -- | -- |
+| [WCAG 2.2 Support]| <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Section 508 Support] | <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Screen Reader Support]| <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Right-To-Left Support]| <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Color Contrast] | <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Mobile Device Support]| <img src="https://cdn.syncfusion.com/content/images/documentation/partial.png" alt="Intermediate"> |
+| [Keyboard Navigation Support]| <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+| [Axe-core Accessibility Validation]| <img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> |
+
+<style>
+    .post .post-content img {
+        display: inline-block;
+        margin: 0.5em 0;
+    }
+</style>
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> - All features of the component meet the requirement.</div>
+
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/partial.png" alt="Intermediate"> - Some features of the component do not meet the requirement.</div>
+
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/not-supported.png" alt="No"> - The component does not meet the requirement.</div>
+
+## WAI-ARIA attributes
+
+[WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with Ajax, HTML, JavaScript,and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. The following ARIA attributes are used in the Blazor PDF Viewer component:
+
+| Attributes | Purpose |
+| --- | --- |
+| `aria-disabled`| Indicates whether the Blazor PDF Viewer component is in a disabled state or not.|
+| `aria-expanded`| Indicates whether the suggestion list has expanded or not. |
+| `aria-readonly` | Indicates the readonly state of the Blazor PDF Viewer element. |
+| `aria-haspopup` | Indicates whether the Blazor PDF Viewer input element has a suggestion list or not. |
+| `aria-label` | Indicates the breadcrumb item text. |
+| `aria-labelledby` | Provides a label for the Blazor PDF Viewer. Typically, the "aria-labelledby" attribute will contain the id of the element used as the Blazor PDF Viewer's title. |
+| `aria-describedby` | This attribute points to the Blazor PDF Viewer element describing the one it's set on. |
+| `aria-orientation` | Indicates whether the Blazor PDF Viewer element is oriented horizontally or vertically. |
+| `aria-valuetext` | Returns the current text of the Blazor PDF Viewer. |
+| `aria-valuemax` | Indicates the Maximum value of the Blazor PDF Viewer. |
+| `aria-valuemin` | Indicates the Minimum value of the Blazor PDF Viewer. |
+| `aria-valuenow` | Indicates the current value of the Blazor PDF Viewer. |
+| `aria-controls` | Attribute is set to the button and it points to the corresponding content. |
+
+## Keyboard interaction
+
+The Blazor PDF Viewer component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Message component.
+
+| **Press (Windows)** |**Press (Macintosh)** | **To do this** |
+| --- | --- | --- |
+|||**Shortcuts for page navigation**|
+|<kbd>Up Arrow</kbd> |<kbd>Up Arrow </kbd> |Scroll up|
+| <kbd>Down Arrow</kbd> | <kbd>Down Arrow</kbd> | Scroll down|
+|||**Shortcuts for Zooming**|
+|<kbd>CONTROL + =</kbd> |<kbd>COMMAND + =</kbd> | Perform zoom-in operation |
+| <kbd>CONTROL + -</kbd> | <kbd>COMMAND + -</kbd> | Perform zoom-out operation |
+|<kbd>CONTROL + 0</kbd> |<kbd>COMMAND + 0</kbd> | Retain the zoom level to 1 |
+|||**Shortcut for Text Search**|
+| <kbd>CONTROL + F</kbd> | <kbd>COMMAND + F</kbd> |Open the search toolbar|
+|||**Shortcut for Text Selection**|
+|<kbd>CONTROL + C</kbd> |<kbd>CONTROL + C</kbd> | Copy the selected text or annotation |
+| <kbd>CONTROL + X</kbd> | <kbd>CONTROL + X</kbd> |Cut the selected text or annotation |
+|<kbd>CONTROL + Y</kbd> |<kbd>CONTROL + Y</kbd> |Paste the selected text or annotation |
+|||**Shortcuts for the general operation**|
+| <kbd>CONTROL + Z</kbd> | <kbd>CONTROL + Z</kbd> |Undo the action|
+|<kbd>CONTROL + Y</kbd> |<kbd>CONTROL + Y</kbd> |Redo the action|
+| <kbd>CONTROL + P</kbd> | <kbd>COMMAND + P</kbd> |Print the document|
+|<kbd>Delete</kbd> |<kbd>Delete</kbd> |Delete the annotations|
+
+## Ensuring accessibility
+
+The Blazor PDF Viewer component's accessibility levels are ensured through an [axe-core](https://www.nuget.org/packages/Deque.AxeCore.Playwright) with playwright tests.
+
+The accessibility compliance of the Blazor PDF Viewer component is shown in the following sample. Open the [sample](https://blazor.syncfusion.com/accessibility/pdfviewer) in a new window to evaluate the accessibility of the Blazor PDF Viewer component with accessibility tools.
+
+## See also
+
+* [Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components](https://blazor.syncfusion.com/documentation/common/accessibility)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/comments.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/comments.md
new file mode 100644
index 000000000..97cc00aa1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/comments.md
@@ -0,0 +1,152 @@
+---
+layout: post
+title: Comments in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about comments in Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Comments in Blazor PDF Viewer Component
+
+The PDF Viewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents:
+
+* Shape annotation
+* Stamp annotation
+* Sticky note annotation
+* Measurement annotation
+* Text markup annotation
+* Free text annotation
+
+![Comments in Blazor PDFViewer](../images/blazor-pdfviewer-comments.png)
+
+## Adding a comment to the annotation
+
+Annotation comment, comment replies, and status can be added to the PDF document using the comment panel.
+
+### Comment panel
+
+Annotation comments can be added to the PDF using the comment panel. Comment panel can be opened by the following ways:
+
+1. Using the annotation menu.
+
+    * Click the Edit Annotation button in the PDF Viewer toolbar. A toolbar appears below it.
+    * Click the Comment Panel button. A comment panel will appear.
+
+2. Using Context menu.
+
+    * Select annotation in the PDF document and right-click it.
+    * Select comment option in the context menu that appears.
+
+3. Using Mouse click.
+
+    * Select annotation in the PDF document and double click it, a comment panel will appear.
+
+If the comment panel is already in open state, you can select the annotations and add annotation comment using comment panel.
+
+### Adding comments
+
+* Select annotation in the PDF document and click it.
+* Selected annotation comment container is highlighted in the comment panel.
+* Now, you can add comment and comment replies using comment panel.
+
+![Adding Comments in Blazor PDFViewer](../images/blazor-pdfviewer-add-new-comment.png)
+
+### Adding Comment Replies
+
+* PDF Viewer control provides an option to add multiple replies to the comment.
+* After adding the annotation comment, you can add reply to the comment.
+
+### Adding Comment or Reply Status
+
+* Select the Annotation Comments in the comment panel.
+* Click the more options button showing in Comments or reply container.
+* Select Set Status option in the context menu that appears.
+* Select the status of the annotation comment in the context menu that appears.
+
+![Blazor PDFViewer with Comment Status](../images/blazor-pdfviewer-comment-status.png)
+
+### Editing the comments and comments replies of the annotations
+
+The comment, comment replies, and status of the annotation can be edited using the comment panel.
+
+### Editing Comment or Comment Replies
+
+The annotation comment and comment replies can be edited by the following ways:
+
+1. Using Context menu.
+
+    * Select the Annotation Comments in comment panel.
+    * Click the More option button showing in Comments or reply container.
+    * Select Edit option in the context menu that appears.
+    * Now, editable text box appears. You can change the content of the annotation comment or comment reply.
+
+2. Using Mouse Click.
+
+    * Select the annotation comments in comment panel.
+    * Double click the comment or comment reply content.
+    * Now, editable text box appears. You can change the content of the annotation comment or comment reply.
+
+### Editing Comment or Reply Status
+
+* Select the Annotation Comments in comment panel.
+* Click the more options button showing in Comments or reply container.
+* Select Set Status option in the context menu that appears.
+* Select the status of the annotation comment in the context menu that appears.
+* Status ‘None’ is the default state. If status set to ‘None’, the comments or reply does not appear.
+
+![Editing Comment in Blazor PDFViewer](../images/blazor-pdfviewer-comment-editing.png)
+
+### Delete Comment or Comment Replies
+
+* Select the Annotation Comments in comment panel.
+* Click the more options button shown in Comments or reply container.
+* Select Delete option in the context menu that appears.
+
+![Deleting Comment in Blazor PDFViewer](../images/blazor-pdfviewer-delete-comments.png)
+
+N> The annotation will be deleted on deleting the comment using comment panel.
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
+
+### Show or hide the Comment panel
+
+The PDF Viewer control provides an option to show or hide the Comment panel by using the `CommentPanelVisible` property of the SfPdfViewerServer class.
+
+The following code snippet explains how to show the Comment panel.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="@OnClick">ShowOrHideCommentPanel</SfButton>
+
+<SfPdfViewerServer @ref="Viewer" @bind-CommentPanelVisible="@isOpen" Width="1000" Height="700" DocumentPath="@documentPath">   
+</SfPdfViewerServer>
+
+@code
+{
+    SfPdfViewerServer Viewer;
+    //Sets the PDF document path for initial loading.
+    private string documentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    private bool isOpen = true;
+
+    //Method to update the visibility of the comment panel.
+    public void OnClick()
+    {
+        if(isOpen)
+        {
+            isOpen = false;
+        }
+        else
+        {
+            isOpen = true;
+        }
+    }
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Comment%20Panel/Show%20or%20hide%20comment%20panel).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/free-text-annotation.md
new file mode 100644
index 000000000..08f32c840
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/free-text-annotation.md
@@ -0,0 +1,126 @@
+---
+layout: post
+title: Free text annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about free text annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Free text annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides the options to add, edit and delete the free text annotations.
+
+## Adding a free text annotation to the PDF document
+
+The free text annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **Free Text Annotation** button in the annotation toolbar. It enables the Free Text Annotation mode.
+* You can add the text over the pages of the PDF document.
+
+In the pan mode, if the free text annotation mode is entered, the PDF Viewer control will switch to text select mode.
+
+![Free Text Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-free-text-annotation.png)
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.FreeText);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Editing the properties of free text annotation
+
+The font family, font size, font styles, font color, text alignment, fill color, the border stroke color, border thickness, and opacity of the free text annotation can be edited using the Font Family tool, Font Size tool, Font Color tool, Text Align tool, Font Style tool  Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
+
+### Editing font family
+
+The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
+
+![Editing Font Family of Blazor PDFViewer Text](../images/blazor-pdfviewer-edit-font-family.png)
+
+### Editing font size
+
+The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
+
+![Editing Font Size of Blazor PDFViewer Text](../images/blazor-pdfviewer-edit-font-size.png)
+
+### Editing font color
+
+The font color of the annotation can be edited using the color palette provided in the Font Color tool.
+
+![Editing Font Color of Blazor PDFViewer Text](../images/fontcolor.png)
+
+### Editing the text alignment
+
+The text in the annotation can be aligned by selecting the desired styles in the dropdown pop-up in the Text Align tool.
+
+![Editing Free Text Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-text-alignment.png)
+
+### Editing text styles
+
+The style of the text in the annotation can be edited by selecting the desired styles in the dropdown pop-up in the Font Style tool.
+
+![Editing Font Style in Blazor PDFViewer](../images/blazor-pdfviewer-edit-font-style.png)
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Fill Color in Blazor PDFViewer Text](../images/blazor-pdfviewer-text-fill-color.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Stroke Color of Blazor PDFViewer Text](../images/blazor-pdfviewer-font-stroke.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![Editing Font Border Thickness of Blazor PDFViewer Text](../images/blazor-pdfviewer-font-border-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Font Opacity in Blazor PDFViewer](../images/blazor-pdfviewer-font-opacity.png)
+
+## Setting default properties during control initialization
+
+The properties of the free text annotation can be set before creating the control using FreeTextSettings.
+
+After editing the default values, they will be changed to the selected values.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" FreeTextSettings="@FreeTextSettings">
+</SfPdfViewerServer>
+@code{
+        SfPdfViewerServer viewer;
+        private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+        PdfViewerFreeTextSettings FreeTextSettings = new PdfViewerFreeTextSettings{FillColor="green",BorderColor="blue",FontColor="yellow"};
+
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/import-export-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/import-export-annotation.md
new file mode 100644
index 000000000..425276d3e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/import-export-annotation.md
@@ -0,0 +1,105 @@
+---
+layout: post
+title: Import and Export annotations in Blazor PDF Viewer | Syncfusion
+description: Learn here all about import and export annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Import and Export annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides the support to import and export annotations using JSON object in the PDF document.
+
+* Click the Add or Edit annotation button in the PDF Viewer toolbar.
+
+![Blazor PDFViewer with Edit Button](../images/blazor-pdfviewer-edit-button.png)
+
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+
+![Blazor PDFViewer with Comment Panel](../images/blazor-pdfviewer-edit-sticknotes-comment.png)
+
+* The comments panel will be displayed.
+* Click the **More Option** button in the comment panel container.
+
+![Displaying More Option in Blazor PDFViewer](../images/blazor-pdfviewer-show-more-option.png)
+
+## Importing annotation to the PDF document
+
+* Click the Add or Edit annotation button in the PDF Viewer toolbar.
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+* The comments panel will displayed.
+* Click the **More Option** button in the comment panel container.
+* Select the Import Annotations Option.
+
+![Importing Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-import-annotation.png)
+
+* Then the file explorer dialog will be opened. Choose the JSON file to be imported into the loaded PDF document.
+
+![Blazor PDFViewer with Imported Annotation](../images/blazor-pdfviewer-imported-annotation.png)
+
+## Importing annotation using PDF Viewer API
+
+You can import annotations using JSON file or JSON object in code behind like the following code snippet.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@OnImportAnnotationsClick">Import Annotations</SfButton>
+<SfPdfViewerServer @ref=Viewer Width="1060px" Height="500px" DocumentPath="@DocumentPath" />
+@code{
+        SfPdfViewerServer Viewer;
+public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    public void OnImportAnnotationsClick(MouseEventArgs args)
+    {
+        Viewer.ImportAnnotations("wwwroot/data/ImportedAnnotation.json"); //The json file has been placed inside the data folder.
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20stream%20and%20file).
+
+N>The JSON file for importing the annotation should be placed in the desired location and the path has to be provided correctly.
+
+## Exporting annotation from the PDF document
+
+The PDF Viewer control provides the support to export the annotations as JSON file and JSON object using annotation toolbar.
+
+* Click the Add or Edit annotation button in the PDF Viewer toolbar.
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+* The comments panel will be displayed.
+* Click the **More Option** button in the comment panel container.
+* Select the Export Annotations Option.
+
+![Exporting Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-export-annotation.png)
+
+N>Export annotations will be in the disabled state when the loaded PDF document does not contain any annotations.
+
+## Exporting annotation using PDF Viewer API
+
+You can export annotations as JSON file in code behind like the following code snippet.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@OnExportAnnotationsClick">Export Annotations</SfButton>
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer" />
+@code{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    public void OnExportAnnotationsClick(MouseEventArgs args)
+    {
+        Viewer.ExportAnnotations();
+    }
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20stream%20and%20file).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/ink-annotation.md
new file mode 100644
index 000000000..99bd2dd1e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/ink-annotation.md
@@ -0,0 +1,85 @@
+---
+title: "Ink Annotation in Blazor PDF Viewer Component | Syncfusion"
+component: "PDF Viewer"
+description: "This page helps to learn about the Ink Annotation support with a code example in the Syncfusion Blazor PDF Viewer."
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Ink Annotation in the Blazor PDF Viewer component
+
+The PDF Viewer control provides the options to add, edit, and delete the ink annotations.
+
+![InkAnnotation](../images/ink_annotation.png)
+
+## Adding an ink annotation to the PDF document
+
+The ink annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **Draw Ink** button in the annotation toolbar. It enables the ink annotation mode.
+* You can draw anything over the pages of the PDF document.
+
+![InkTool](../images/ink_tool.png)
+
+```csharp
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Height="640px" Width="100%">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Ink);
+    }
+}
+```
+
+## Editing the properties of the ink annotation
+
+The stroke color, thickness, and opacity of the ink annotation can be edited using the Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![InkStrokeColor](../images/ink_strokecolor.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![InkThickness](../images/ink_thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![InkOpacity](../images/ink_opacity.png)
+
+## Setting default properties during the control initialization
+
+The properties of the ink annotation can be set before creating the control using the InkAnnotationSettings.
+
+After editing the default values, they will be changed to the selected values.
+
+```csharp
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" InkAnnotationSettings="@InkAnnotationSettings">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+    PdfViewerInkAnnotationSettings InkAnnotationSettings = new PdfViewerInkAnnotationSettings { Author="Syncfusion", StrokeColor="green", Thickness=3, Opacity=0.6 };
+}
+```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/measurement-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/measurement-annotation.md
new file mode 100644
index 000000000..7b678ea6b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/measurement-annotation.md
@@ -0,0 +1,145 @@
+---
+layout: post
+title: Measurement annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about measurement annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Measurement annotations in Blazor PDF Viewer Component
+
+The PDF Viewer provides the options to add measurement annotations. The page annotations can be measured with the help of measurement annotation. The supported measurement annotations in the PDF Viewer control are:
+
+* Distance
+* Perimeter
+* Area
+* Radius
+* Volume
+
+![Calibrate Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-annotation.png)
+
+## Adding measurement annotations to the PDF document
+
+The measurement annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Click the **measurement Annotation** dropdown button. A dropdown pop-up will appear and shows the measurement annotations to be added.
+* Select the measurement type to be added to the page in the dropdown pop-up. It enables the selected measurement annotation mode.
+* You can measure and add the annotation over the pages of the PDF document.
+
+In the pan mode, if the measurement annotation mode is entered, the PDF Viewer control will switch to text select mode.
+
+![Adding Calibrate in Blazor PDFViewer Toolbar](../images/blazor-pdfviewer-add-calibrate-in-toolbar.png)
+
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Distance);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Editing the properties of measurement annotation
+
+The fill color, stroke color, thickness, and opacity of the measurement annotation can be edited using the Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Calibrate FillColor in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-fillcolor.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Calibrate StrokeColor in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-stroke-color.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit thickness tool.
+
+![Editing Calibrate Thickness in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Calibrate Opacity in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-opacity.png)
+
+### Editing the line properties
+
+The properties of the line shapes such as distance and perimeter annotations can be edited using the Line properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the distance and perimeter annotations.
+
+![Editing Calibrate Property in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-property.png)
+
+## Setting default properties during control initialization
+
+The properties of the shape annotations can be set before creating the control using distanceSettings, perimeterSettings, areaSettings, radiusSettings and volumeSettings.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" DistanceSettings="@DistanceSettings" PerimeterSettings="@PerimeterSettings" AreaSettings="@AreaSettings" RadiusSettings="@RadiusSettings" VolumeSettings="@VolumeSettings">
+</SfPdfViewerServer>
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerDistanceSettings DistanceSettings = new PdfViewerDistanceSettings { FillColor="blue", Opacity = 0.6 ,StrokeColor="green",LineHeadEndStyle=LineHeadStyle.Closed,LineHeadStartStyle=LineHeadStyle.Round};
+    PdfViewerPerimeterSettings PerimeterSettings = new PdfViewerPerimeterSettings { FillColor="green", Opacity = 0.6 ,StrokeColor="blue"};
+    PdfViewerAreaSettings AreaSettings = new PdfViewerAreaSettings { FillColor="yellow", Opacity = 0.6 ,StrokeColor="orange" };
+    PdfViewerVolumeSettings VolumeSettings = new PdfViewerVolumeSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" };
+    PdfViewerRadiusSettings RadiusSettings = new PdfViewerRadiusSettings {FillColor="pink", Opacity = 0.6 ,StrokeColor="yellow" };
+}
+```
+
+## Editing scale ratio and unit of the measurement annotation
+
+The scale ratio and unit of measurement can be modified using the scale ratio option provided in the context menu of the PDF Viewer control.
+
+![Editing Calibrate Scale Ratio in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-scaleratio.png)
+
+The Units of measurements support for the measurement annotations in the PDF Viewer are
+
+* Inch
+* Millimeter
+* Centimeter
+* Point
+* Pica
+* Feet
+
+![Calibrate Scale Dialog in Blazor PDFViewer](../images/blazor-pdfviewer-calibrate-scale-dialog.png)
+
+## Setting default scale ratio settings during control initialization
+
+The properties of scale ratio for measurement annotation can be set before creating the control using ScaleRatioSettings as shown in the following code snippet,
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" MeasurementSettings="@MeasurementSettings" >
+</SfPdfViewerServer>
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerMeasurementSettings MeasurementSettings = new PdfViewerMeasurementSettings { ScaleRatio=2,ConversionUnit=CalibrationUnit.Cm};
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/shape-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/shape-annotation.md
new file mode 100644
index 000000000..6bbc7ec6b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/shape-annotation.md
@@ -0,0 +1,153 @@
+---
+layout: post
+title: Shape annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about shape annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Shape annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides the options to add, edit and delete the shape annotations. The shape annotation types supported in the PDF Viewer control are:
+
+* Line
+* Arrow
+* Rectangle
+* Circle
+* Polygon
+
+![Shape Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-shape-annotation.png)
+
+## Adding a shape annotation to the PDF document
+
+Shape annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Click the **Shape Annotation** dropdown button. A dropdown pop-up will appear and shows the shape annotations to be added.
+* Select the shape types to be added to the page in the dropdown pop-up. It enables the selected shape annotation mode.
+* You can add the shapes over the pages of the PDF document.
+
+In the pan mode, if the shape annotation mode is entered, the PDF Viewer control will switch to text select mode.
+
+![Adding Shapes in Blazor PDFViewer Toolbar](../images/blazor-pdfviewer-add-shape-in-toolbar.png)
+
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Circle);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Editing the properties of the shape annotation
+
+The fill color, stroke color, thickness and opacity of the shape annotation can be edited using the Edit color tool, Edit stroke color tool, Edit thickness tool and Edit opacity tool in the annotation toolbar.
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Fill Color in Blazor PDFViewer](../images/blazor-pdfviewer-edit-fill-color.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Shape Stroke Color in Blazor PDFViewer](../images/blazor-pdfviewer-edit-shape-stroke-color.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![Editing Shape Thickness in Blazor PDFViewer](../images/blazor-pdfviewer-shape-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Shape Opacity in Blazor PDFViewer](../images/blazor-pdfviewer-shape-opacity.png)
+
+### Editing the line properties
+
+The properties of the line shapes such as line and arrow annotations can be edited using the Line Properties window. It can be opened by selecting the Properties option in the context menu that appears on right clicking the line and arrow annotations.
+
+
+![Editing Line Property in Blazor PDFViewer](../images/blazor-pdfviewer-edit-line-property.png)
+
+## Setting default properties during control initialization
+
+The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" LineSettings="@LineSettings" ArrowSettings="@ArrowSettings" RectangleSettings="@RectangleSettings" CircleSettings="@CircleSettings" PolygonSettings="@PolygonSettings">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerLineSettings LineSettings = new PdfViewerLineSettings { FillColor="blue", Opacity = 0.6 ,StrokeColor="green"};
+    PdfViewerArrowSettings ArrowSettings = new PdfViewerArrowSettings { FillColor="green", Opacity = 0.6 ,StrokeColor="blue"};
+    PdfViewerRectangleSettings RectangleSettings = new PdfViewerRectangleSettings { FillColor="yellow", Opacity = 0.6 ,StrokeColor="orange" };
+    PdfViewerCircleSettings CircleSettings = new PdfViewerCircleSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" };
+    PdfViewerPolygonSettings PolygonSettings = new PdfViewerPolygonSettings {FillColor="pink", Opacity = 0.6 ,StrokeColor="yellow" };
+}
+```
+
+## Customize annotation selector
+
+You can customize the appearance of the annotation's selector using the [AnnotationSelectorSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerAnnotationSelectorSettings.html) property of the [PdfViewerRectangleSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerRectangleSettings.html) class.
+
+The following code illustrates how to change the resizer shape of the shape annotation's selector.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="viewer" DocumentPath="@DocumentPath" Height="500px" Width="100%" RectangleSettings=@rectangleSettings>    
+</SfPdfViewerServer>
+
+
+@code{
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+    
+    SfPdfViewerServer viewer;
+
+    //Defines the settings of rectangle annotation.
+    PdfViewerRectangleSettings rectangleSettings = new PdfViewerRectangleSettings
+    {
+        //Defines the annotation selector settings for the annotation.
+        AnnotationSelectorSettings = new PdfViewerAnnotationSelectorSettings()
+        {
+            //Defines the shape of the resizer. By default it is square.
+            ResizerShape = AnnotationResizerShape.Circle
+        }
+    };
+    
+}
+```
+
+![Custom Selector in Blazor PDFViewer](../images/CustomSelector.png)
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Selector/Customize%20annotation%20selector).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/stamp-annotation.md
new file mode 100644
index 000000000..ace7c0335
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/stamp-annotation.md
@@ -0,0 +1,157 @@
+---
+layout: post
+title: Stamp annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about stamp annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Stamp annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides options to add, edit, delete and rotate the following stamp annotation in the PDF documents:
+
+* Dynamic
+* Sign Here
+* Standard Business
+* Custom Stamp
+
+![Stamp Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-stamp-annotation.png)
+
+## Adding stamp annotations to the PDF document
+
+The stamp annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Click the **Stamp Annotation** dropdown button. A dropdown pop-up will appear and shows the stamp annotations to be added.
+
+![Adding Stamp in Blazor PDFViewer Toolbar](../images/blazor-pdfviewer-add-stamp-in-toolbar.png)
+
+* Select the annotation type to be added to the page in the pop-up.
+
+![Selecting Annotation from Stamp Popup in Blazor PDFViewer](../images/blazor-pdfviewer-select-stamp-annotation.png)
+
+* You can add the annotation over the pages of the PDF document.
+
+In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control will switch to text select mode.
+
+## Adding custom stamp to the PDF document through interaction
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Click the **Stamp Annotation** dropdown button. A dropdown pop-up will appear and shows the stamp annotations to be added.
+* Click the Custom Stamp button.
+
+![Custom Stamp in Blazor PDFViewer](../images/blazor-pdfviewer-custom-stamp.png)
+
+* The file explorer dialog will appear, choose the image and then add the image in the PDF page.
+
+N>The JPG and JPEG image format are only supported in custom stamp annotations.
+
+## Setting default properties during control initialization
+
+The properties of the stamp annotation can be set before creating the control using StampSettings.
+
+After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" StampSettings="@StampSettings" >
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerStampSettings StampSettings = new PdfViewerStampSettings {Opacity=0.3,Author="Blazor" };
+
+}
+```
+
+## Adding custom stamp to the PDF document via programmatically
+
+You can add an image as a custom stamp icon using the CustomStamps property of the PdfViewerCustomStampSettings class.
+
+The following code illustrates how to add the image as a stamp annotation in the PDFViewer.
+
+```cshtml
+@using Syncfusion.Blazor.Navigations;
+@using Syncfusion.Blazor.PdfViewer;
+@using Syncfusion.Blazor.PdfViewerServer;
+
+<SfToolbar>
+    <ToolbarItems>
+        <ToolbarItem PrefixIcon="e-pv-previous-page-navigation-icon" TooltipText="Previous Page" id="previousPage" OnClick="@previousClicked" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-next-page-navigation-icon" TooltipText="Next Page" id="nextPage" OnClick="@nextClicked" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left></ToolbarItem>       
+        <ToolbarItem PrefixIcon="e-pv-download-document-icon" TooltipText="Download" id="Download" OnClick="@downloadDocument" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-stamp-icon" TooltipText="AddCustomStamp" id="AddCustomStamp" OnClick="@stampClicked" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right></ToolbarItem>
+    </ToolbarItems>
+</SfToolbar>
+
+<SfPdfViewerServer EnableToolbar="false" EnableAnnotationToolbar="false" EnableNavigationToolbar="false" @ref="viewer" DocumentPath="@DocumentPath" Height="500px" Width="1060px">
+    <PdfViewerCustomStampSettings CustomStamps="@pdfViewerCustomStamps">
+    </PdfViewerCustomStampSettings>
+</SfPdfViewerServer>
+
+@code
+{
+    SfPdfViewerServer viewer;
+    public List<PdfViewerCustomStamp> pdfViewerCustomStamps { get; set; }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public void stampClicked(ClickEventArgs args)
+    {
+        pdfViewerCustomStamps = new List<PdfViewerCustomStamp>()
+        {
+            new PdfViewerCustomStamp()
+            {
+                //Defines the custom stamp name to be added in the stamp menu of the PDF Viewer toolbar.
+                CustomStampName = "Stamp",
+                //Defines the custom stamp images source to be added in the stamp menu of the PDF Viewer toolbar.
+                CustomStampImageSource ="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
+            }
+        };
+
+    }
+
+    public void previousClicked(ClickEventArgs args)
+    {
+        //Navigate to previous page of the PDF document.
+        viewer.GoToPreviousPageAsync();
+    }
+
+    public void nextClicked(ClickEventArgs args)
+    {
+        //Navigate to next page of the PDF document loaded in the PDF Viewer.
+        viewer.GoToNextPageAsync();
+    }
+
+    public void downloadDocument(ClickEventArgs args)
+    {
+        //Downloads the PDF document being loaded in the PDF Viewer.
+        viewer.DownloadAsync();
+    }
+}
+
+<style>
+    .e-pv-previous-page-navigation-icon::before {
+        content: '\e70d';
+    }
+
+    .e-pv-stamp-icon::before {
+        content: '\e74c';
+    }
+    .e-pv-next-page-navigation-icon::before {
+        content: '\e76a';
+    }
+
+    .e-pv-download-document-icon::before {
+        content: '\e75d';
+    }
+</style>
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Stamp/Add%20a%20custom%20stamp).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/sticky-notes-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/sticky-notes-annotation.md
new file mode 100644
index 000000000..e0859b4c6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/sticky-notes-annotation.md
@@ -0,0 +1,94 @@
+---
+layout: post
+title: Sticky notes annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about sticky notes annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Sticky notes annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document.
+
+![StickyNotes Annotation in Blazor PDFViewer](../images/blazor-pdfviewer-stickynotes-annotation.png)
+
+## Adding a sticky note annotation to the PDF document
+
+Sticky note annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Comments** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Click the position, where you want to add sticky note annotation in the PDF document.
+* Sticky note annotation will be added in the clicked positions.
+
+![Adding StickyNotes in Blazor PDFViewer Toolbar](../images/blazor-pdfviewer-add-stickynotes-in-toolbar.png)
+
+Annotation comments can be added to the PDF document using the comment panel.
+
+* Select a Sticky note annotation in the PDF document and right-click it.
+* Select Comment option in the context menu that appears.
+* Now, you can add Comments, Reply, and Status using Comment Panel.
+
+![Blazor PDFViewer with StickyNotes Comment](../images/blazor-pdfviewer-stickynotes-comment.png)
+
+## Editing the properties of the sticky note annotation
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![StickyNotes Opacity in Blazor PDFViewer](../images/blazor-pdfviewer-stickynotes-opacity.png)
+
+### Editing comments
+
+The comment, comment reply, and comment status of the annotation can be edited using the Comment Panel.
+
+* Open the comment panel using the Comment Panel button displayed in the annotation toolbar.
+
+![Editing StickyNotes Comment in Blazor PDFViewer](../images/blazor-pdfviewer-edit-sticknotes-comment.png)
+
+You can modify or delete the comments or comments replay and it’s status using the menu option provided in the comment panel.
+
+![StickyNotes Editing in Blazor PDFViewer](../images/blazor-pdfviewer-editing-stickynotes.png)
+
+## Setting default properties during control initialization
+
+The properties of the sticky note annotation can be set before creating the control using StickyNoteSettings.
+
+After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" StickyNotesSettings="@StickyNotesSettings" >
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerStickyNotesSettings StickyNotesSettings = new PdfViewerStickyNotesSettings {Author="Syncfusion"};
+}
+
+```
+
+## Disabling sticky note annotations
+
+The PDF Viewer control provides an option to disable the sticky note annotations feature.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" EnableStickyNotesAnnotation=false>
+</SfPdfViewerServer>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/annotation/text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/text-markup-annotation.md
new file mode 100644
index 000000000..9a98fc2fe
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/annotation/text-markup-annotation.md
@@ -0,0 +1,185 @@
+---
+layout: post
+title: Text markup annotations in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about text markup annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Text markup annotations in Blazor PDF Viewer Component
+
+The PDF Viewer control provides the options to add, edit, and delete text markup annotations such as highlight, underline, and strikethrough annotations in the PDF document.
+
+![Blazor PDFViewer with Text Markup Annotation](../images/blazor-pdfviewer-text-markup-annotation.png)
+
+## Adding text markup annotation to the PDF Document
+
+Text Markup annotations can be added to the PDF document using the annotation toolbar and by using context menu.
+
+## Highlight a text
+
+There are two ways to highlight a text in the PDF document.
+
+**Using the context menu.**
+
+* Select a text in the PDF document and right-click it.
+* Select **Highlight** option in the context menu that appears
+![Highlighting Context in Blazor PDFViewer](../images/blazor-pdfviewer-highlight-context.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **Highlight** button in the annotation toolbar. It enables the highlight mode.
+* Select the text and the highlight annotation will be added.
+* You can also select the text and apply the highlight annotation using the **Highlight** button.
+
+![Highlighting Text in Blazor PDFViewer](../images/blazor-pdfviewer-highlight-text.png)
+
+In the pan mode, if the highlight mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for highlighting the text.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Highlight);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Underline a text
+
+There are two ways to underline a text in the PDF document.
+
+**Using the context menu.**
+
+* Select a text in the PDF document and right-click it.
+* Select **Underline** option in the context menu that appears.
+
+![Displaying Underline in Blazor PDFViewer ContextMenu](../images/blazor-pdfviewer-underline-context-menu.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **Underline** button in the annotation toolbar. It enables the underline mode.
+* Select the text and the underline annotation will be added.
+* You can also select the text and apply the underline annotation using the **Underline** button.
+
+![Blazor PDFViewer with Underline Text](../images/blazor-pdfviewer-underline-text.png)
+
+In the pan mode, if the underline mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection for underlining the text.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Underline);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Strikethrough a text
+
+There are two ways to strikethrough a text in the PDF document:
+
+Using the context menu.
+
+* Select a text in the PDF document and right-click it.
+* Select **strikethrough** option in the context menu that appears.
+
+![Displaying Strike Through in Blazor PDFViewer ContextMenu](../images/blazor-pdfviewer-strike-through-in-contextmenu.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **Strikethrough** button in the annotation toolbar. It enables the strikethrough mode.
+* Select the text and the strikethrough annotation will be added.
+* You can also select the text and apply the strikethrough annotation using the **Strikethrough** button.
+
+![Blazor PDFViewer with StrikeThrough Text](../images/blazor-pdfviewer-strike-through-text.png)
+
+In the pan mode, if the strikethrough mode is entered, the PDF Viewer control will switch to text select mode to enable the text selection to strike through the text.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="OnClick">Click Here</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationMode(AnnotationType.Strikethrough);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Editing the properties of the text markup annotation
+
+The color and the opacity of the text markup annotation can be edited using the Edit Color tool and the Edit Opacity tool in the annotation toolbar.
+
+### Editing color
+
+The color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Text Color in Blazor PDFViewer](../images/blazor-pdfviewer-editing-text-color.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Text Opacity in Blazor PDFViewer](../images/blazor-pdfviewer-edit-text-opacity.png)
+
+## Text markup annotation settings
+
+The properties of the text markup annotation can be set before creating the control using highlightSettings, underlineSettings, and strikethroughSettings.
+
+N> After editing the default color and opacity using the Edit color tool and Edit opacity tool, they will be changed to the selected values.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath" HighlightSettings="@HighlightSettings" UnderlineSettings="@UnderlineSettings" StrikethroughSettings="@StrikethroughSettings">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    PdfViewerHighlightSettings HighlightSettings = new PdfViewerHighlightSettings { Color = "green", Opacity = 0.6 };
+    PdfViewerUnderlineSettings UnderlineSettings = new PdfViewerUnderlineSettings { Color = "blue", Opacity = 0.6 };
+    PdfViewerStrikethroughSettings StrikethroughSettings = new PdfViewerStrikethroughSettings { Color = "orange", Opacity = 0.6 };
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md
new file mode 100644
index 000000000..598e6c423
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md
@@ -0,0 +1,163 @@
+---
+layout: post
+title: Blazor PDF Viewer deployment in AWS BeanStalk | Syncfusion
+description: AWS Elastic Beanstalk simplifies the deployment and management of scalable web applications and services in Linux-based infrastructure
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Deploy Blazor Server App in AWS Elastic Beanstalk Linux
+
+This section briefly explains about how to integrate [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) component in your Blazor Server App using Visual Studio and deploy it on AWS Elastic Beanstalk.
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Integrate PDF Viewer into Blazor Server App
+
+1. Start Visual Studio and select **Create a new project**.
+2. For a Blazor Server experience, choose the **Blazor Server App** template. Select **Next**.
+![Create-new-blazor-server-app](aws-benstalk-deployment-images/start-window-create-new-project.png)
+3. Provide a **Project Name** and confirm that the *Location* is correct. Select Next.
+![Set-project-name](aws-benstalk-deployment-images/Set-project-name.png)
+4. In the **Additional information** dialog, set the target framework.
+![Set-target-framework](aws-benstalk-deployment-images/Additional_information.png)
+
+## Install Blazor PDF Viewer NuGet package in Blazor Server App to deploy in AWS Elastic Beanstalk Linux
+
+To add Blazor PDF Viewer component in Blazor Server App and deploy it to AWS Elastic Beanstalk Linux, use `SfPdfViewerServer` component and theme style sheet in corresponding NuGet based on the operating system of the server you intend to host, as shown below.
+* [Syncfusion.Blazor.PdfViewerServer.Linux](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Linux)
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+* [SkiaSharp.NativeAssets.Linux.NoDependencies](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/)
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+Open **~/_Imports.razor** file and import the **Syncfusion.Blazor** and **Syncfusion.Blazor.PdfViewerServer** namespaces.
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+{% endhighlight %}
+{% endtabs %}
+
+Now, register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the Blazor Server App. Here
+
+{% tabs %}
+{% highlight c# tabtitle=".NET 6 (~/Program.cs)" hl_lines="3 9 11" %}
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+builder.Services.AddRazorPages();
+builder.Services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 102400000; });
+// Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+....
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Style Sheet and Script Reference
+
+Add the theme style sheet and script reference as below in the Blazor Server App.
+Refer script and style sheet in the `<head>` of the **~/Pages/_Layout.cshtml**.
+
+
+{% tabs %}
+{% highlight cshtml hl_lines="4 6" %}
+
+<head>
+    ....
+    <!-- Syncfusion Blazor PDF Viewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.PdfViewer/scripts/syncfusion-blazor-pdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+<SfPdfViewerServer DocumentPath="@DocumentPath" Height="500px" Width="1060px" ></SfPdfViewerServer>
+
+@code{
+private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Press <kbd>Ctrl</kbd>+<kbd>F5</kbd> (Windows) or <kbd>⌘</kbd>+<kbd>F5</kbd> (macOS) to run the application. Then, the Syncfusion<sup style="font-size:70%">&reg;</sup> `Blazor PDF Viewer` component will be rendered in the default web browser.
+
+## Steps to Configure the Linux VM used for deploying Blazor Server App in AWS Elastic Beanstalk Linux
+
+1. Open the PuTTY app and Login as ec2-user in Linux VM after adding SSH Authentication credentials.
+![putty-session-login](aws-benstalk-deployment-images/putty-image.png)
+2. Navigate to root directory in the opened terminal and type ls for listing the directories
+![linux-directories](aws-benstalk-deployment-images/linux-terminal.png)
+3. Install the dotnet framework for running the Blazor Server App in Linux by running the following code. 
+
+```
+    wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
+
+    sudo dpkg -i packages-microsoft-prod.deb
+
+    rm packages-microsoft-prod.deb
+
+    sudo yum update && \
+    sudo yum install -y dotnet-sdk-6.0
+
+```
+Check the comment dotnet --info and it should come as follows.
+
+![install-dotnet-frameworks](aws-benstalk-deployment-images/dotnet-info.png)
+
+4. Navigate to lib64 directory and use the following commands
+
+```
+    sudo cp -u libdl.so.2 libdl.so
+
+```
+
+## Steps to publish as AWS Elastic Beanstalk
+
+1. Right-click the project and select Publish to AWS Elastic Beanstalk (Legacy) option.
+![beanstalk-publish](aws-benstalk-deployment-images/beanstalk-publish.png)
+2. Select the Deployment Target as Create a new application environment and click Next button.
+![deployment-target](aws-benstalk-deployment-images/beanstalk-instance.png)
+3. Choose the Environment Name in the dropdown list and the URL will be automatically assign and check the URL is available, if available click next otherwise change the URL
+![beanstalk-environment-name](aws-benstalk-deployment-images/beanstalk-environment.png)
+4. Select the instance type in t3a.micro from the dropdown list and click next.
+![beanstalk-instance-type](aws-benstalk-deployment-images/beanstalk-aws-options.png)
+5. Click the Next button to proceed further.
+![beanstalk-roles](aws-benstalk-deployment-images/beanstalk-permissions.png)
+6. Click the Next button
+![beanstalk-review](aws-benstalk-deployment-images/beanstalk-review.png)
+7. Click the Deploy button to deploy the sample on AWS Elastic Beanstalk.
+![beanstalk-deploy](aws-benstalk-deployment-images/beanstalk-deploy.png)
+8. After changing the status from Updating to Environment is healthy, click the URL.
+![beanstalk-success-message](aws-benstalk-deployment-images/beanstalk-success.png)
+9. After opening the provided URL the provided PDF document will be displayed in PDF Viewer.
+![beanstalk-output](aws-benstalk-deployment-images/beanstalk-output.png)
+
+>[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Server%20Deployment/AWS/AWS_Elastic_Beanstalk/PdfViewerServerApp)
+
+
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Additional_information.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Additional_information.png
new file mode 100644
index 000000000..e2ed4cf6b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Additional_information.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Set-project-name.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Set-project-name.png
new file mode 100644
index 000000000..f05a2079a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/Set-project-name.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png
new file mode 100644
index 000000000..ce37b6900
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png
new file mode 100644
index 000000000..0c210c722
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png
new file mode 100644
index 000000000..0eaa0400e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png
new file mode 100644
index 000000000..9620ba18c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png
new file mode 100644
index 000000000..7610382a5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png
new file mode 100644
index 000000000..afaef1b87
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png
new file mode 100644
index 000000000..03a3240f8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png
new file mode 100644
index 000000000..0c210c722
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png
new file mode 100644
index 000000000..004f13572
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/dotnet-info.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/dotnet-info.png
new file mode 100644
index 000000000..3f13b8444
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/dotnet-info.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal-copyCommand.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal-copyCommand.png
new file mode 100644
index 000000000..8672d90bd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal-copyCommand.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal.png
new file mode 100644
index 000000000..fb7ff01a7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/linux-terminal.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/putty-image.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/putty-image.png
new file mode 100644
index 000000000..f01a1ad18
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/putty-image.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/start-window-create-new-project.png b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/start-window-create-new-project.png
new file mode 100644
index 000000000..d566f7e2d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-benstalk-deployment-images/start-window-create-new-project.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/download.md b/Document-Processing/PDF/PDF-Viewer/blazor/download.md
new file mode 100644
index 000000000..ebc381c42
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/download.md
@@ -0,0 +1,70 @@
+---
+layout: post
+title: Download in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about download in Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Download in Blazor PDF Viewer Component
+
+The PDF Viewer supports downloading the loaded PDF file from the toolbar by default. You can enable or disable the download option by setting the `EnableDownload` API.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableDownload="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+![Blazor PDFViewer with Download Option](images/blazor-pdfviewer-download-option.png)
+
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Download</SfButton>
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer"/>
+
+@code{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    public void OnClick(MouseEventArgs args)
+    {
+        Viewer.Download();
+    }
+}
+```
+
+## Download Filename
+
+The `DownloadFileName` property of the PDF Viewer enables you to sets the name of the file to be downloaded.
+
+The following code example shows how to set default filename to the downloaded file.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer DocumentPath="@documentPath" DownloadFileName="@downloadFileName" Height="800px" Width="1000px"></SfPdfViewerServer>
+
+@code
+{
+    //Sets the PDF document path for initial loading.
+    public string documentPath { get; set; } = "wwwroot/Data/PDF Succinctly.pdf";
+
+    //Sets the name of the file to be downloaded.
+    private string downloadFileName { get; set; } = "TOP-View_CutSheets.pdf";
+
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Modify%20the%20file%20name).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/events.md b/Document-Processing/PDF/PDF-Viewer/blazor/events.md
new file mode 100644
index 000000000..adf8446f5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/events.md
@@ -0,0 +1,113 @@
+---
+layout: post
+title: Events in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about events in Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Events in Blazor PDF Viewer Component
+
+The events provided in PDF Viewer component are listed out as follows:
+
+|Name|Description|
+|---|---|
+|AddSignature|Triggers when signature is added over the page of the PDF document.|
+|AjaxRequestFailed|Triggers when the AJAX request is failed.|
+|AnnotationAdded|Triggers when an annotation is added over the page of the PDF document.|
+|AnnotationMouseover|Triggers when mouse over the annotation object.|
+|AnnotationMoved|Triggers when an annotation is moved over the page of the PDF document.|
+|AnnotationPropertiesChanged|Triggers when the property of the annotation is changed in the page of the PDF document.|
+|AnnotationRemoved|Triggers when an annotation is removed from the page of the PDF document.|
+|AnnotationResized|Triggers when an annotation is resized over the page of the PDF document.|
+|AnnotationSelected|Triggers when an annotation is selected over the page of the PDF document.|
+|AnnotationUnselected|Triggers when an annotation is unselected over the page of the PDF document.|
+|Created|Triggers when the PDFViewer component is created.|
+|DocumentLoaded|Triggers while loading document into PdfViewer.|
+|DocumentLoadFailed|Triggers while loading document got failed in PdfViewer.|
+|DcoumentUnloaded|Triggers while close the document|
+|DownloadEnd|Triggers an event when the download actions is finished.|
+|DownloadStart|Triggers an event when the download action is started.|
+|ExportFailed|Triggers when an export annotations failed in the PDF Viewer.|
+|ExportStarted|Triggers when an exported annotations started in the PDF Viewer.|
+|ExportSucceed|Triggers when an export annotations succeed in the PDF Viewer.|
+|ExtractTextCompleted|Triggers when an text extraction is completed in the PDF Viewer.|
+|ImportFailed|Triggers when an imports annotations failed in the PDF document.
+|ImportStarted|Triggers when an imported annotations started in the PDF document.|
+|ImportSucceed|Triggers when an imports annotations succeed in the PDF document.|
+|MoveSignature|Triggers when an signature is moved over the page of the PDF document.|
+|OnAnnotationDoubleClick|Triggers an event when the annotation is double click.|
+|OnHyperlinkClick|Triggers when hyperlink in the PDF Document is clicked|
+|OnHyperlinkMouseOver|Triggers when hyperlink in the PDF Document is hovered|
+|OnPageClick|Triggers when the mouse click is performed over the page of the PDF document.|
+|OnTextSearchComplete|Triggers an event when the text search is completed.|
+|OnTextSearchHighlight|Triggers an event when the text search text is highlighted.|
+|OnTextSearchStart|Triggers an event when the text search is started.|
+|OnTextSelectionEnd|Triggers an event when the text selection is finished.|
+|OnTextSelectionStart|Triggers an event when the text selection is started.|
+|OnThumbnailClick|Triggers an event when the thumbnail is clicked in the thumbnail panel of PDF Viewer.|
+|PageChanged|Triggers when there is change in current page number.|
+|PageMouseover|Triggers when mouse over the page.|
+|PrintEnd|Triggers an event when the print actions is finished.|
+|PrintStart|Triggers an event when the print action is started.|
+|RemoveSignature|Triggers when signature is removed over the page of the PDF document.|
+|ResizeSignature|Triggers when signature is resized over the page of the PDF document.|
+|SignaturePropertiesChange|Triggers when the property of the signature is changed in the page of the PDF document.|
+|SignatureSelected|Triggers when signature is selected over the page of the PDF document.|
+|SignatureUnselected|Triggers when signature is unselected over the page of the PDF document.|
+|ZoomChanged|Triggers when there is change in the magnification value.|
+
+## Adding PDF Viewer events to Blazor component
+
+The Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer events has to be wrapped inside the `PdfViewerEvents` tag.
+
+```cshtml
+<SfPdfViewerServer DocumentPath="@DocumentPath" Height="500px" Width="1060px" >
+    <PdfViewerEvents DocumentLoaded="@DocumentLoaded"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    private void DocumentLoaded(LoadEventArgs args)
+    {
+        object PageData = args.PageData;
+    }
+}
+```
+
+## Created event
+
+The Created event is triggered when the PDFViewer component is rendered.
+
+The following code illustrates how to load PDF document on created event.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" Width="560" Height="315">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code 
+{
+    public string DocumentPath { get; set; }
+
+    //Triggers when the PDFViewer component is created.
+    public void created()
+    {
+        string Link = "http://infolab.stanford.edu/pub/papers/google.pdf";
+        System.Net.WebClient webClient = new System.Net.WebClient();
+        //Returns the byte array containing the downloaded PDF file.
+        byte[] byteArray = webClient.DownloadData(Link);
+        //Converting the byte array to Base64 string and sets the document path.
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }  
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20document%20using%20created%20event).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/form-filling.md b/Document-Processing/PDF/PDF-Viewer/blazor/form-filling.md
new file mode 100644
index 000000000..61204ec17
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/form-filling.md
@@ -0,0 +1,257 @@
+---
+layout: post
+title: Form filling in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about form filling in Syncfusion Blazor PDF Viewer component and much more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Form filling in Blazor PDF Viewer Component
+
+PDF Viewer component allows to display the form fields available in the PDF document. By using this, you can edit and download the form fields.
+
+The form fields displayed in the PDF Viewer are:
+
+* Text box
+* Password box
+* Combo box
+* Check box
+* Radio Button
+* Signature Field
+* List box
+
+![Form Filling in Blazor PDFViewer](images/blazor-pdfviewer-form-filling.png)
+
+## Disabling form fields
+
+The PDF Viewer control provides an option to disable the form fields feature. The code snippet for disabling the feature is as follows.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" EnableFormFields=false />
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+## How to draw handwritten signature in the signature field
+
+Signature can be added to the Signature field by using the following steps:
+
+* Click the Signature Field in the PDF document. The signature panel will appear.
+
+![Signature Field in Blazor PDFViewer](images/blazor-pdfviewer-signature-field.png)
+
+* Draw the signature in the signature panel.
+
+![Displaying Signature Panel in Blazor PDFViewer](images/blazor-pdfviewer-signature-panel.png)
+
+* Click the **CREATE** button, the drawn signature will be added in the signature field.
+
+![Displaying Signature in Blazor PDFViewer](images/blazor-pdfviewer-signature.png)
+
+## Delete the signature inside the signature field
+
+You can also delete the signature in the signature field by using Delete Option in the annotation toolbar.
+
+![Deleting Signature in Blazor PDFViewer](images/blazor-pdfviewer-delete-signature.png)
+
+## Export and import form fields
+
+The PDF Viewer control supports exporting and importing the form field data in the following formats using the `ImportFormFieldsAsync` and `ExportFormFieldsAsync` methods.
+
+* XML
+* FDF
+* XFDF
+* JSON
+
+> N The form field data will be exported as stream, and that data from the stream will be imported into the current PDF document.
+
+### Export and import as XML
+
+The following code shows how to export the form fields as an XML data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+<SfButton OnClick="@ExportAsStream">Export XML</SfButton>
+<SfButton OnClick="@ImportFromStream">Import XML</SfButton>
+<SfPdfViewerServer @ref=Viewer DocumentPath="@DocumentPath" />
+
+@code 
+{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/FormDesigner.pdf";
+    Stream stream;
+
+    // Event triggers on Export XML button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an XML format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Xml);
+    }
+
+    // Event triggers on Import XML button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the XML format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Xml);
+    }
+}
+
+```
+
+### Export and import as FDF
+
+The following code shows how to export the form fields as an FDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+<SfButton OnClick="@ExportAsStream">Export FDF</SfButton>
+<SfButton OnClick="@ImportFromStream">Import FDF</SfButton>
+<SfPdfViewerServer @ref=Viewer DocumentPath="@DocumentPath" />
+
+@code 
+{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/FormDesigner.pdf";
+    Stream stream;
+
+    // Event triggers on Export FDF button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an FDF format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Fdf);
+    }
+
+    // Event triggers on Import FDF button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the FDF format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Fdf);
+    }
+}
+
+```
+
+###  Export and import as XFDF
+
+The following code shows how to export the form fields as an XFDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+<SfButton OnClick="@ExportAsStream">Export XFDF</SfButton>
+<SfButton OnClick="@ImportFromStream">Import XFDF</SfButton>
+<SfPdfViewerServer @ref=Viewer DocumentPath="@DocumentPath" />
+
+@code 
+{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/FormDesigner.pdf";
+    Stream stream;
+
+    // Event triggers on Export XFDF button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to XFDF format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Xfdf);
+    }
+
+    // Event triggers on Import XFDF button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the XFDF format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Xfdf);
+    }
+}
+
+```
+
+### Export and import as JSON
+
+The following code shows how to export the form fields as a JSON data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+<SfButton OnClick="@ExportAsStream">Export JSON</SfButton>
+<SfButton OnClick="@ImportFromStream">Import JSON</SfButton>
+<SfPdfViewerServer @ref=Viewer DocumentPath="@DocumentPath" />
+
+@code 
+{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/FormDesigner.pdf";
+    Stream stream;
+
+    // Event triggers on Export JSON button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to JSON format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+    }
+
+    // Event triggers on Import JSON button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the JSON format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Json);
+    }
+}
+
+```
+
+### Export form fields as Json file
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@OnExportFormFieldsClick">Export JSON</SfButton>
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer" />
+@code{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    
+    // Event triggers on Export JSON button click.
+    public async void OnExportFormFieldsClick(MouseEventArgs args)
+    {
+        // Exports to a JSON file in the existing document name.
+        await Viewer.ExportFormFieldsAsync("");
+    }
+}
+```
+
+### Export and import as object
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@OnExportFormFieldsClick">Export Data</SfButton>
+<SfButton OnClick="@OnImportFormFieldsClick">Import Data</SfButton>
+<SfPdfViewerServer @ref=Viewer Width="1060px" Height="500px" DocumentPath="@DocumentPath"/>
+
+@code
+{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/form-filling-document.pdf";
+    Dictionary<string,string> dictionary;
+
+    // Event triggers on Export Data button click.
+    public async void OnExportFormFieldsClick(MouseEventArgs args)
+    {
+        // Export the form field data to a dictionary.
+        dictionary = await Viewer.ExportFormFieldsAsObjectAsync();
+    }
+
+    // Event triggers on Import Data button click.
+    public async void OnImportFormFieldsClick(MouseEventArgs args)
+    {
+        // Import the form field data from the dictionary into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(dictionary);
+    }
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/features.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/features.md
new file mode 100644
index 000000000..d44bf62fb
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/features.md
@@ -0,0 +1,43 @@
+---
+layout: post
+title: Overview of Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn about overview of the Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Overview of Blazor PDF Viewer Component
+
+The [Blazor PDF Viewer component](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) allows to view, print, and annotate the PDF files in your Blazor applications and its key features are,
+* Accurate and reliable rendering of PDF pages.
+* Provides easy page navigation with,
+    * Thumbnail page view
+    * Bookmark panel
+    * Hyperlink navigation
+    * Table of content navigation
+* Core interactions
+    * Zooming and panning
+    * Text searching
+    * Text selection and copy
+* Print PDF file.
+* Annotate PDF with different types of annotations such as,
+    * Highlight, underline, and strikeout annotation
+    * Shape annotation: Rectangle, circle, polygon, line, and arrow.
+    * Stamp annotation: Built-in and custom stamp
+    * Measurement annotation
+    * Free text annotation
+    * Add a comment or note for all type of annotations
+* FormFilling
+* Handwritten Signature
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> provides separate PDF Viewer component for Blazor Server and Blazor WebAssembly applications.
+<br />For **Blazor WebAssembly App**, use [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer.html) component in Syncfusion.Blazor.PdfViewer NuGet package. This component requires server-side processing to render the PDF files through web service.
+<br />For **Blazor Server App**, use the [SfPdfViewerServer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewerServer.SfPdfViewerServer.html) component in corresponding NuGet based on the operating system of the server you intend to host, as shown below.,
+<br/>* For Windows, use [Syncfusion.Blazor.PdfViewerServer.Windows](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Windows)
+<br/>* For Linux, use [Syncfusion.Blazor.PdfViewerServer.Linux](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Linux)
+<br/>* For Mac (OSX), use [Syncfusion.Blazor.PdfViewerServer.OSX](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.OSX)
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations.
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information.png
new file mode 100644
index 000000000..e2ed4cf6b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png
new file mode 100644
index 000000000..56499af7f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png
new file mode 100644
index 000000000..ce6e5b3d4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png
new file mode 100644
index 000000000..37d819536
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-project-name.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-project-name.png
new file mode 100644
index 000000000..f05a2079a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/Set-project-name.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png
new file mode 100644
index 000000000..27589690a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/dotnet-info.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/dotnet-info.png
new file mode 100644
index 000000000..3f13b8444
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/dotnet-info.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/exception.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/exception.png
new file mode 100644
index 000000000..7cb961dca
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/exception.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/final.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/final.png
new file mode 100644
index 000000000..eda88fecc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/final.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/libdl.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/libdl.png
new file mode 100644
index 000000000..8f1424b4b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/libdl.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png
new file mode 100644
index 000000000..d566f7e2d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/turn-features.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/turn-features.png
new file mode 100644
index 000000000..93b84f3c8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/turn-features.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/ubuntu-install.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/ubuntu-install.png
new file mode 100644
index 000000000..4d0835025
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/ubuntu-install.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/username-password.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/username-password.png
new file mode 100644
index 000000000..971905b1f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/username-password.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md
new file mode 100644
index 000000000..8a079647a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md
@@ -0,0 +1,171 @@
+---
+layout: post
+title: Getting Started with PDF Viewer in Blazor Server App | Syncfusion
+description: Learn how to getting started with PDF Viewer control in Blazor Server-side application. You can view and comment on PDFs in ease and also can fill fields.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Getting Started with Blazor PDF Viewer Component in Blazor Server App
+
+This section briefly explains about how to integrate [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) component in your Blazor Server App using Visual Studio.
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Integrate PDF Viewer into Blazor Server App
+
+1. Start Visual Studio and select **Create a new project**.
+2. For a Blazor Server experience, choose the **Blazor Server App** template. Select **Next**.
+![Create-new-blazor-server-app](gettingstarted-images/start-window-create-new-project.png)
+3. Provide a **Project Name** and confirm that the *Location* is correct. Select Next.
+![Set-project-name](gettingstarted-images/Set-project-name.png)
+4. In the **Additional information** dialog, set the target framework.
+![Set-target-framework](gettingstarted-images/Additional_information.png)
+
+## Install Blazor PDF Viewer NuGet package in Blazor Server App
+
+To add Blazor PDF Viewer component in Blazor Server App, use `SfPdfViewerServer` component and theme style sheet in corresponding NuGet based on the operating system of the server you intend to host, as shown below.,
+* For **Windows**, use [Syncfusion.Blazor.PdfViewerServer.Windows](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Windows) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+* For **Linux**, use [Syncfusion.Blazor.PdfViewerServer.Linux](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Linux) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+* For **macOs**, use [Syncfusion.Blazor.PdfViewerServer.OSX](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.OSX)and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/)
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+Open **~/_Imports.razor** file and import the **Syncfusion.Blazor** and **Syncfusion.Blazor.PdfViewerServer** namespaces.
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+{% endhighlight %}
+{% endtabs %}
+
+Now, register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the Blazor Server App. Here, Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service is registered by setting [IgnoreScriptIsolation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.GlobalOptions.html#Syncfusion_Blazor_GlobalOptions_IgnoreScriptIsolation) property as true to load the scripts externally in the [next steps](#add-script-reference).
+
+> From 2022 Vol-1 (20.1) version, the default value of `IgnoreScriptIsolation` is changed to `true`. It is not necessary to set the `IgnoreScriptIsolation` property to refer scripts externally, since the default value has already been changed to true, and this property is obsolete.
+
+* For **.NET 6 and .NET 7** app, open the **~/Program.cs** file and register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service.
+
+* For **.NET 5 and .NET 3.X** app, open the **~/Startup.cs** file and register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service.
+
+{% tabs %}
+{% highlight c# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="3 10" %}
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+builder.Services.AddRazorPages();
+builder.Services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 102400000; });
+// Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+....
+
+{% endhighlight %}
+
+{% highlight c# tabtitle=".NET 5 and .NET 3.X (~/Startup.cs)" hl_lines="1 12" %}
+
+using Syncfusion.Blazor;
+
+namespace BlazorApplication
+{
+    public class Startup
+    {
+        ...
+        public void ConfigureServices(IServiceCollection services)
+        {
+            services.AddRazorPages();
+            services.AddServerSideBlazor();
+            // Add Syncfusion Blazor service to the container.
+            services.AddSyncfusionBlazor();
+        }
+        ...
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Style Sheet
+
+Add the theme style sheet as below in the sever web app.
+
+* For .NET 6 app, add the Syncfusion<sup style="font-size:70%">&reg;</sup> bootstrap5 theme in the `<head>` of the **~/Pages/_Layout.cshtml** file.
+
+* For .NET 3.X, .NET 5 and .NET 7 app, add the Syncfusion<sup style="font-size:70%">&reg;</sup> bootstrap5 theme in the `<head>` of the **~/Pages/_Host.cshtml** file.
+
+{% tabs %}
+{% highlight cshtml %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+> Checkout the [Blazor Themes topic](https://blazor.syncfusion.com/documentation/appearance/themes) to learn different ways ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference) and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) to refer themes in Blazor application, and to have the expected appearance for Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components. Here, the theme is referred using [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Refer to [Enable static web assets usage](https://blazor.syncfusion.com/documentation/appearance/themes#enable-static-web-assets-usage) topic to use static assets in your project.
+
+## Adding Script Reference
+
+ In this getting started walk-through, the required scripts are referred using [Static Web Assets](https://blazor.syncfusion.com/documentation/common/adding-script-references#static-web-assets) externally inside the `<head>` as follows. Refer to [Enable static web assets usage](https://blazor.syncfusion.com/documentation/common/adding-script-references#enable-static-web-assets-usage) topic to use static assets in your project.
+
+* For **.NET 6** app, Refer script in the `<head>` of the **~/Pages/_Layout.cshtml** file.
+
+* For **.NET 3.X, .NET 5 and .NET 7** app, Refer script in the `<head>` of the **~/Pages/_Host.cshtml** file.
+
+{% tabs %}
+{% highlight cshtml hl_lines="4" %}
+
+<head>
+    ....
+    <!-- Syncfusion Blazor PDF Viewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.PdfViewer/scripts/syncfusion-blazor-pdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+> Checkout [Adding Script Reference topic](https://blazor.syncfusion.com/documentation/common/adding-script-references) to learn different ways to add script reference in Blazor Application.
+
+> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends to reference scripts using [Static Web Assets](https://blazor.syncfusion.com/documentation/common/adding-script-references#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/common/adding-script-references#cdn-reference) and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator) by [disabling JavaScript isolation](https://blazor.syncfusion.com/documentation/common/adding-script-references#disable-javascript-isolation) for better loading performance of the Blazor application.
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+<SfPdfViewerServer DocumentPath="@DocumentPath" Height="500px" Width="1060px" ></SfPdfViewerServer>
+
+@code{
+private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If the `DocumentPath` property value is not provided, the PDF Viewer component will be rendered without loading the PDF document. The users can then use the open option from the toolbar to browse and open the PDF as required.
+
+Press <kbd>Ctrl</kbd>+<kbd>F5</kbd> (Windows) or <kbd>⌘</kbd>+<kbd>F5</kbd> (macOS) to run the application. Then, the Syncfusion<sup style="font-size:70%">&reg;</sup> `Blazor PDF Viewer` component will be rendered in the default web browser.
+
+![Blazor PDFViewer Component](gettingstarted-images/blazor-pdfviewer.png)
+
+>[View Sample in GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md
new file mode 100644
index 000000000..1abcfe988
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md
@@ -0,0 +1,210 @@
+---
+layout: post
+title: Getting Started with PDF Viewer in Blazor WASM App | Syncfusion
+description: Checkout and learn about getting started with Blazor PDF Viewer component in Blazor WebAssembly (WASM) App using Visual Studio and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Getting Started with Blazor PDF Viewer Component in Blazor WASM App
+
+This section briefly explains about how to include [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) component in your Blazor WebAssembly (WASM) App using Visual Studio.
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Integrate PDF Viewer into Blazor WebAssembly App
+
+1. Start Visual Studio and select **Create a new project**.
+2. For a Blazor WebAssembly experience, choose the **Blazor WebAssembly App** template and select **Next**.
+![Create-a-new-WASM-app](gettingstarted-images/Create-new-WASM-app.png)
+3. Provide a **Project name** and confirm that the *Location* is correct. Select **Next**.
+![Set-project-name](gettingstarted-images/Set-WASM-project-name.png)
+4. In **Additional information dialog**, set target framework.
+![Addition-information-WASM](gettingstarted-images/Additional_information_WASM.png)
+
+## Install Blazor PDFViewer NuGet package in WASM App
+
+To add Blazor PDF Viewer component in Blazor WebAssembly App, use `SfPdfViewer` component in [Syncfusion.Blazor.PdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewer) NuGet package.
+
+N> This component requires server-side processing to render the PDF files through web service
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+Open **~/_Imports.razor** file and import the Syncfusion.Blazor namespace.
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor
+
+{% endhighlight %}
+{% endtabs %}
+
+Now, register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the Blazor WebAssembly App. Here, Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service is registered by setting [IgnoreScriptIsolation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.GlobalOptions.html#Syncfusion_Blazor_GlobalOptions_IgnoreScriptIsolation) property as true to load the scripts externally in the [next steps](#add-script-reference).
+
+N> From 2022 Vol-1 (20.1) version, the default value of `IgnoreScriptIsolation` is changed to `true`. It is not necessary to set the `IgnoreScriptIsolation` property to refer scripts externally, since the default value has already been changed to true, and this property is obsolete.
+
+* Open **~/Program.cs** file and register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the client web app.
+
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="3 11" %}
+
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+using Syncfusion.Blazor;
+
+var builder = WebAssemblyHostBuilder.CreateDefault(args);
+builder.RootComponents.Add<App>("#app");
+builder.RootComponents.Add<HeadOutlet>("head::after");
+
+builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
+
+builder.Services.AddSyncfusionBlazor();
+await builder.Build().RunAsync();
+....
+
+{% endhighlight %}
+
+{% highlight c# tabtitle=".NET 5 & .NET 3.X (~/Program.cs)" hl_lines="1 10" %}
+
+using Syncfusion.Blazor;
+
+namespace WebApplication1
+{
+    public class Program
+    {
+        public static async Task Main(string[] args)
+        {
+            ....
+            builder.Services.AddSyncfusionBlazor();
+            await builder.Build().RunAsync();
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add Style Sheet
+
+
+
+To add theme to the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search for [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) and then install it. Then, the theme style sheet from NuGet can be referred as follows,
+
+Refer the theme style sheet from NuGet in the `<head>` of **wwwroot/index.html** file in the client web app.
+
+{% tabs %}
+{% highlight cshtml tabtitle="~/index.html" %}
+
+<head>
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Checkout the [Blazor Themes topic](https://blazor.syncfusion.com/documentation/appearance/themes) to learn different ways ([Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/appearance/themes#cdn-reference) and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator)) to refer themes in Blazor application, and to have the expected appearance for Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components. Here, the theme is referred using [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Refer to [Enable static web assets usage](https://blazor.syncfusion.com/documentation/appearance/themes#enable-static-web-assets-usage) topic to use static assets in your project.
+
+## Add Script Reference
+
+In this getting started walk-through, the required scripts are referred using [Static Web Assets](https://blazor.syncfusion.com/documentation/common/adding-script-references#static-web-assets) externally inside the `<head>` as follows. Refer to [Enable static web assets usage](https://blazor.syncfusion.com/documentation/common/adding-script-references#enable-static-web-assets-usage) topic to use static assets in your project.
+
+Refer script in the `<head>` of the **~/index.html** file.
+
+{% tabs %}
+{% highlight html tabtitle="~/index.html" hl_lines="4" %}
+
+<head>
+    ....
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <script src="_content/Syncfusion.Blazor.PdfViewer/scripts/syncfusion-blazor-pdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Checkout [Adding Script Reference topic](https://blazor.syncfusion.com/documentation/common/adding-script-references) to learn different ways to add script reference in Blazor Application.
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends to reference scripts using [Static Web Assets](https://blazor.syncfusion.com/documentation/common/adding-script-references#static-web-assets), [CDN](https://blazor.syncfusion.com/documentation/common/adding-script-references#cdn-reference) and [CRG](https://blazor.syncfusion.com/documentation/common/custom-resource-generator) by [disabling JavaScript isolation](https://blazor.syncfusion.com/documentation/common/adding-script-references#disable-javascript-isolation) for better loading performance of the Blazor application.
+
+## Add Blazor PDF Viewer Component
+
+* Open **~/_Imports.razor** file or any other page under the `~/Pages` folder where the component is to be added and import the **Syncfusion.Blazor.PdfViewer** namespace.
+
+{% tabs %}
+{% highlight razor tabtitle="~/Imports.razor" %}
+
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewer
+
+{% endhighlight %}
+{% endtabs %}
+
+* Now, add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer component in razor file. Here, the PDF Viewer component is added in the **~/Pages/Index.razor** file under the **~/Pages** folder.
+
+{% tabs %}
+{% highlight razor %}
+
+<SfPdfViewer DocumentPath="PDF_Succinctly.pdf" ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer" Height="500px" Width="1060px"></SfPdfViewer>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> [View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Getting%20Started/Client-side%20application).
+
+## Server side processing
+
+Since Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Blazor WebAssembly) component depends on server-side processing to render the PDF files, it is mandatory to create a web service as mentioned [here](https://support.syncfusion.com/kb/article/8997/how-to-create-pdf-viewer-web-service-application-in-aspnet-core).
+
+N> [View web service sample in GitHub](https://github.com/SyncfusionExamples/EJ2-PDFViewer-WebServices)
+
+Press <kbd>Ctrl</kbd>+<kbd>F5</kbd> (Windows) or <kbd>⌘</kbd>+<kbd>F5</kbd> (macOS) to run the application. Then, the Syncfusion<sup style="font-size:70%">&reg;</sup> `Blazor PDF Viewer` component will be rendered in the default web browser.
+
+![Blazor PDF Viewer Component](gettingstarted-images/blazor-pdfviewer.png)
+
+N> [View Sample in GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer).
+
+## Load the desired PDF at initial loading and change the document path at runtime
+
+You can load your PDF document for initial loading as well as change the document at run-time in PDF Viewer WebAssembly projects. To achieve that, you need to create the web services and add your documents to that web service project. Then mention that web service localhost path as the service URL in your web assembly project.
+
+Refer,[How to create PDF Viewer Web Service](https://support.syncfusion.com/kb/article/9766/how-to-create-pdf-viewer-web-service-in-net-core-31-and-above).
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+@using System.Web
+@inject HttpClient Http
+
+<SfButton OnClick="LoadAnotherDocument">Load Another Document</SfButton>
+
+<!--ServiceUrl must be the webservice output path and you have to run the webservice first to get the serviceurl. Also it should be in runnable state-->
+<SfPdfViewer DocumentPath="@DocumentPath"
+             ServiceUrl="https://localhost:5001/pdfviewer"
+             Height="500px" Width="1060px"></SfPdfViewer>
+
+@code
+{
+    SfPdfViewer PdfViewer;
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "PDF Succinctly.pdf";
+
+    private async Task LoadAnotherDocument()
+    {
+        //Sends a GET request to a specified Uri and return the response body as a byte array.
+        byte[] byteArray = await Http.GetByteArrayAsync("Data/FormFillingDocument.pdf");
+        //Converts the byte array into base64 string.
+        string base64String = Convert.ToBase64String(byteArray);
+        //Sets the base64 string as document path for the PDF Viewer.
+        DocumentPath = "data:application/pdf;base64," + base64String;
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20file%20using%20local%20service).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md
new file mode 100644
index 000000000..e35b2c5d8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md
@@ -0,0 +1,108 @@
+---
+layout: post
+title: Getting Started with PDF Viewer in Blazor WSL mode | Syncfusion
+description: Learn how to getting started with PDF Viewer control in Blazor WSL (Windows Subsystem for Linux) mode. 
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Getting Started with Blazor PDF Viewer Component in WSL mode
+
+To run the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer in WSL (Windows Subsystem for Linux) mode, follow these steps:
+
+**Step 1:** Enable the Windows Subsystem for Linux and the Virtual Machine Platform.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/turn-features.png)
+
+To enable the Windows Subsystem for Linux (WSL) and the Virtual Machine Platform on Windows, follow these steps:
+
+Open the Start menu and search for `Control Panel`. Click on `Programs`, then click on `Turn Windows features on or off`. Scroll down and select the boxes next to `Windows Subsystem for Linux` and `Virtual Machine Platform`. Finally, Click `OK` and restart your machine.
+
+After restarting your computer, you can install a Linux distribution like Ubuntu from the Microsoft Store and execute Linux commands directly in Windows.
+
+**Step 2:** Install the `Ubuntu`
+
+![Create-new-blazor-wsl-app](gettingstarted-images/ubuntu-install.png)
+
+Ubuntu can be installed on a Windows machine by the Microsoft Store, follow these steps:
+
+Open the Microsoft Store on your Windows machine. Search for `Ubuntu` in the Microsoft Store search bar. Click on the `Ubuntu` application and click the `Get` button to download and install the application. Once the installation is complete, click on the `Launch` button to start Ubuntu. This will install Ubuntu as a Windows Subsystem for Linux (WSL), which allows you to run a Linux environment directly on Windows without the need for a virtual machine.
+
+On Ubuntu, create a new user with a username and password.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/username-password.png)
+
+**Step 3:** Install the dotnet framework for running the WSL (Windows Subsystem for Linux) in the project by running the following code one by one. 
+
+```
+    wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
+
+    sudo dpkg -i packages-microsoft-prod.deb
+
+    rm packages-microsoft-prod.deb
+
+    sudo apt-get update && \
+    sudo apt-get install -y dotnet-sdk-6.0
+
+```
+
+Check the comment dotnet --info and it should come as follows.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/dotnet-info.png)
+
+If the above result is not shown, please run the comments below 
+
+```
+    sudo apt remove dotnet*
+    sudo apt remove aspnetcore*
+    sudo apt remove netstandard*
+    sudo apt-get remove dotnet-host
+    sudo apt autoremove
+    sudo apt autoremove -y dotnet-sdk-6.0
+    sudo apt-get update
+    dotnet
+    sudo apt-get install -y dotnet-sdk-6.0
+    dotnet
+    dotnet --info
+```
+**Step 4:** Run the sample in WSL (Windows Subsystem for Linux) mode and it will run our Blazor PDF Viewer.
+
+N> If you encounter any issues while running in WSL (Windows Subsystem for Linux) mode, use the following instructions to resolve them.
+
+If the sample does not load the PDF file and throws an exception.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/exception.png)
+
+To resolve the issue, use the following codes to install the dependencies required for our Blazor PDF Viewer to run.
+
+Open the Ubuntu comment window and type the following comments.
+
+```
+    sudo cp -u /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
+```
+Blazor PDF Viewer uses libdl.so. It has a different name in different WSL Linux versions. To ensure its presence, check the following \wsl.localhost\Ubuntu\usr\lib\x86_64-linux-gnu location.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/libdl.png)
+
+If it is in a different name like libdl.so.4, then change the comment as follows.
+
+```
+sudo cp -u /lib/x86_64-linux-gnu/libdl.so.4 /lib/x86_64-linux-gnu/libdl.so
+```
+
+Then, in the Ubuntu command window, run the following commands one by one to install all necessary Blazor PDF Viewer dependencies for a Linux run.
+
+```
+    sudo apt-get install libfontconfig1
+    sudo apt-get update && apt-get install -y --allow-unauthenticated libgdiplus libc6-dev libx11-dev
+    sudo apt-get update
+    sudo apt install libgdiplus
+
+```
+
+Close the project, reopen it, and run it in WSL mode. It will run properly.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/final.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/globalization.md b/Document-Processing/PDF/PDF-Viewer/blazor/globalization.md
new file mode 100644
index 000000000..789ab1070
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/globalization.md
@@ -0,0 +1,42 @@
+---
+layout: post
+title: Globalization and RTL in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about globalization and RTL in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Globalization and RTL in Blazor PDF Viewer Component
+
+## Localization
+
+[Blazor PDFViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) component can be localized. Refer to [Blazor Localization](https://blazor.syncfusion.com/documentation/common/localization) topic to localize Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components.
+
+## Right to Left
+
+Also, this component provides support to render the user interface suitable for users who use **right-to-left (RTL)** languages (Arabic, Hebrew, Azerbaijani, Persian, Urdu). You can specify the control to render in RTL by setting the `EnableRtl` property to true.
+
+The following code snippet shows how to localize the component for Arabic language by setting the Locale and EnableRtl properties and providing the localized text.
+
+```cshtml
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.PdfViewerServer
+
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableRtl="true" Locale="ar-AE" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    [Inject]
+    protected IJSRuntime JsRuntime { get; set; }
+    protected override void OnAfterRender(bool firstRender)
+    {
+        this.JsRuntime.Sf().LoadLocaleData("wwwroot/locale.json");
+    }
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/hand-written-signature.md b/Document-Processing/PDF/PDF-Viewer/blazor/hand-written-signature.md
new file mode 100644
index 000000000..dd5849480
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/hand-written-signature.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Handwritten Signature in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about handwritten signature in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Handwritten Signature in Blazor PDF Viewer Component
+
+The PDF Viewer control supports adding handwritten signatures to a PDF document. The handwritten signature reduces the paper work of reviewing the content and verifies it digitally.
+
+## Adding a handwritten signature to the PDF document
+
+The handwritten signature can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it.
+* Select the **HandWritten Signature** button in the annotation toolbar. The signature panel will appear.
+
+![HandWritten Signature in Blazor PDFViewer](images/blazor-pdfviewer-handwritten-sign.png)
+
+* Draw the signature in the signature panel.
+
+![Displaying Signature Panel in Blazor PDFViewer](images/blazor-pdfviewer-sign-panel.png)
+
+* Then click **Create** button and move the signature using the mouse and place them in the desired location.
+
+![Adding Signature in Blazor PDFViewer](images/blazor-pdfviewer-adding-signature.png)
+
+## Editing the properties of handwritten signature
+
+The stroke color, border thickness, and opacity of the handwritten signature can be edited using the edit stroke color tool, edit thickness tool, and edit opacity tool in the annotation toolbar.
+
+![Editing Signature Properties in Blazor PDFViewer](images/blazor-pdfviewer-signature-properties.png)
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/authorization-token.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/authorization-token.md
new file mode 100644
index 000000000..0124c03a7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/authorization-token.md
@@ -0,0 +1,46 @@
+---
+layout: post
+title: Include the Authorization token in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to include the authorization token in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Include the Authorization token in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows to include the authorization token in the PDF viewer AJAX request using the properties of the ajaxRequest header available in [`AjaxRequestSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerBase.html#Syncfusion_Blazor_PdfViewer_PdfViewerBase_AjaxRequestSettings), and it will be included in every AJAX request send from PDF Viewer.
+
+The following code example shows how include the authorization token.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewer @ref="PdfViewer" ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer"  DocumentPath="@DocumentPath" AjaxRequestSettings="@AjaxRequestSettings" Height="500px" Width="1060px">
+</SfPdfViewer>
+
+@code{
+SfPdfViewer PdfViewer;
+private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+
+public PdfViewerAjaxRequestSettings AjaxRequestSettings = new PdfViewerAjaxRequestSettings{
+    AjaxHeaders = new List<AjaxHeader>() {
+        new AjaxHeader { 
+            HeaderName = "Authorization", 
+            HeaderValue = "Bearer 64565dfgfdsjweiuvbiuyhiueygf" 
+        },
+
+    }, 
+    WithCredentials = false
+};
+
+}
+```
+
+N>`AjaxRequestSettings` is applicable for Web assembly blazor alone.
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Ajax%20Authorization%20token).
+
+Find the sample, [How to include the authorization token](https://www.syncfusion.com/downloads/support/directtrac/general/ze/BlazorWebAsssembly-493517519.zip)
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/change-the-highlighted-color-of-the-text.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/change-the-highlighted-color-of-the-text.md
new file mode 100644
index 000000000..5cd965063
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/change-the-highlighted-color-of-the-text.md
@@ -0,0 +1,40 @@
+---
+layout: post
+title: Change the text highlight color in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to change the highlighted color of the text in Syncfusion Blazor PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Change the highlight color of the text in Blazor PDF Viewer Component
+
+You can change the highlight color of the selected annotation using the `Color` property of the [PdfViewerHighlightSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerHighlightSettings.html) class.
+
+The following code illustrates how to change the highlight color of the text.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<!--Render simple PDF Viewer with customized highlight options-->
+<SfPdfViewer @ref="PDFViewer" 
+             DocumentPath="@DocumentPath" 
+             ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer">
+    <PdfViewerHighlightSettings Color="@highlightColor"></PdfViewerHighlightSettings>
+</SfPdfViewer>
+
+@code{
+    SfPdfViewer PDFViewer;
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+
+    //Defines the color for text markup annotations like highlight.
+    private string highlightColor = "Green";
+
+}
+```
+![Highlight Text in Blazor PDFViewer](../images/HighlightText.png)
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Text%20Markup/Customize%20highlight%20annotation).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-status-of-annotations-or-comments.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-status-of-annotations-or-comments.md
new file mode 100644
index 000000000..859162d42
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-status-of-annotations-or-comments.md
@@ -0,0 +1,47 @@
+---
+layout: post
+title: Check the status of annotations in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to check the status of annotations or comments in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Check the status of annotations in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows to check the status of the annotations in the PDF viewer using the [Review](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.Review.html) property of the [PdfAnnotation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfAnnotation.html) class.
+
+The following code example shows the review status of the annotation.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@inject IJSRuntime JsRuntime;
+
+<SfButton OnClick="reviewStatus">Review Status</SfButton>
+<SfPdfViewerServer @ref="pdfviewer" CommentPanelVisible="true" DocumentPath="@DocumentPath" Height="500px" Width="1060px" ></SfPdfViewerServer>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    SfPdfViewerServer pdfviewer;    
+
+    //Prints the comment status of the PDF document in console.
+    public async void reviewStatus()
+    {
+        //Gets the annotation collection.
+        List<PdfAnnotation> annotationCollection = await pdfviewer.GetAnnotationsAsync();
+        for (var x = 0; x < annotationCollection.Count; x++)
+        {
+            PdfAnnotation annotation = annotationCollection[x];
+            //Gets the review status details of the comment.
+            Review review = annotation.Review;
+            var reviewState = review.State;
+            var reviewStateModel = review.StateModel;
+            await this.JsRuntime.InvokeVoidAsync("console.log",reviewState.ToString());
+        }
+    }
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Comment%20Panel/Retrieve%20the%20comment%20status).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md
new file mode 100644
index 000000000..c5d08fa5b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md
@@ -0,0 +1,41 @@
+---
+layout: post
+title: Check the document editing status in PDF Viewer | Syncfusion
+description: Learn here all about how to check the editing status of the document in Syncfusion Blazor PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Check the document's editing status in Blazor PDF Viewer Component
+
+You can check whether the loaded PDF document is edited or not by using the [IsDocumentEdited](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerBase.html#Syncfusion_Blazor_PdfViewer_PdfViewerBase_IsDocumentEdited) property of the PDFViewer.
+
+The following code represents how to check the editing status of the document.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="OnClick">Check</SfButton>
+<SfPdfViewer @ref="Viewer" 
+             DocumentPath="@DocumentPath" 
+             Height="640px" 
+             Width="100%" 
+             ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer">
+</SfPdfViewer>
+
+@code{
+    public SfPdfViewer Viewer { get; set; }
+
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+
+    //Prints the document's edited status in console window.
+    public void OnClick(MouseEventArgs args)
+    {
+        Console.WriteLine(Viewer.IsDocumentEdited);
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Document%20editing%20status).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/client-side-error.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/client-side-error.md
new file mode 100644
index 000000000..b282119e6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/client-side-error.md
@@ -0,0 +1,88 @@
+---
+layout: post
+title: Resolve the “Client-side error” in .Net 6.0 | Syncfusion
+description: Learn here all about resolve the “Client-side error is found” issue in .Net 6.0 which uses System.Text.Json for serialization.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Resolve the “Client-side error…” issue in .Net 6.0
+
+Issue: “Client-side error is found. Check the custom headers provided in the AjaxRequestSettings property and web action methods in the ServerActionSettings” issue in .Net 6.0 which uses System.Text.Json for serialization instead of Newtonsoft.Json
+
+Earlier versions of .Net support non-string values for string values during serialization using Newtonsoft.Json. However, .Net 6.0 uses System.Text.Json for serialization and System.Text.Json doesn't support non-string values for string values during serialization and it throws the error like below.
+
+![Client-side error](../images/clientError.png)
+
+Hence, we have to do the below non-string value to string value conversion. Find the changes for resolving the issue from the following sample code snippet.
+
+```csharp
+
+1)
+
+public IActionResult Load([FromBody] jsonObjects response)
+
+        {
+
+            PdfRenderer pdfviewer = new PdfRenderer(_cache);
+
+            MemoryStream stream = new MemoryStream();
+
+            var jsonObject = JsonConverterstring(response)
+
+2)
+
+public Dictionary<string, string> JsonConverterstring(jsonObjects results)
+
+        {
+
+            Dictionary<string, object> resultObjects = new Dictionary<string, object>();
+
+            resultObjects = results.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)
+
+                .ToDictionary(prop => prop.Name, prop => prop.GetValue(results, null));
+
+            var emptyObjects = (from kv in resultObjects
+
+                                where kv.Value != null
+
+                                select kv).ToDictionary(kv => kv.Key, kv => kv.Value);
+
+            Dictionary<string, string> jsonResult = emptyObjects.ToDictionary(k => k.Key, k => k.Value.ToString());
+
+            return jsonResult;
+
+        }
+
+3) public class jsonObjects
+
+    {
+
+        public string document { internal get; set; }
+
+        public string password { internal get; set; }
+
+        public int zoomFactor { internal get; set; }
+
+        public bool isFileName { internal get; set; }
+
+        public int xCoordinate { internal get; set; }
+
+        public int yCoordinate { internal get; set; }
+
+        public int pageNumber { internal get; set; }
+
+        public int tilexcount { internal get; set; }
+
+        public int tileycount { internal get; set; }
+
+        public string extratext { internal get; set; }
+
+        public string documentId { internal get; set; }
+
+        public string hashId { internal get; set; }
+
+```
+
+[Sample](https://www.syncfusion.com/downloads/support/directtrac/general/ze/WebService_6.0_-_fixed-203064907.zip)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-document-in-the-created-event-of-pdf-viewer.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-document-in-the-created-event-of-pdf-viewer.md
new file mode 100644
index 000000000..63054c7ab
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-document-in-the-created-event-of-pdf-viewer.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Create PDF document in the PDF Viewer created event | Syncfusion
+description: Learn here all about how to create PDF document in the created event of Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Create PDF document in created event of Blazor PDF Viewer Component
+
+You can create PDF document in the PDFViewer's created event and load the same document in the viewer.
+
+The following code example shows how to create PDF document and load that document in PDFViewer.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Pdf;
+@using Syncfusion.Pdf.Interactive;
+@using System.IO;
+@using Syncfusion.Drawing;
+
+<SfPdfViewerServer @ref="@PdfViewer" DocumentPath="@documentPath">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code{
+
+    public SfPdfViewerServer PdfViewer { get; set; }
+
+    //Sets the PDF document path for initial loading.
+    public string documentPath { get; set; }
+
+    //This event triggers when the PDFViewer is created.
+    private void created()
+    {
+        var document = new PdfDocument();
+        byte[] bytes;
+        //Add a new page to the PDF document.
+        PdfPage page = document.Pages.Add();
+        //Create a textbox field and add the properties.
+        PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+        textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+        textBoxField.ToolTip = "First Name";
+        //Add the form field to the document.
+        document.Form.Fields.Add(textBoxField);
+        var stream = new MemoryStream();
+        //Save the document.
+        document.Save(stream);
+        bytes = stream.ToArray();
+        string base64string = Convert.ToBase64String(bytes);
+        //Sets the document path as base64 string.
+        documentPath = "data:application/pdf;base64," + base64string;
+        //close the document
+        document.Close(true);
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Create%20PDF%20using%20base%20library).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-viewer.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-viewer.md
new file mode 100644
index 000000000..fb3d46328
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdf-viewer.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: View the created PDF document | Syncfusion
+description: Learn here all about View the created PDF document in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# View the created PDF document
+
+The Syncfusion&reg; Blazor PDF Viewer component allows you to view the created PDF document using the [**Created**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_PdfViewer_PdfViewerEvents_Created) event.
+
+The following code example shows how to view the created PDF document.
+
+```csharp
+
+<SfPdfViewerServer ID="pdfviewer" @ref="@PdfViewer" DocumentPath="@documentPath">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code{
+
+    public SfPdfViewerServer PdfViewer { get; set; }
+    public string documentPath { get; set; }
+    private void created()
+    {
+        var document = new PdfDocument();
+        byte[] bytes;
+        //Add a new page to the PDF document.
+        PdfPage page = document.Pages.Add();
+        //Create a textbox field and add the properties.
+        PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+        textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+        textBoxField.ToolTip = "First Name";
+        //Add the form field to the document.
+        document.Form.Fields.Add(textBoxField);
+        var stream = new MemoryStream();
+        //Save the document.
+        document.Save(stream);
+        bytes = stream.ToArray();
+        string base64string = Convert.ToBase64String(bytes);
+        documentPath = "data:application/pdf;base64," + base64string;
+        //close the document
+        document.Close(true);
+    }
+}
+
+```
+
+Find the sample [How to view the created PDF document](https://www.syncfusion.com/downloads/support/directtrac/general/ze/BlazorServerApp-view_PDF_document-1060268841)
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-popup-window.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-popup-window.md
new file mode 100644
index 000000000..9302bc9ed
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-popup-window.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title: Create PDF Viewer in a popup window in Blazor PDF Viewer | Syncfusion
+description: Learn here all about Create PDF Viewer in a popup window in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Create PDF Viewer in a popup window in Blazor PDF Viewer Component
+
+For quick view, you might need to display the PDF file in a dialog window. The following code snippet explains how to use the PDF Viewer component inside a dialog window. In this example, the Syncfusion&reg; dialog component is used for Blazor.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Popups
+@using Syncfusion.Blazor.PdfViewerServer
+
+<div id="target" style="width:800px;height:500px">
+    <SfButton @onclick="OnClick">Open PDF Viewer</SfButton>
+    <SfDialog @ref="@dialog" Target="#target" Width="1060px" Visible="false"
+        IsModal="true" Header= "@Header" ShowCloseIcon="true">
+        <DialogEvents OnOpen="OnOpen"></DialogEvents>
+        <SfPdfViewerServer @ref="@viewer"/>
+    </SfDialog>
+</div>
+@code{
+        SfPdfViewerServer viewer;
+        SfDialog dialog;
+
+        public void OnClick(MouseEventArgs args)
+        {
+            this.dialog.Show();
+        }
+
+        public void OnOpen(BeforeOpenEventArgs args)
+        {
+            viewer.Load(DocumentPath, null);
+        }
+        public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+        public string Header { get; set; } = "PDF Viewer";
+}
+```
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-splitter-component.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-splitter-component.md
new file mode 100644
index 000000000..0a39a9fb8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/create-pdfviewer-in-a-splitter-component.md
@@ -0,0 +1,48 @@
+---
+layout: post
+title: Create PDF Viewer in a Splitter Component in Blazor | Syncfusion
+description: Learn here all about how to create PDF Viewer in a Splitter Component in Syncfusion Blazor PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Create PDF Viewer in Splitter Component in Blazor PDF Viewer Component
+
+You can use Splitter to render the PDF Viewer while rendering more than one component. The following code snippet explains how to render the PDF Viewer component inside a Splitter pane. In this example, the Syncfusion&reg; Splitter component is used to render PDF Viewer.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Layouts
+
+<!--This splitter layout holds two panes-->
+<SfSplitter Height="640px" Width="100%">    
+    <!--Configures one or more panes to construct different layouts-->
+    <SplitterPanes>
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <div> Left pane </div>
+            </ContentTemplate>
+        </SplitterPane>
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <!--Build the PDF Viewer inside a splitter pane-->
+                <SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath">
+                </SfPdfViewerServer>
+            </ContentTemplate>
+        </SplitterPane>
+    </SplitterPanes>
+</SfSplitter>
+
+@code{
+
+    SfPdfViewerServer viewer;
+    
+    //Sets the document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Render%20the%20PDF%20Viewer%20on%20Splitter).
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/customize-arrow-annotation-heads.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/customize-arrow-annotation-heads.md
new file mode 100644
index 000000000..619707ba7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/customize-arrow-annotation-heads.md
@@ -0,0 +1,47 @@
+---
+layout: post
+title: Customize the arrow annotation heads in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to increase the connection buffer size in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Customize the arrow annotation heads in Blazor PDF Viewer Component
+
+You can customize the arrow annotation using the ArrowSettings API.
+
+The following code illustrates how to remove the starting arrow and end arrow from arrow annotation.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer @ref="Viewer" DocumentPath="@DocumentPath" ArrowSettings="@ArrowSettings" Height="640px" Width="100%">
+ <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code
+{
+    public SfPdfViewerServer Viewer { get; set; }
+
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+
+    PdfViewerArrowSettings ArrowSettings = new PdfViewerArrowSettings 
+    { 
+        //To remove the starting arrow.
+        LineHeadStartStyle=LineHeadStyle.None,
+        //To remove the end arrow.
+        LineHeadEndStyle=LineHeadStyle.None
+    };
+
+    //Invokes while loading document in the PDFViewer. 
+    public void DocumentLoad(LoadEventArgs args)
+    {
+        //Shows the AnnotationToolbar on initial loading.
+        Viewer.ShowAnnotationToolbar(true);        
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Shapes/Remove%20arrow%20annotation%20heads).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/get-data-from-pdf-viewer.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/get-data-from-pdf-viewer.md
new file mode 100644
index 000000000..2e5ca5fc7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/get-data-from-pdf-viewer.md
@@ -0,0 +1,48 @@
+---
+layout: post
+title: Get loaded PDF document's data from Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to get loaded PDF document's data in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Get PDF document's data from Blazor PDF Viewer Component
+
+You can get the loaded PDF document's data from the PDF Viewer component using the GetDocumentAsync() method of PDF Viewer. 
+
+The following code example shows how to get the loaded/edited document data and re-load the document.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="retrieve">Retrieve Document</SfButton>
+<SfButton @onclick="load">ReloadRetrievedDocument</SfButton>
+<SfPdfViewerServer @ref="@PDFViewer" DocumentPath="@DocumentPath"> </SfPdfViewerServer>
+
+@code
+{
+    public SfPdfViewerServer PDFViewer { get; set; }
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    byte[] save;
+
+    public async void retrieve()
+    {
+        //Gets the loaded PDF document
+        save = await PDFViewer.GetDocumentAsync();
+    }
+
+    public void load()
+    {
+        //Converts the byte array into base64 string.
+        string base64String = Convert.ToBase64String(save);
+        //Loads the PDF document from the specified base64 string.
+        PDFViewer.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }    
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Get%20the%20PDF%20document%20as%20a%20byte%20array).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md
new file mode 100644
index 000000000..8768195f4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md
@@ -0,0 +1,68 @@
+---
+layout: post
+title: Identify if the Viewer has values in the Undo, Redo stack | Syncfusion
+description: Learn how to identify if the Viewer has values in Undo, Redo stack in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Identify if the PDF Viewer has values in the Undo, Redo collections
+
+Syncfusion&reg; Blazor PDF Viewer component allows you to identify if the PDF Viewer has values in the Undo and Redo collections using the `CanUndo` and `CanRedo` APIs of the PDF Viewer.
+
+The following code example shows how to achieve this based on the Undo Redo actions.
+
+```csharp
+
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+@if (canUndo)
+{
+    <button @onclick="undo">Undo</button>
+}
+else
+{
+    <button @onclick="undo" disabled>Undo</button>
+}
+@if (canRedo)
+{
+    <button @onclick="redo">Redo</button>
+}
+else
+{
+    <button @onclick="redo" disabled>Redo</button>
+}
+<SfPdfViewerServer @ref="@viewer"
+                   @bind-CanUndo="@canUndo"
+                   @bind-CanRedo="@canRedo"
+                   DocumentPath="@DocumentPath"
+                   Height="540px"
+                   Width="100%">
+</SfPdfViewerServer>
+
+@code 
+{
+    SfPdfViewerServer viewer;
+    bool canUndo = true;
+    bool canRedo = true;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    
+    // Event triggers on Undo button click.
+    private async Task undo()
+    {
+        // API to perform Undo action.
+        await viewer.UndoAsync();
+    }
+
+    // Event triggers on Redo button click.
+    private async Task redo()
+    {
+        // API to perform Redo action.
+        await viewer.RedoAsync();
+    }
+}
+
+```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/import-annotations-as-objects.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/import-annotations-as-objects.md
new file mode 100644
index 000000000..bf0d827e0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/import-annotations-as-objects.md
@@ -0,0 +1,49 @@
+---
+layout: post
+title: Import annotations as objects in Blazor PDF Viewer | Syncfusion
+description: Learn here all about Import annotations as objects in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Import annotations as objects in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows to import annotations from objects or streams instead of loading it as a file. To import such annotation objects, the PDF Viewer control must export the PDF annotations as objects using the [ExportAnnotationsAsObject()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerBase.html#Syncfusion_Blazor_PdfViewer_PdfViewerBase_ExportAnnotationsAsObject) method. Only the annotations objects that are exported from the PDF Viewer can be imported.
+
+The following code example shows how to import annotations as objects, that are exported using the [ExportAnnotationsAsObject()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerBase.html#Syncfusion_Blazor_PdfViewer_PdfViewerBase_ExportAnnotationsAsObject) method.
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<button @onclick="ExportAnnot">ExportAnnot</button>
+<button @onclick="ImportAnnot">ImportAnnot</button>
+
+<SfPdfViewerServer @ref="PdfViewer" DocumentPath="@DocumentPath" Height="500px" Width="1060px">
+</SfPdfViewerServer>
+
+@code {
+    public SfPdfViewerServer PdfViewer { get; set; }
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+    public object annotation;
+
+    //Export the annotations as an object
+    public async void ExportAnnot()
+    {
+        await PdfViewer.ExportAnnotation();
+        annotation = await PdfViewer.ExportAnnotationsAsObject();
+    }
+
+    //Import the annotations that are exported as objects
+    public async void ImportAnnot()
+    {
+        await PdfViewer.ImportAnnotation(annotation);
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20object).
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/increase-connection-buffer-size.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/increase-connection-buffer-size.md
new file mode 100644
index 000000000..fc74a4fe8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/increase-connection-buffer-size.md
@@ -0,0 +1,18 @@
+---
+layout: post
+title: Increase the connection buffer size in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to increase the connection buffer size in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Increase the connection buffer size in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows to increase the connection buffer size by adding the below service in program.cs file if the size of the PDFViewer is too large.
+
+```cshtml
+builder.Services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 102400000; });
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20larger%20document%20without%20error).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md
new file mode 100644
index 000000000..b4de45741
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md
@@ -0,0 +1,38 @@
+---
+layout: post
+title: Load desired PDF for initial loading in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to load desired PDF for initial loading in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Load desired PDF for initial loading in Blazor PDF Viewer Component
+
+You can load your own PDF document for initial loading as well as change document at run-time in PDF Viewer hosted sample. To achieve that, you need to add your document in the server project and refer api/values as ServiceUrl in client project.
+
+```cshtml
+@inject HttpClient Http;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="LoadAnotherDocument">Load Another Document</SfButton>
+<SfPdfViewer ServiceUrl="/api/Values" DocumentPath="@DocumentPath" Height="900px"></SfPdfViewer>
+
+@code
+{
+    //Sets the PDF document path for initial loading.
+    public string DocumentPath { get; set; } = "PDF_Succinctly1.pdf";
+
+    private async Task LoadAnotherDocument()
+    {
+        //Sends a GET request to a specified Uri and return the response body as a byte array. 
+        byte[] byteArray = await Http.GetByteArrayAsync("Data/FormFillingDocument.pdf");
+        //Converts the byte array into base64 string.
+        string base64String = Convert.ToBase64String(byteArray);
+        //Sets the base64 string as document path for the PDF Viewer.
+        DocumentPath = "data:application/pdf;base64," + base64String;  
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Getting%20Started/Hosted%20application).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-office-files.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-office-files.md
new file mode 100644
index 000000000..23f3a078c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-office-files.md
@@ -0,0 +1,143 @@
+---
+layout: post
+title: Load office files in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to load the microsoft office files like powerpoint in the Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Load Microsoft Office files in Blazor PDF Viewer Component
+
+The PDF Viewer library allows you to load Microsoft office files such as powerpoint, excel, word and image using the success event of uploader.
+
+In the below code, word document is converted in to pdf document and return that pdf document into base64 string which then loaded in to the PDF Viewer. Similarly, loaded the powerpoint, excel and image in to the PDF Viewer.
+
+```cshtml
+
+@page "/"
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Pdf;
+@using Syncfusion.Pdf.Graphics;
+@using Syncfusion.Pdf.Interactive;
+@using Syncfusion.Pdf.Parsing;
+@using Syncfusion.Pdf.Security;
+@using Syncfusion.Blazor.Inputs;
+@using Syncfusion.DocIO;
+@using WFormatType = Syncfusion.DocIO.FormatType;
+@using Syncfusion.Presentation;
+@using Syncfusion.PresentationRenderer;
+@using Syncfusion.XlsIO;
+@using Syncfusion.XlsIORenderer
+@using Syncfusion.DocIORenderer;
+@using System.IO;
+
+<SfUploader AllowedExtensions=".doc, .docx, .rtf, .docm, .dotm, .dotx, .dot, .xls, .xlsx, .pptx, .pptm, .potx, .potm .jpeg, .png, .bmp">
+    <UploaderEvents OnUploadStart="OnSuccess"></UploaderEvents>
+    <UploaderAsyncSettings SaveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Save"
+                           RemoveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Remove"></UploaderAsyncSettings>
+</SfUploader>
+<SfPdfViewerServer @ref="viewerInstance" Height="500px" Width="1060px" ToolbarSettings="@ToolbarSettings"></SfPdfViewerServer>
+
+@code {
+    SfPdfViewerServer viewerInstance;
+
+    public PdfViewerToolbarSettings ToolbarSettings = new PdfViewerToolbarSettings()
+        {
+            ToolbarItems = new List<ToolbarItem>()
+            {
+                ToolbarItem.PageNavigationTool,
+                ToolbarItem.MagnificationTool,
+                ToolbarItem.CommentTool,
+                ToolbarItem.SelectionTool,
+                ToolbarItem.PanTool,
+                ToolbarItem.UndoRedoTool,
+                ToolbarItem.CommentTool,
+                ToolbarItem.AnnotationEditTool,
+                ToolbarItem.SearchOption,
+                ToolbarItem.PrintOption,
+                ToolbarItem.DownloadOption,
+                ToolbarItem.SubmitForm,
+            }
+        };
+
+    private void OnSuccess(UploadingEventArgs action)
+    {
+        string base64 = action.FileData.RawFile.ToString();
+        //string fileName = args.FileData[0].Name;
+        string type = action.FileData.Type.ToLower();
+        string data = base64.Split(',')[1];
+        byte[] bytes = Convert.FromBase64String(data);
+        var outputStream = new MemoryStream();
+        Syncfusion.Pdf.PdfDocument pdfDocument = new Syncfusion.Pdf.PdfDocument();
+        using (Stream stream = new MemoryStream(bytes))
+        {
+            switch (type)
+            {
+                case "docx":
+                case "dot":
+                case "doc":
+                case "dotx":
+                case "docm":
+                case "dotm":
+                case "rtf":
+                    Syncfusion.DocIO.DLS.WordDocument doc = new Syncfusion.DocIO.DLS.WordDocument(stream, GetWFormatType(type));
+                    //Initialization of DocIORenderer for Word to PDF conversion
+                    DocIORenderer render = new DocIORenderer();
+                    //Converts Word document into PDF document
+                    pdfDocument = render.ConvertToPDF(doc);
+                    doc.Close();
+                    break;
+                case "pptx":
+                case "pptm":
+                case "potx":
+                case "potm":
+                    //Loads or open an PowerPoint Presentation
+                    IPresentation pptxDoc = Presentation.Open(stream);
+                    pdfDocument = PresentationToPdfConverter.Convert(pptxDoc);
+                    pptxDoc.Close();
+                    break;
+                case "xlsx":
+                case "xls":
+                    ExcelEngine excelEngine = new ExcelEngine();
+                    //Loads or open an existing workbook through Open method of IWorkbooks
+                    IWorkbook workbook = excelEngine.Excel.Workbooks.Open(stream);
+                    //Initialize XlsIO renderer.
+                    XlsIORenderer renderer = new XlsIORenderer();
+                    //Convert Excel document into PDF document
+                    pdfDocument = renderer.ConvertToPDF(workbook);
+                    workbook.Close();
+                    break;
+                case "jpeg":
+                case "jpg":
+                case "png":
+                case "bmp":
+                    //Add a page to the document.
+                    PdfPage page = pdfDocument.Pages.Add();
+                    //Create PDF graphics for the page.
+                    PdfGraphics graphics = page.Graphics;
+                    PdfBitmap image = new PdfBitmap(stream);
+                    //Draw the image.
+                    graphics.DrawImage(image, 0, 0);
+                    break;
+            }
+            pdfDocument.Save(outputStream);
+            outputStream.Position = 0;
+            loadPDFdocument(outputStream.ToArray());
+            pdfDocument.Close();
+            outputStream.Close();
+        }
+    }
+
+    public void loadPDFdocument(byte[] bytes)
+    {
+        // Convert a PDF document into a base64 string.
+        string base64String = Convert.ToBase64String(bytes);
+        // Load the base64 string in the PDF Viewer.
+        viewerInstance.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Load%20PDF%2C%20Excel%2C%20PPT%20file%20types).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-pdf-document-dynamically.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-pdf-document-dynamically.md
new file mode 100644
index 000000000..22bb83aec
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/load-pdf-document-dynamically.md
@@ -0,0 +1,57 @@
+---
+layout: post
+title: Load PDF documents dynamically in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to load PDF documents dynamically in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Load PDF documents dynamically in Blazor PDF Viewer Component
+
+At times, you might need to switch or load the PDF documents dynamically after the initial load operation. To achieve this, load the PDF document as a base64 string or file path in PDF Viewer control using the `Load()` method dynamically.
+
+The following code example shows how to load a bas64 string dynamically.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="clicked">Load Document</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" Height="500px" Width="1060px" @ref="Viewer"></SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer Viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void clicked()
+    {
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/Data/Python_Succinctly.pdf");
+        string base64String = Convert.ToBase64String(byteArray);
+        Viewer.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/LoadAsync).
+
+The following code example shows how to load the PDF dynamically by specifying file path.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="clicked">Load Document</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" Height="500px" Width="1060px" @ref="Viewer"></SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer Viewer;
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void clicked()
+    {
+        Viewer.LoadAsync("wwwroot/data/Python_Succinctly.pdf", null);
+    }
+}
+```
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/move-scrollbar.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/move-scrollbar.md
new file mode 100644
index 000000000..4883a6a3f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/move-scrollbar.md
@@ -0,0 +1,46 @@
+---
+layout: post
+title: Move the scrollbar to the exact location of annotations | Syncfusion
+description: Learn here all about move scrollbar to the exact location of annotations in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Move the scrollbar to the exact location of annotations
+
+The Syncfusion&reg; Blazor PDF Viewer component allows you to move the scrollbar to the exact location of annotations present in a loaded PDF document using the **GoToBookmark** method.
+
+The following code example shows how to move the scrollbar to annotation location.
+
+```csharp
+
+<button @onclick="navigate">Navigation</button>
+
+<SfPdfViewerServer @ref="PdfViewer" DocumentPath="@DocumentPath">
+    <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer PdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+    public Dictionary<int, System.Drawing.SizeF> pageSize { get; set; }
+
+    private void DocumentLoad(LoadEventArgs args)
+    {
+        pageSize = args.PageData.PageSizes;
+    }
+
+    private async void navigate()
+    {
+        var annotationCollection = await PdfViewer.GetAnnotations();
+        var pageNumber = (annotationCollection[0].PageNumber);
+        var Y = annotationCollection[0].Bound.Top;
+        await PdfViewer.GoToBookmark(pageNumber, (pageSize[pageNumber].Height - Y));
+    }
+
+}
+
+```
+
+Find the sample [How to move the scrollbar to exact location of annotations](https://www.syncfusion.com/downloads/support/directtrac/general/ze/TestApp-1621872311)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/prevent-scrolling.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/prevent-scrolling.md
new file mode 100644
index 000000000..2a9fa44ae
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/prevent-scrolling.md
@@ -0,0 +1,24 @@
+---
+layout: post
+title: Prevent the PDF from scrolling | Syncfusion
+description: Learn here all about Create PDF Viewer in a popup window in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Prevent the PDF from scrolling and remove the vertical scrollbar
+
+To prevent a PDF from scrolling and remove the vertical scroll bar in the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer component, use CSS to set the `overflow` property of the component container to `hidden`.
+
+By setting the overflow property to hidden, the PDF viewer component will be displayed without a vertical scrollbar, and the user will not be able to scroll the content of a PDF.
+
+```html
+<style>
+    .e-pv-viewer-container {
+        overflow: hidden !important;
+    }
+</style>
+```
+
+[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/BLAZ-28848-preventScroll/Common/Prevent%20the%20PDF%20from%20scrolling)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/print-the-PDFViewer-inside-the-Dialog-component.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/print-the-PDFViewer-inside-the-Dialog-component.md
new file mode 100644
index 000000000..d41ecc6c8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/print-the-PDFViewer-inside-the-Dialog-component.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title: Print the PDFViewer inside the Dialog in Blazor | Syncfusion
+description: Learn here all about how to print the PDFViewer inside the Dialog in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Print the PDFViewer inside the Dialog in Blazor PDF Viewer Component
+
+The PDF Viewer supports printing the loaded PDF file by default. Here, we perform print action once PDFViewer is loaded with document.
+
+The following code illustrates how to perform print action once PDF Viewer is loaded.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Popups
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<div id="target" style="width:800px;height:100%">
+    <SfButton @onclick="OnClick">Open PDF Viewer</SfButton>
+    <SfDialog @ref="@dialog" Target="#target" MinHeight="100%" Width="1060px" CloseOnEscape="true" AllowDragging="true" Visible="false"
+              IsModal="true" Header="@Header" ShowCloseIcon="false">
+        <SfButton @onclick="OnClickopen">Open PDF Document</SfButton>
+        <SfPdfViewerServer @ref="viewer"
+                           Height="800px">
+            <PdfViewerEvents DocumentLoaded="@documentLoad"></PdfViewerEvents>
+        </SfPdfViewerServer>
+    </SfDialog>
+</div>
+
+@code{
+    SfPdfViewerServer viewer;
+    SfDialog dialog;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        //Method to show the dialog window.
+        this.dialog.Show(true);
+    }
+
+    //Triggers when the dialog is opened.
+    public void OnClickopen(MouseEventArgs args)
+    {
+        //Reads the contents of the file into a byte array, and then closes the file.
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/data/HTTP Succinctly.pdf");
+        //Converts the byte array in to base64 string.
+        string base64String = Convert.ToBase64String(byteArray);
+        //PDF document will get loaded from the base64 string.
+        viewer.Load("data:application/pdf;base64," + base64String, null);
+    }
+
+    private void documentLoad(LoadEventArgs args)
+    {
+        //Perform print action on the PDFViewer. 
+        viewer.PrintAsync();
+    }
+
+    public string Header { get; set; } = "PDF Viewer";
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Print/PDF%20Viewer%20in%20a%20Dialog).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md
new file mode 100644
index 000000000..9b0dcc921
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md
@@ -0,0 +1,74 @@
+---
+layout: post
+title: Render JS PDF Viewer in Blazor | Syncfusion
+description: Learn here all about how to render the JS PDF Viewer in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Render JS PDF Viewer inside Blazor component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows you to render the JS PDF Viewer component inside the blazor component.
+
+The following code example shows how to render the JS PDF Viewer component into the blazor component.
+
+**Step 1:** Add a script file to your application and refer it to the head tag.
+
+```cshtml
+<head>
+    <script src="sample.js" type="text/javascript"></script>
+</head>
+
+```
+
+**Step 2:** Add the following code to render the Js component in the blazor to the newly added JS file.
+
+```javascript
+window.renderJsPdfViewer = (id) => {
+    // Render the PDF viewer control
+    var viewer = new ej.pdfviewer.PdfViewer({
+        documentPath: "PDF_Succinctly.pdf",
+        serviceUrl: 'https://ej2services.syncfusion.com/production/web-services/api/pdfviewer'
+    });
+    ej.pdfviewer.PdfViewer.Inject(
+        ej.pdfviewer.Toolbar, 
+        ej.pdfviewer.Magnification,
+        ej.pdfviewer.BookmarkView, 
+        ej.pdfviewer.ThumbnailView, 
+        ej.pdfviewer.TextSelection,
+        ej.pdfviewer.TextSearch, 
+        ej.pdfviewer.Print, 
+        ej.pdfviewer.Navigation,
+        ej.pdfviewer.LinkAnnotation, 
+        ej.pdfviewer.Annotation,
+        ej.pdfviewer.FormFields, 
+        ej.pdfviewer.FormDesigner);
+    viewer.appendTo('#' + id);
+};
+
+```
+
+**Step 3:** Add the following code to the blazor component.
+
+```csharp
+@page "/"
+@inject IJSRuntime JS
+
+  <div id="pdfViewer" style="height:640px; width:100%;"></div>
+
+@code{ 
+    protected override async Task OnAfterRenderAsync(bool firstRender)
+    {
+        if (firstRender)
+        {
+            await JS.InvokeVoidAsync("renderJsPdfViewer", "pdfViewer");
+        }
+    }
+}
+
+```
+
+>N : you can’t able to use the API calls from C# side. You have to use a JS code snippet to use the PDF Viewer component API since we have rendered the JS component.
+
+[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Render%20JS%20PDF%20Viewer%20component%20in%20Blazor)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/resolve-System-EntryPointNotFound-exception.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/resolve-System-EntryPointNotFound-exception.md
new file mode 100644
index 000000000..329d47484
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/resolve-System-EntryPointNotFound-exception.md
@@ -0,0 +1,25 @@
+---
+layout: post
+title: Resolve System.EntryPointNotFound exception in PDF Viewer | Syncfusion
+description: Learn here all about how to solve EntryPointNotFound exception in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Resolve System.EntryPointNotFound exception in Blazor PdfViewer
+
+From the release of version **21.1.0.35 (2023 Volume 1)** of Essential Studio<sup style="font-size:70%">&reg;</sup>, the Pdfium package has been upgraded to improve various functionalities like text search, text selection, rendering, and even performance. If you are updating your project to this version of the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer, you may encounter the **“System.EntryPointNotFoundException”** error in the output window. Moreover, the spinner keeps spinning without loading any document on server projects. This is typically caused by an old version of the pdfium assembly being referenced in the local web service project. Below are the assemblies to be referred to in the respective operating systems.
+
+* Windows – pdfium.dll
+* Linux – libpdfium.so
+* OSX – libpdfium.dylib
+
+![Output window with error message](../images/Outputwindowwitherrormessage.png)
+
+## To solve this issue, you should follow the below steps:
+
+1. Clear the bin and obj files of the web-service project.
+2. Re-publish the web-service project.
+
+N> **Note:** If you are hosting your application in Azure, AWS, or in Linux environments, delete the older published files and republish the application.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/show-or-hide-pdfviewer-dynamically.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/show-or-hide-pdfviewer-dynamically.md
new file mode 100644
index 000000000..9a59a8b37
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/show-or-hide-pdfviewer-dynamically.md
@@ -0,0 +1,80 @@
+---
+layout: post
+title: Show or hide the pdfviewer dynamically in Blazor | Syncfusion
+description: Learn here all about how to show or hide the pdfviewer dynamically in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Show or hide the PDF Viewer dynamically in Blazor PDF Viewer Component
+
+In the below code, the PDF Viewer is hidden at page load. Then, on clicking a button, the PDFViewer container will be loaded. When the user clicks on a PDF file (here it is demonstrated with buttons), the PDF Viewer already present on the same page will be updated to show the selected document. 
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer;
+@using Syncfusion.Blazor.PdfViewer;
+@using System.Net;
+
+<style>
+    .e-spinner-pane {
+        display: none !important;
+    }
+</style>
+
+<!--Show or hide the visibility of the PDF Viewer-->
+<SfButton OnClick="ShowHidePdfViewer">@Label PDF Viewer</SfButton>
+
+@if (IsShowPDFViewer)
+{
+    <SfButton OnClick="LoadDocument1">Physical Path</SfButton>    
+    <SfButton OnClick="LoadDocument2">Remote Path</SfButton>    
+
+    <div class="mt-2">
+        <SfPdfViewerServer @ref="PdfViewerServerRef"
+                           DocumentPath="@Base64Content"
+                           Height="565px"
+                           Width="100%">
+        </SfPdfViewerServer>
+    </div>
+}
+
+@code
+{
+    SfPdfViewerServer PdfViewerServerRef { get; set; }
+
+    string Base64Content { get; set; }
+
+    bool IsShowPDFViewer { get; set; }
+
+    string Label => IsShowPDFViewer ? "Hide" : "Show";
+
+    //This method handles the visibility of the PDFViewer.
+    void ShowHidePdfViewer() => IsShowPDFViewer = !IsShowPDFViewer;
+
+    public void LoadDocument1()
+    {
+        //Updates the PDF Viewer container width and height from externally.
+        PdfViewerServerRef.UpdateViewerContainerAsync();
+        //Returns a byte array containing the contents of the file.
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/data/PDF Succinctly.pdf");
+        //Sets the document path from base64 string.
+        Base64Content = $"data:application/pdf;base64,{Convert.ToBase64String(byteArray)}";
+    }
+
+    public async Task LoadDocument2()
+    {
+        using (var webClient = new WebClient())
+        {
+            //Downloads the resource as a byte array from the url specified. 
+            var data = await webClient.DownloadDataTaskAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/FSuccinctly-2023061093.pdf");
+            //Sets the document path from base64 string.
+            Base64Content = $"data:application/pdf;base64,{Convert.ToBase64String(data)}";
+        }
+    }
+
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Render%20the%20PDF%20Viewer%20on%20a%20button%20click).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/stretch-the-pdf-viewer-size-to-its-container.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/stretch-the-pdf-viewer-size-to-its-container.md
new file mode 100644
index 000000000..dc0602b67
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/stretch-the-pdf-viewer-size-to-its-container.md
@@ -0,0 +1,58 @@
+---
+layout: post
+title: Update the PDF Viewer size to its container in PDF Viewer | Syncfusion
+description: Learn here all about how to stretch the PDF Viewer size to its container in Syncfusion Blazor PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Update PDF Viewer size at run-time in Blazor PDF Viewer Component
+
+You can stretch the PDF Viewer size to its container size while resizing the container at runtime. The following code snippet explains how to update the PDF Viewer size while resizing the Splitter at runtime. In this example, the Syncfusion&reg; Splitter component is used.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Layouts
+
+<!--This splitter layout holds two panes-->
+<SfSplitter Height="640px" Width="100%">
+    <SplitterEvents Resizing="@onresize"></SplitterEvents>
+    <!--Configures one or more panes to construct different layouts-->
+    <SplitterPanes>
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <div> Left pane </div>
+            </ContentTemplate>
+        </SplitterPane>
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <!--Build the PDF Viewer inside a splitter pane-->
+                <SfPdfViewerServer @ref="@viewer" DocumentPath="@DocumentPath">                   
+                </SfPdfViewerServer>
+            </ContentTemplate>
+        </SplitterPane>
+    </SplitterPanes>
+</SfSplitter>
+
+@code{
+
+    SfPdfViewerServer viewer;
+    
+    //Sets the document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+
+    //This method will get invoked when the splitter is resized.
+    private void onresize()
+    {
+        //This method will update the PDF Viewer size when the container size is updated at runtime.
+        viewer.UpdateViewerContainerAsync();
+    }
+
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Resize%20the%20PDF%20Viewer%20to%20its%20parent%20element).
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/suppress-error-message.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/suppress-error-message.md
new file mode 100644
index 000000000..e438e2913
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/suppress-error-message.md
@@ -0,0 +1,30 @@
+---
+layout: post
+title: Suppress the error dialog in the Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to suppress the error dialog in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Suppress the error dialog in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component allows you to suppress or disable the error dialog box displayed in the PDF Viewer using the [**EnableErrorDialog**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerBase.html#Syncfusion_Blazor_PdfViewer_PdfViewerBase_EnableErrorDialog) property. The default value of the property is `true`.
+
+The following code example shows how to suppress the error dialog.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewer @ref="PdfViewer" ServiceUrl="https://localhost:44399/pdfviewer"  DocumentPath="@DocumentPath" EnableErrorDialog="false" Height="500px" Width="1060px">
+</SfPdfViewer>
+
+@code{
+    SfPdfViewer PdfViewer;
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+}
+```
+ 
+Find the sample, [How to suppress the error dialog in the Blazor PDF Viewer](https://www.syncfusion.com/downloads/support/directtrac/general/ze/BlazorWebAsssembly1506143488)
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explain the core features of the PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unexpected-token.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unexpected-token.md
new file mode 100644
index 000000000..e93d913f5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unexpected-token.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title: Resolve the "Unexpected token T in JSON at position 0" | Syncfusion
+description: Learn here all about resolve the "Unexpected token T in JSON at position 0" error in the LINUX platform in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Resolve "Unexpected token T in JSON at position 0" error
+
+We suspect that the "Unexpected token T in JSON at position 0" error occurs in the Linux platform due to the missing of the Pdfium.dll in your environment. We have embedded the Pdfium rendering engine in our PDF Viewer, so the Pdfium.dll will be generated on runtime within your project location.
+
+However, we have exposed the **ReferencePath** API to set the pdfium library location path. We can place the pdfium library in project location and refer the project location to the ReferencePath. Find the below code to set the pdfium location inside the wwwroot folder.
+
+```csharp
+
+PdfRenderer.ReferencePath = _hostingEnvironment.WebRootPath + "/";  
+
+```
+
+The following code example shows how to resolve the "Unexpected token T in JSON at position 0" error in the Linux platform
+
+```csharp
+
+public IActionResult Load([FromBody] Dictionary<string, string> jsonObject)
+{
+    PdfRenderer pdfviewer = new PdfRenderer(_cache);
+    PdfRenderer.ReferencePath = _hostingEnvironment.WebRootPath + "/";
+    MemoryStream stream = new MemoryStream();
+    object jsonResult = new object();
+    if (jsonObject != null && jsonObject.ContainsKey("document"))
+    {
+        if (bool.Parse(jsonObject["isFileName"]))
+        {
+            string documentPath = GetDocumentPath(jsonObject["document"]);
+            if (!string.IsNullOrEmpty(documentPath))
+            {
+                byte[] bytes = System.IO.File.ReadAllBytes(documentPath);
+                stream = new MemoryStream(bytes);
+            }
+            else
+            {
+                return this.Content(jsonObject["document"] + " is not found");
+            }
+        }
+        else
+        {
+            byte[] bytes = Convert.FromBase64String(jsonObject["document"]);
+            stream = new MemoryStream(bytes);
+        }
+    }
+    jsonResult = pdfviewer.Load(stream, jsonObject);
+    return Content(JsonConvert.SerializeObject(jsonResult));
+}
+
+```
+
+Download the [Pdfium.dll](https://www.syncfusion.com/downloads/support/directtrac/general/ze/Pdfium1515619754).
+
+N> Use the `Syncfusion.EJ2.PdfViewer.AspNet.Core.Linux package` in your application for the Linux environment. Also, ensure whether the library dependencies of lib pdfium. So they are installed properly. If not, execute the following command to install the RUN apt-get update&& apt-get install -y --allow-unauthenticated \ libc6-dev \ libgdiplus \ libx11-dev \ curl \ vim \ supervisor \ pro cps
+
+N> The ReferencePath can only be specified in WebAssembly applications; it cannot be set in server applications because there is no need for service URL dependencies in server applications.
+
+For more details about setting the ReferencePath [refer to this link](https://ej2.syncfusion.com/aspnetmvc/documentation/pdfviewer/how-to/resolve-pdfium-issue).
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unload-the-pdf-document-from-viewer.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unload-the-pdf-document-from-viewer.md
new file mode 100644
index 000000000..0ad9126fe
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/unload-the-pdf-document-from-viewer.md
@@ -0,0 +1,35 @@
+---
+layout: post
+title: Unload the PDF document from Viewer in Blazor PDF Viewer | Syncfusion
+description: Learn here all about Unload the PDF document from Viewer in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Unload the PDF document from Viewer in Blazor PDF Viewer Component
+
+The PDF Viewer component will automatically unload and clear the resources occupied by the PDF document when the control is disposed. Also, when loading another PDF file, the resources occupied by previous loaded file in viewer will be automatically unloaded and cleared.
+
+If you want to unload and clear the resources occupied by the PDF file programmatically, invoke the Unload() method as shown below.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfButton @onclick="OnClick">Unload Document</SfButton>
+<SfPdfViewerServer @ref="@viewer" Height="500px" Width="1060px" DocumentPath="@DocumentPath" />
+
+@code{
+        SfPdfViewerServer viewer;
+        public void OnClick(MouseEventArgs args)
+        {
+            viewer.Unload();
+        }
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+
+
+```
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/update-form-field-using-context-menu.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/update-form-field-using-context-menu.md
new file mode 100644
index 000000000..a7ea26ca9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/update-form-field-using-context-menu.md
@@ -0,0 +1,103 @@
+---
+layout: post
+title: Update form field using context menu in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to update form field using context menu in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Update form field using context menu in Blazor PDF Viewer Component
+
+You can update the form field's at runtime using the FormFieldClick event and UpdateFormFieldsAsync() method of PDF Viewer. The following code example explains how to open Context menu when you click on the form field and how to update the menu item content as form field's value. In this example, the Syncfusion&reg; ContextMenu component is used to update form field.
+
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Navigations 
+
+<div id="target" class="e-pdfviewer-signatureformfields" @onmousemove="mouseOver" style="position:absolute;left:0;right:0;top:0;bottom:0;z-index:100">
+    <SfPdfViewerServer @ref="viewer" DocumentPath="@DocumentPath" Height="100%" Width="100%">
+        <PdfViewerEvents DocumentLoaded="@documentLoad" FormFieldClick="@formFeildClick"></PdfViewerEvents>
+    </SfPdfViewerServer>
+</div>
+
+<SfContextMenu @ref="contextMenuObj" Target="#target" Items="@menuItems">
+    <MenuFieldSettings Text="Content"></MenuFieldSettings>
+    <MenuEvents TValue="CustomItem" ItemSelected="@selectedHandler"></MenuEvents>
+</SfContextMenu>
+
+@code 
+{    
+    SfPdfViewerServer viewer;
+    SfContextMenu<CustomItem> contextMenuObj;
+
+    private class CustomItem
+    {
+        public string Content { get; set; }
+        public string Id { get; set; }
+    }
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/FF1.pdf";
+
+    double x = 0; double y = 0;
+    private string feildId = "";
+    FormField formField;
+    private CustomItem SelectedItem;
+
+    private void mouseOver(MouseEventArgs args)
+    {
+        x = args.ClientX;
+        y = args.ClientY;
+    }
+
+    //This method will get invoked when the menu item is clicked.
+    private void selectedHandler(MenuEventArgs<CustomItem> args)
+    {
+        SelectedItem = args.Item;
+        Dictionary<string, string> param = new Dictionary<string, string>();
+        param.Add(feildId, SelectedItem.Content); 
+        formField.Value = SelectedItem.Content;
+        //This method is used to update the isReadOnly property of the form field.
+        viewer.UpdateFormFieldsAsync(formField);  
+    }
+
+    //This method will get invoked when you click on the form field like name.
+    private void formFeildClick(FormFieldClickArgs args)
+    {
+        feildId = args.Field.Id;
+        formField = args.Field;
+        //This method will open the context menu on the specified position.
+        contextMenuObj.Open(x, y);
+    }
+
+    //Represents the collection to hold the menu items.
+    private List<CustomItem> menuItems = new List<CustomItem>();
+
+    //This method will get invoked once the PDF Viewer is loaded.
+    private async void documentLoad(LoadEventArgs args)
+    {
+        //Perform export annotations action in the PDF Viewer. 
+        Dictionary<string, string> feilds = await viewer.ExportFormFieldsAsObjectAsync();
+        if (feilds.Keys.Count > 0)
+        {
+            foreach (KeyValuePair<string, string> feild in feilds)
+            {
+                if (menuItems.Count < 10)
+                {
+                    //Add custom menu item to the menuitems list.
+                    menuItems.Add(new CustomItem() { Content = feild.Key, Id = feild.Key });
+                }
+            }
+
+        }
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Common/Update%20form%20fileds%20using%20Context%20Menu).
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/view-docx-file-in-blazor-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/view-docx-file-in-blazor-application.md
new file mode 100644
index 000000000..0459df764
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/view-docx-file-in-blazor-application.md
@@ -0,0 +1,24 @@
+---
+layout: post
+title: View DOCX file in Blazor application using PDF Viewer | Syncfusion
+description: Learn here all about View DOCX file in Blazor application in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# View DOCX file in Blazor application in Blazor PDF Viewer Component
+
+You can achieve this requirement of viewing DOCX file in two ways:.
+
+**Option** **1:**
+
+You can use Syncfusion&reg; Word Processor component for Blazor to compose, view, and edit DOC, DOCX, RTF, and SFDT file formats.
+
+To learn more about the [Word Processor component](https://www.syncfusion.com/blazor-components/blazor-word-processor), check out Syncfusion<sup style="font-size:70%">&reg;</sup> online samples and documentation.
+
+**Option** **2:**
+
+You can convert [Word document to PDF](https://help.syncfusion.com/document-processing/word/conversions/word-to-pdf/net/word-to-pdf) using the Syncfusion&reg; Word (DocIO) server-side library and view the resultant PDF file using PDF Viewer component.
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/how-to/webservice-not-listening.md b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/webservice-not-listening.md
new file mode 100644
index 000000000..8179913a2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/how-to/webservice-not-listening.md
@@ -0,0 +1,71 @@
+---
+layout: post
+title: How to clear the "Web-service is not listening" to error| Syncfusion
+description: Learn here all about How to clear the "Web-service is not listening" to error in Syncfusion React Pdfviewer component of Syncfusion Essential JS 2 and more.
+control: How to clear the "Web-service is not listening" to error
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# How to clear the "Web-service is not listening" to error
+
+![Alt text](../images/webservice.png)
+
+If you are facing a **Web-service is not listening** to error in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer, there could be several reasons for this. To troubleshoot the issue, you can use the Network tab in your browser's developer tools to gather more information. Here are the steps you can follow:
+
+**Step 1:** Open the browser's developer tools by right-clicking on the page and selecting `Inspect` from the dropdown menu. Then Navigate to the `Network` tab. This will show you all of the requests that are being made by the page.
+
+![Alt text](../images/networktab.png)
+
+**Step 2:** Try to request the web service. If the service is not listening, the request will fail, and you should see an error message in the Network tab. Click on the failing request to see the details of the error, such as the error message or stack trace. This can help you identify the root cause of the issue. Check the server logs for any errors or warnings that may indicate the cause of the issue and help you to troubleshoot the problem.
+
+**Step 3:** Check the request URL and parameters to see if they are correct. If there is a type or an incorrect parameter, the web service may be unable to process the request.
+
+By following these steps and using the Network tab in your browser's developer tools, you can gather more information about the issue and troubleshoot the problem more effectively.
+
+N> Make sure you are connected to the internet and that your connection is stable. You can try accessing other websites or services to see if they are working, and make sure the URL you are using to access the web service is correct and properly formatted.
+
+## Here are some common exceptions
+
+* File not found.
+* Document cache not found.
+* Document pointer does not exist in the cache.
+
+## File not found
+
+If you are encountering an error message stating that the web service is not listening due to a file not being found in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF viewer, you can try the following steps to resolve the issue:
+
+### Check the file path
+
+Ensure that the file path you use to access the PDF file is correct and that the file exists in that location. You will need to update the file path if the file does not exist.
+
+## Document cache not found
+
+The `Document cache not found` exception in Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer typically occurs when the cache used to store the rendered pages of a PDF document is not found or has been deleted. This can happen if the cache directory is changed or deleted or if the application is running in a different environment than it was previously.
+
+### Check for multiple instances
+
+It's possible that you have multiple instances of the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer running simultaneously, which can cause issues with the document cache. To check for this, open the Task Manager on your computer and look for any instances of the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer running. If you find multiple instances, try closing them all and reopening the viewer.
+
+We can use Redis cache and distributive cache for this issue.
+
+### Check your network connection
+
+Ensure that your network connection is stable and strong enough to support the web service you are trying to use. Sometimes, simply restarting the web service can resolve the issue. Try stopping and starting the service again to see if it resolves the problem.
+
+## The document pointer does not exist in the cache.
+
+The `Document pointer does not exist in the cache` exception in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer usually occurs when there is an issue with loading or caching the PDF document. This error can be caused by a variety of reasons, including:
+
+To clear this error in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer, you can try the following steps:
+
+**Step 1:** Clearing the cache may help resolve the issue. To clear the cache, navigate to the cache location, which can be found in the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer's settings or configuration files. Once you locate the cache folder, delete its contents.
+
+**Step 2:** Try reloading the document to ensure it is loaded correctly. You can do this by calling the controller's Load() method. Ensure the document is not already loaded before attempting to load it again.
+
+**Step 3:** Restart the application. If clearing the cache does not work, you can try restarting the PDF Viewer application. This will reload all the necessary components and may resolve the error.
+
+## Internal server error
+
+Server-side exceptions happen for various use cases. We can't just define them if they are document-specific, provide the document, or you may need to contact Syncfusion<sup style="font-size:70%">&reg;</sup> support for further assistance.
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/Outputwindowwitherrormessage.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/Outputwindowwitherrormessage.png
new file mode 100644
index 000000000..46543bf47
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/Outputwindowwitherrormessage.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/aspnet-core-template.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/aspnet-core-template.png
new file mode 100644
index 000000000..fe111c139
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/aspnet-core-template.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-application-template.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-application-template.png
new file mode 100644
index 000000000..426b53101
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-application-template.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-client-template.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-client-template.png
new file mode 100644
index 000000000..a4d49081c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-client-template.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-create-new-project.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-create-new-project.png
new file mode 100644
index 000000000..1a901e144
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-create-new-project.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-explorer.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-explorer.png
new file mode 100644
index 000000000..72f9986ed
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-explorer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-package.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-package.png
new file mode 100644
index 000000000..e8f7d3119
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-nuget-package.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-calibrate-in-toolbar.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-calibrate-in-toolbar.png
new file mode 100644
index 000000000..85842a33f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-calibrate-in-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-new-comment.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-new-comment.png
new file mode 100644
index 000000000..1e5a5e729
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-new-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-shape-in-toolbar.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-shape-in-toolbar.png
new file mode 100644
index 000000000..45a1de248
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-shape-in-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stamp-in-toolbar.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stamp-in-toolbar.png
new file mode 100644
index 000000000..07cb5d68f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stamp-in-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stickynotes-in-toolbar.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stickynotes-in-toolbar.png
new file mode 100644
index 000000000..2ec55b6f2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-add-stickynotes-in-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-adding-signature.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-adding-signature.png
new file mode 100644
index 000000000..6b424cb97
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-adding-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-bookmark-navigation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-bookmark-navigation.png
new file mode 100644
index 000000000..593baaffe
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-bookmark-navigation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-annotation.png
new file mode 100644
index 000000000..c786e2dbf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-fillcolor.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-fillcolor.png
new file mode 100644
index 000000000..437bee39b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-fillcolor.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-opacity.png
new file mode 100644
index 000000000..63887c9a6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-property.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-property.png
new file mode 100644
index 000000000..be805e468
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-property.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scale-dialog.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scale-dialog.png
new file mode 100644
index 000000000..eed16a731
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scale-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scaleratio.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scaleratio.png
new file mode 100644
index 000000000..58de6abc1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scaleratio.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-stroke-color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-stroke-color.png
new file mode 100644
index 000000000..d99487e00
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-stroke-color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-thickness.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-thickness.png
new file mode 100644
index 000000000..2316d30c0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-thickness.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-editing.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-editing.png
new file mode 100644
index 000000000..998eddb98
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-editing.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-status.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-status.png
new file mode 100644
index 000000000..d075ee674
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comment-status.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comments.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comments.png
new file mode 100644
index 000000000..ec38f88ec
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-comments.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-stamp.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-stamp.png
new file mode 100644
index 000000000..7784e1e2a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-stamp.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-toolbar.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-toolbar.png
new file mode 100644
index 000000000..638719b9b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-custom-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-comments.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-comments.png
new file mode 100644
index 000000000..acc568f8c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-comments.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-signature.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-signature.png
new file mode 100644
index 000000000..a11314e06
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-delete-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-download-option.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-download-option.png
new file mode 100644
index 000000000..2bdb333f2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-download-option.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-button.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-button.png
new file mode 100644
index 000000000..4011a6d4f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-button.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-fill-color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-fill-color.png
new file mode 100644
index 000000000..a4ff973c1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-fill-color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-family.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-family.png
new file mode 100644
index 000000000..323d2abc6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-family.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-size.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-size.png
new file mode 100644
index 000000000..2018709bd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-size.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-style.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-style.png
new file mode 100644
index 000000000..58984eb7e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-style.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-line-property.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-line-property.png
new file mode 100644
index 000000000..f752b1980
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-line-property.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-shape-stroke-color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-shape-stroke-color.png
new file mode 100644
index 000000000..810c826fa
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-shape-stroke-color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-sticknotes-comment.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-sticknotes-comment.png
new file mode 100644
index 000000000..1cb1e9ea3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-sticknotes-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-text-opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-text-opacity.png
new file mode 100644
index 000000000..c20199d06
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-edit-text-opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-stickynotes.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-stickynotes.png
new file mode 100644
index 000000000..7657ba1fd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-stickynotes.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-text-color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-text-color.png
new file mode 100644
index 000000000..4ba6a8f2b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-editing-text-color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-export-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-export-annotation.png
new file mode 100644
index 000000000..55a026718
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-export-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-border-thickness.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-border-thickness.png
new file mode 100644
index 000000000..8ce590afb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-border-thickness.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-opacity.png
new file mode 100644
index 000000000..22b25c75c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-stroke.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-stroke.png
new file mode 100644
index 000000000..bd03ac640
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-font-stroke.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-form-filling.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-form-filling.png
new file mode 100644
index 000000000..e7bb7baa8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-form-filling.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-free-text-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-free-text-annotation.png
new file mode 100644
index 000000000..b6de5972b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-free-text-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-handwritten-sign.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-handwritten-sign.png
new file mode 100644
index 000000000..0465ec8cd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-handwritten-sign.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-context.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-context.png
new file mode 100644
index 000000000..13b6cdf7a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-context.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-text.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-text.png
new file mode 100644
index 000000000..ef44f4ebd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-hyperlink-navigation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-hyperlink-navigation.png
new file mode 100644
index 000000000..0dbbe3ff8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-hyperlink-navigation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-import-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-import-annotation.png
new file mode 100644
index 000000000..42c1bc9b6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-import-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-imported-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-imported-annotation.png
new file mode 100644
index 000000000..4aea7c63a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-imported-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-magnification.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-magnification.png
new file mode 100644
index 000000000..b9bd6e66c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-magnification.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-nuget-package.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-nuget-package.png
new file mode 100644
index 000000000..02b27ac32
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-nuget-package.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-navigation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-navigation.png
new file mode 100644
index 000000000..eda9c9427
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-navigation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-thumbnail-navigation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-thumbnail-navigation.png
new file mode 100644
index 000000000..7666bd0e2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-page-thumbnail-navigation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-print.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-print.png
new file mode 100644
index 000000000..cb81f0517
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-search-nuget-package.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-search-nuget-package.png
new file mode 100644
index 000000000..bfac391bb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-search-nuget-package.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-select-stamp-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-select-stamp-annotation.png
new file mode 100644
index 000000000..5825ff7d5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-select-stamp-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-annotation.png
new file mode 100644
index 000000000..5dbefe3c8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-opacity.png
new file mode 100644
index 000000000..a6e7ecca3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-thickness.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-thickness.png
new file mode 100644
index 000000000..4e8c5d997
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-shape-thickness.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-show-more-option.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-show-more-option.png
new file mode 100644
index 000000000..5185db5a1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-show-more-option.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-sign-panel.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-sign-panel.png
new file mode 100644
index 000000000..23e4ab794
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-sign-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-field.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-field.png
new file mode 100644
index 000000000..4c1f0e831
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-field.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-panel.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-panel.png
new file mode 100644
index 000000000..bdc0a6208
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-properties.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-properties.png
new file mode 100644
index 000000000..004d21f07
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature-properties.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature.png
new file mode 100644
index 000000000..7998b42a0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-signature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stamp-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stamp-annotation.png
new file mode 100644
index 000000000..efd1f038b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stamp-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-annotation.png
new file mode 100644
index 000000000..311238d5b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-comment.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-comment.png
new file mode 100644
index 000000000..84275be86
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-opacity.png
new file mode 100644
index 000000000..ed421c494
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-in-contextmenu.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-in-contextmenu.png
new file mode 100644
index 000000000..314335bfe
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-in-contextmenu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-text.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-text.png
new file mode 100644
index 000000000..988c2d5f4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-alignment.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-alignment.png
new file mode 100644
index 000000000..72aabcf1a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-alignment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-fill-color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-fill-color.png
new file mode 100644
index 000000000..0b729e8cc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-fill-color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-markup-annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-markup-annotation.png
new file mode 100644
index 000000000..b6c7297cb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-markup-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-search.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-search.png
new file mode 100644
index 000000000..6f6924d9c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-text-search.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-title-of-content.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-title-of-content.png
new file mode 100644
index 000000000..09d9d2906
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-title-of-content.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-context-menu.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-context-menu.png
new file mode 100644
index 000000000..b9e870dd3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-context-menu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-text.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-text.png
new file mode 100644
index 000000000..aea095a1e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer-underline-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer.png
new file mode 100644
index 000000000..27589690a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configuration.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configuration.png
new file mode 100644
index 000000000..0d2e09a5c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configuration.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configurations.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configurations.png
new file mode 100644
index 000000000..61b56a387
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-project-configurations.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-app-with-addition-information.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-app-with-addition-information.png
new file mode 100644
index 000000000..c41ebdc0b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-app-with-addition-information.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-template.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-template.png
new file mode 100644
index 000000000..5873cf9e8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-server-template.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-template.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-template.png
new file mode 100644
index 000000000..368268d02
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-template.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-webassembly-app-with-addition-information.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-webassembly-app-with-addition-information.png
new file mode 100644
index 000000000..a1fd1035c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/blazor-webassembly-app-with-addition-information.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/clientError.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/clientError.png
new file mode 100644
index 000000000..1b80e4557
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/clientError.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/customfont-files.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/customfont-files.png
new file mode 100644
index 000000000..e8ce2b7f5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/customfont-files.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/customization-final.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/customization-final.png
new file mode 100644
index 000000000..26fea1178
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/customization-final.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/customselector.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/customselector.png
new file mode 100644
index 000000000..ddafa2273
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/customselector.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/delete_button.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/delete_button.png
new file mode 100644
index 000000000..06b0efcfb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/delete_button.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_color.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_color.png
new file mode 100644
index 000000000..d459a5969
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_color.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_opacity.png
new file mode 100644
index 000000000..e896207e2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/edit_opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/fontcolor.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/fontcolor.png
new file mode 100644
index 000000000..72f7e1ad9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/fontcolor.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/frame-work.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/frame-work.png
new file mode 100644
index 000000000..86a3cd44d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/frame-work.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/highlight_button.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/highlight_button.png
new file mode 100644
index 000000000..ba19da701
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/highlight_button.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/highlighttext.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/highlighttext.png
new file mode 100644
index 000000000..f8c605675
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/highlighttext.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/hyperlink.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/hyperlink.png
new file mode 100644
index 000000000..0287b1389
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/hyperlink.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/import-cdn.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/import-cdn.png
new file mode 100644
index 000000000..b5ac00804
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/import-cdn.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_annotation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_annotation.png
new file mode 100644
index 000000000..7ce0fcf53
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_opacity.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_opacity.png
new file mode 100644
index 000000000..536d9d09e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_opacity.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_strokecolor.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_strokecolor.png
new file mode 100644
index 000000000..3e0cb2bc6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_strokecolor.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_thickness.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_thickness.png
new file mode 100644
index 000000000..924b494d4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_thickness.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_tool.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_tool.png
new file mode 100644
index 000000000..d2ed042c4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/ink_tool.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/load-font-collection.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/load-font-collection.png
new file mode 100644
index 000000000..9e6b7d81c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/load-font-collection.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/navigation.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/navigation.png
new file mode 100644
index 000000000..298ecc854
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/navigation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/networktab.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/networktab.png
new file mode 100644
index 000000000..60befbf97
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/networktab.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/pan.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/pan.png
new file mode 100644
index 000000000..4e5173f7d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/pan.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/pdfviewer-digitalsignature.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/pdfviewer-digitalsignature.png
new file mode 100644
index 000000000..09352bbf6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/pdfviewer-digitalsignature.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/project-configuration.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/project-configuration.png
new file mode 100644
index 000000000..a5b02bdbe
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/project-configuration.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/search.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/search.png
new file mode 100644
index 000000000..a4ed625e6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/search.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget-client.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget-client.png
new file mode 100644
index 000000000..e5b68eedb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget-client.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget.png
new file mode 100644
index 000000000..1d1443b74
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/select-nuget.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/selection.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/selection.png
new file mode 100644
index 000000000..f5d9c7141
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/selection.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/strikethrough_button.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/strikethrough_button.png
new file mode 100644
index 000000000..a59ce9306
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/strikethrough_button.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/thumnail.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/thumnail.png
new file mode 100644
index 000000000..e4c8b680b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/thumnail.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/toolbar-customization.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/toolbar-customization.png
new file mode 100644
index 000000000..92105369c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/toolbar-customization.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/underline_button.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/underline_button.png
new file mode 100644
index 000000000..86ced536c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/underline_button.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/webservice.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/webservice.png
new file mode 100644
index 000000000..5dea7153a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/webservice.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/zoom.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/zoom.png
new file mode 100644
index 000000000..48504449f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/blazor/images/zoom.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/interaction.md b/Document-Processing/PDF/PDF-Viewer/blazor/interaction.md
new file mode 100644
index 000000000..079f793c0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/interaction.md
@@ -0,0 +1,89 @@
+---
+layout: post
+title: Interaction mode in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about interaction mode in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Interaction mode in Blazor PDF Viewer Component
+
+The built-in toolbar of PDF Viewer contains the following two interaction options:
+
+* Selection mode
+* Panning mode
+
+## Selection mode
+
+In this mode, the text selection can be performed in the PDF document loaded in the PDF Viewer. It allows users to select and copy text from the PDF files. This is helpful for copying and sharing text content.
+
+N> The panning and scrolling of the pages by touch cannot be performed in this mode.
+
+You can enable or disable text selection by setting the `EnableTextSelection` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableTextSelection="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+## Panning mode
+
+In this mode, the panning and scrolling of the pages can be performed in the PDF document loaded in the PDF Viewer, but the text selection cannot be performed.
+
+You can change the interaction mode of PDF Viewer using the `InteractionMode` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" InteractionMode="InteractionMode.Pan"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+## Disable interaction with Annotations
+
+You can disable the annotation interactions such as dragging, resizing, deleting the annotations by using the `IsLock` property of `AnnotationSettings`.
+
+The following code illustrates how to disable the annotation interaction.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewer
+
+<SfButton OnClick="@OnClick">Lock Annotation</SfButton>
+<SfPdfViewer @ref="PDFViewer" DocumentPath="@DocumentPath" ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer">
+</SfPdfViewer>
+
+@code{
+    SfPdfViewer PDFViewer;
+
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        //Gets the annotation collection of the PDF Viewer.
+        var allAnnots = await PDFViewer.GetAnnotationsAsync();
+
+        foreach (var item in allAnnots)
+        {
+            //Disabling the interaction with annotation.
+            item.AnnotationSettings.IsLock = true;
+            await PDFViewer.EditAnnotationAsync(item);
+        }
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Annotations/FAQs/Lock%20annotations).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/magnification.md b/Document-Processing/PDF/PDF-Viewer/blazor/magnification.md
new file mode 100644
index 000000000..545388098
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/magnification.md
@@ -0,0 +1,99 @@
+---
+layout: post
+title: Magnification in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about magnification in Syncfusion Blazor PDF Viewer component and much more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Magnification in Blazor PDF Viewer Component
+
+The built-in toolbar of PDF Viewer contains the following zooming options:
+
+* **Zoom** **In**: Increases the zoom value (document magnification) from the current value by preset levels.
+* **Zoom** **Out**: Decreases the zoom value from the current value by preset levels.
+* **Zoom** **To**: Magnifies the pages to the specified zoom value.
+* **Fit** **Page**: Fits the page entirely in the available document view port size.
+* **Fit** **Width**: Fits the page to the width of the view port size.
+
+![Magnification in Blazor PDFViewer](images/blazor-pdfviewer-magnification.png)
+
+You can enable or disable the magnification option in PDF Viewer default toolbar by setting the `EnableMagnification` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableMagnification="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+Also, you can programmatically perform zooming operations as follows.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Inputs
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomInClick">Zoom In</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomOutClick">Zoom Out</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfTextBox @ref="@TextBox"></SfTextBox>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomClick">Zoom</SfButton>
+</div>
+<div style="display:inline-block;">
+    <SfButton OnClick="OnFitPageClick">Fit To Page</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnFitWidthClick">Fit To Width</SfButton>
+</div>
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code{
+    SfPdfViewerServer Viewer;
+    SfTextBox TextBox;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public void OnZoomInClick(MouseEventArgs args)
+    {
+        Viewer.ZoomIn();
+    }
+
+    public void OnZoomOutClick(MouseEventArgs args)
+    {
+        Viewer.ZoomOut();
+    }
+
+    public void OnFitPageClick(MouseEventArgs args)
+    {
+        Viewer.FitToPage();
+    }
+
+    public void OnZoomClick(MouseEventArgs args)
+    {
+        double zoomValue =  double.Parse(TextBox.Value.ToString());
+        Viewer.ZoomTo(zoomValue);
+    }
+
+    public void OnFitWidthClick(MouseEventArgs args)
+    {
+        Viewer.FitToWidth();
+    }
+}
+```
+
+N> PDF Viewer can support zoom value ranges from 10% to 400%.
+
+N> You can refer to our [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/migration.md b/Document-Processing/PDF/PDF-Viewer/blazor/migration.md
new file mode 100644
index 000000000..410c7e640
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/migration.md
@@ -0,0 +1,230 @@
+---
+layout: post
+title: Migration from PDF Viewer (Classic) to PDF Viewer | Syncfusion
+description: This section explains the features available in the PDF Viewer control compared to PDF Viewer (Classic).
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Migration from PDF Viewer (Classic) to PDF Viewer
+
+## Why PDF Viewer (Classic) to PDF Viewer control
+
+The migration to the PDF Viewer control brings a host of benefits, including improved performance in scrolling, pagination, and printing. These enhancements result in a smoother and more efficient user experience. Additionally, this migration eliminates the need for a Web assembly service dependency, streamlining the system and enhancing maintainability.
+
+* **Enhanced Performance**:
+With the PDF Viewer control, users can expect significant improvements in performance. Scrolling through documents, navigating pages, and printing operations are now optimized for efficiency. Users will experience seamless and fluid interactions, ensuring a more productive and satisfying workflow.
+
+* **Elimination of Web Assembly Service Dependency**:
+The migration to the PDF Viewer control removes the requirement for a Web assembly service dependency.
+
+* **Unified Package for Multiple Platforms**:
+The PDF Viewer control is now available as a unified package for Windows, Mac, and Linux platforms. This means that regardless of their operating system, users can effortlessly install and utilize the package.
+
+### Nuget Package
+
+To initialize the PDF Viewer component, need to add the following project references to your **.csproj** file
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".csproj" hl_lines="4 7" %}
+
+<ItemGroup>
+
+	<!-- If you are using a Web Assembly application, include the following line in the .csproj file -->
+	<PackageReference Include="Syncfusion.Blazor.PdfViewer"/>
+
+    <!-- If you are using a Server Assembly application, include the following line in the .csproj file -->
+	<!--<PackageReference Include="Syncfusion.Blazor.PdfViewerServer"/>-->
+		
+</ItemGroup>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".csproj" hl_lines="2" %}
+
+<ItemGroup>
+    <PackageReference Include="Syncfusion.Blazor.SfPdfViewer"/>
+</ItemGroup>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Script File
+
+To utilize the PDF Viewer component in your project, need to add the corresponding script file to the **Host.cshtml** or **Layout.cshtml** file based on your framework version.
+
+N> The script file is same for `Server application` and `Web assembly application` for PDF Viewer component
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight html tabtitle="(~/Layout.cshtml/Host.cshtml)" hl_lines="5" %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.PdfViewer/scripts/syncfusion-blazor-pdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight html tabtitle="(~/Layout.cshtml/Host.cshtml)" hl_lines="5" %}
+
+<head>
+    <!-- Syncfusion Blazor SfPdfViewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor SfPdfViewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Program.cs
+
+Add the following line to the **Program.cs** file to use the PDF Viewer component
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="1" %}
+
+builder.Services.AddSyncfusionBlazor();
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="1 4" %}
+
+builder.Services.AddSyncfusionBlazor();
+
+// If you are using a WebAssembly application, include the following line in the Program.cs file
+// builder.Services.AddMemoryCache();
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Index.razor
+
+To render the PDF Viewer component, add the following code in the **Index.razor** file.
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="Index.razor" hl_lines="2 5" %}
+
+@* If you are using a Web Assembly application, include the following line in the Index.razor file*@
+<SfPdfViewer DocumentPath="PDF_Succinctly.pdf" ServiceUrl="api/pdfviewer" Height="100%" Width="100%"></SfPdfViewer>
+
+@* If you are using a Server Assembly application, include the following line in the Index.razor file
+<SfPdfViewerServer DocumentPath="PDF_Succinctly.pdf" Height="100%" Width="100%"></SfPdfViewerServer>*@
+
+{% endhighlight %}
+{% endtabs %}
+
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="Index.razor" %}
+
+<SfPdfViewer2 DocumentPath="PDF_Succinctly.pdf" Height="100%" Width="100%"></SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Project.cs
+
+When using the PDF Viewer in a WebAssembly application, need to include the following lines in your **.csproj** file to ensure proper functionality and compatibility 
+
+<table>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="csproj" hl_lines="2 6 7" %}
+<ItemGroup>
+    <NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\2.0.23\*.a" />
+</ItemGroup>
+
+<PropertyGroup>
+	<WasmNativeStrip>true</WasmNativeStrip>
+	<WasmBuildNative>true</WasmBuildNative>
+</PropertyGroup>
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+N> If you are WebAssembly application install [SkiaSharp.NativeAssets.WebAssembly](https://www.nuget.org/packages/SkiaSharp.NativeAssets.WebAssembly) NuGet package.
+
+N> If you encounter issues while attempting to host the application in certain environments, such as Azure app services, install [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) instead of [SkiaSharp.NativeAssets.WebAssembly](https://www.nuget.org/packages/SkiaSharp.NativeAssets.WebAssembly) Nuget package.
+
+## See also
+
+* [Getting Started with Blazor SfPdfViewer Component in Blazor Server App](./getting-started/server-side-application)
+
+* [Getting Started with Blazor SfPdfViewer Component in Blazor WASM App](./getting-started/web-assembly-application)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/navigation.md b/Document-Processing/PDF/PDF-Viewer/blazor/navigation.md
new file mode 100644
index 000000000..b36241329
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/navigation.md
@@ -0,0 +1,204 @@
+---
+layout: post
+title: Navigation in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about navigation in Syncfusion Blazor PDF Viewer component and much more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Navigation in Blazor PDF Viewer Component
+
+You can navigate between pages in Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer in the following ways:
+
+* Scroll through the pages.
+* Click Go to pages in the built-in toolbar.
+* Click the desired bookmark in bookmark pane.
+* Click the desired page in thumbnail pane.
+* Click hyperlink and table of contents.
+
+## Page navigation
+
+The built-in toolbar of PDF Viewer contains the following page navigation tools:
+
+* **First** **Page**: Navigates you to the first page in the document.
+* **Last** **Page**: Navigates you to the last page in the document.
+* **Next** **Page**: Scrolls forwards through pages, one page at a time.
+* **Go** **To**: Allows you to quickly jump to the desired page number.
+* **Previous** **Page**: Scrolls backwards through pages, one page at a time.
+
+![Blazor PDFViewer with Page Navigation](images/blazor-pdfviewer-page-navigation.png)
+
+You can enable or disable the page navigation option in PDF Viewer default toolbar by setting the `EnableNavigation` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableNavigation="false" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+Also, you can programmatically perform page navigation as follows.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Inputs
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnFirstPageClick">Go To First Page</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnLastPageClick">Go To Last Page</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnNextPageClick">Go To Next Page</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfTextBox @ref="@TextBox"></SfTextBox>
+</div>
+<div style="display:inline-block;">
+    <SfButton OnClick="OnPageClick">Go To Page</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnPreviousPageClick">Go To Previous Page</SfButton>
+</div>
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code{
+    SfPdfViewerServer Viewer;
+    SfTextBox TextBox;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public void OnFirstPageClick(MouseEventArgs args)
+    {
+        Viewer.GoToFirstPage();
+    }
+
+    public void OnLastPageClick(MouseEventArgs args)
+    {
+        Viewer.GoToLastPage();
+    }
+
+    public void OnNextPageClick(MouseEventArgs args)
+    {
+        Viewer.GoToNextPage();
+    }
+
+    public void OnPageClick(MouseEventArgs args)
+    {
+        double pageIndex =  double.Parse(TextBox.Value.ToString());
+        Viewer.GoToPage(pageIndex);
+    }
+
+    public void OnPreviousPageClick(MouseEventArgs args)
+    {
+        Viewer.GoToPreviousPage();
+    }
+}
+```
+
+## Bookmark navigation
+
+The bookmarks saved in PDF files are loaded and listed in the bookmark pane (in the left navigation pane). The users can jump to areas of interest by clicking the desired bookmark easily.
+
+![Blazor PDFViewer with Bookmark Navigation](images/blazor-pdfviewer-bookmark-navigation.png)
+
+You can enable or disable the bookmark navigation pane by setting the `EnableBookmark` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableBookmarkPanel="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Page thumbnail navigation
+
+Page thumbnails is the miniature representation of actual pages in the PDF files. This feature displays thumbnails of the pages and represents a link to the respective pages. Clicking a page thumbnail will display the respective page in the document view.
+
+![Blazor PDFViewer with Page Thumbnail Navigation](images/blazor-pdfviewer-page-thumbnail-navigation.png)
+
+You can enable or disable the thumbnail navigation pane by setting the `EnableThumbnail` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableThumbnailPanel="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+### Open thumbnail panel programmatically
+
+You can view the thumbnail navigation initially while loading the PDF document in the PDFViewer using the `IsThumbnailPanelOpen` property.
+
+The following code illustrates how to open thumbnail panel programmatically.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<!--IsThumbnailPanelOpen property will enable the thumbnail panel on initial rendering itself-->
+<SfPdfViewerServer @ref="@PDFViewer" DocumentPath="@DocumentPath" IsThumbnailPanelOpen="true" Height="894px" Width="100%"> </SfPdfViewerServer>
+
+@code{
+    public SfPdfViewerServer PDFViewer { get; set; }
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Thumbnail/Show%20Thumbnail%20Panel).
+
+## Hyperlink navigation
+
+Hyperlink navigation features enables navigation to the URLs (website links) in a PDF file.
+
+![Blazor PDFViewer Hyperlink Navigation](images/blazor-pdfviewer-hyperlink-navigation.png)
+
+## Table of content navigation
+
+Table of contents navigation allows users to navigate to different parts of a PDF file that are listed in the table of contents section.
+
+![Table of Content in Blazor PDFViewer](images/blazor-pdfviewer-title-of-content.png)
+
+You can enable or disable both hyperlink and table of content navigation by setting the `EnableHyperlink` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableHyperlink="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+You can set the target attribute for a hyperlink in PDF Viewer using the `HyperlinkOpenState` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableHyperlink="true" HyperlinkOpenState="LinkTarget.NewTab"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/opening-pdf-file.md b/Document-Processing/PDF/PDF-Viewer/blazor/opening-pdf-file.md
new file mode 100644
index 000000000..9020cc59d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/opening-pdf-file.md
@@ -0,0 +1,203 @@
+---
+title: "Opening PDF file in Blazor PDF Viewer Component | Syncfusion"
+component: "PDF Viewer"
+description: "This page helps you to learn about how to load PDF files from various locations in Syncfusion Blazor PDF Viewer."
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Open PDF files in PDF Viewer for Blazor from various storage location
+
+You might need to open and view the PDF files from various location. In this section, you can find the information about how to open PDF files from URL, Cloud, database, local file system, and as base64 string.
+
+## Opening a PDF from URL
+
+If you have your PDF files in the web, you can open it in the viewer using URL.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" Width="1060px" Height="500px" />
+
+@code {
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string Url = "https://s3.amazonaws.com/files2.syncfusion.com/dtsupport/directtrac/general/pd/HTTP_Succinctly-1719682472.pdf";
+        System.Net.WebClient webClient = new System.Net.WebClient();
+        byte[] byteArray = webClient.DownloadData(Url);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20PDF%20file%20from%20URL)
+
+## Opening a PDF from Cloud
+
+You can open the PDF file from Cloud storage.
+
+The following code example shows how to open and load the PDF file stored in Azure Blob Storage.
+
+```cshtml
+@using Azure.Storage.Blobs
+@using Azure.Storage.Blobs.Specialized
+@using System.IO;
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" Width="1060px" Height="500px" />
+
+@code {
+    public string DocumentPath { get; set; }
+    public void blobLoad(MouseEventArgs args)
+    {
+        //Connection String of Storage Account
+        string connectionString = "Here Place Your Connection string";
+        BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
+        //Container Name
+        string containerName = "pdf-file";
+        //File Name to be loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer
+        string fileName = "Python_Succinctly.pdf";
+        BlobContainerClient blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
+        BlockBlobClient blockBlobClient = blobContainerClient.GetBlockBlobClient(fileName);
+        MemoryStream memoryStream = new MemoryStream();
+        blockBlobClient.DownloadTo(memoryStream);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(memoryStream.ToArray());
+    }
+}
+```
+
+N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
+
+```cshtml
+@using Azure.Storage.Files.Shares
+@using System.IO;
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" Width="1060px" Height="500px" />
+
+@code {
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    protected override void OnInitialized()
+    {
+        //Connection String of Storage Account
+        string connectionString = "Here Place Your Connection string";
+        string shareName = "pdfdocument";
+        //File Name to be loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer
+        string filePath = "Hive_Succinctly.pdf";
+        ShareFileClient shareFileClient = new ShareFileClient(connectionString, shareName, filePath);
+        Stream stream = shareFileClient.OpenRead();
+        byte[] bytes;
+        using (var memoryStream = new MemoryStream())
+        {
+            stream.CopyTo(memoryStream);
+            bytes = memoryStream.ToArray();
+        }
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(bytes);
+    }
+}
+```
+
+N> The **Azure.Storage.Files.Shares** NuGet package must be installed in your application to use the previous code example.
+
+## Opening a PDF from database
+
+The following code example shows how to open the PDF file in viewer from SQL Server database.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer DocumentPath="@DocumentPath" Width="1060px" Height="500px" />
+
+@code {
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string documentID = "PDF Succinctly";
+        string connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Database.mdf;";
+        System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString);
+        //Searches for the PDF document from the database
+        string query = "select Data from Table where DocumentName = '" + documentID + "'";
+        System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(query, connection);
+        connection.Open();
+        System.Data.SqlClient.SqlDataReader read = command.ExecuteReader();
+        read.Read();
+        //Reads the PDF document data as byte array from the database
+        byte[] byteArray = (byte[])read["Data"];
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }
+}
+```
+
+N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
+
+## Opening a PDF from file system
+
+There is an UI option in built-in toolbar to open the PDF file from local file system. If you want to achieve the same functionality while designing your own toolbar, you can use the following code example to load and open the PDF file. In this sample, the Syncfusion&reg; Uploader control is used for Blazor.
+
+```cshtml
+@using Syncfusion.Blazor.Inputs
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfUploader ID="UploadFiles" AllowedExtensions=".pdf,.PDF">
+    <UploaderEvents FileSelected="onsuccess"></UploaderEvents>
+</SfUploader>
+<SfPdfViewerServer @ref="@Viewer" Width="1060px" Height="500px" />
+
+@code {
+    SfPdfViewerServer Viewer;
+    public void onsuccess(SelectedEventArgs action)
+    {
+        string filePath = action.FilesData[0].RawFile.ToString();
+        Viewer.Load(filePath, null);
+    }
+}
+```
+
+## Opening a PDF from base64 data
+
+The following code snippet explains how the PDF file can be loaded in PDF Viewer as base64 string.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer ID="pdfviewer" DocumentPath="@DocumentPath" Width="1060px" Height="500px"/>
+
+@code {
+    static byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/data/PDF_Succinctly.pdf");
+    static string base64String = Convert.ToBase64String(byteArray);
+    public string DocumentPath { get; set; } = "data:application/pdf;base64," + base64String;
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20file%20from%20base%2064%20string)
+
+## Opening a PDF from stream
+
+You can load a PDF file from stream in PDF Viewer by converting the stream into a base64 string. The following code sample explains how the PDF file can be loaded in PDF Viewer from stream.
+
+```csharp
+@using Syncfusion.Blazor.PdfViewerServer
+@using System.IO;
+
+<SfPdfViewerServer ID="pdfviewer" DocumentPath="@DocumentPath" Width="1060px" Height="500px"/>
+
+@code{
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string filePath = "wwwroot/data/PDF_Succinctly.pdf";
+        FileStream fileStream = new FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
+        MemoryStream stream = new MemoryStream();
+        fileStream.CopyTo(stream);
+        byte[] byteArray = stream.ToArray();
+        string base64String = Convert.ToBase64String(byteArray);
+        DocumentPath = "data:application/pdf;base64," + base64String;
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20file%20from%20memory%20stream)
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/print.md b/Document-Processing/PDF/PDF-Viewer/blazor/print.md
new file mode 100644
index 000000000..ff75efbde
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/print.md
@@ -0,0 +1,46 @@
+---
+layout: post
+title: Print in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about print in Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Print in Blazor PDF Viewer Component
+
+The PDF Viewer supports printing the loaded PDF file by default. You can enable or disable printing by setting the `EnablePrint` property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnablePrint="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+![Printing in Blazor PDFViewer](images/blazor-pdfviewer-print.png)
+
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Print</SfButton>
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer"/>
+
+@code{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    public void OnClick(MouseEventArgs args)
+    {
+        Viewer.Print();
+    }
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/saving-pdf-file.md b/Document-Processing/PDF/PDF-Viewer/blazor/saving-pdf-file.md
new file mode 100644
index 000000000..445f67e38
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/saving-pdf-file.md
@@ -0,0 +1,107 @@
+---
+layout: post
+title: Saving PDF file in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about saving PDF file in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Saving PDF file in Blazor PDF Viewer Component
+
+After editing the PDF file with various annotation tools, you will need to save the updated PDF to the server, database, or local file system.
+
+## Save PDF file to Server
+
+You might need to save the PDF file back to the server.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using System.IO
+
+<SfButton OnClick="OnClick">Save</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px"></SfPdfViewerServer>
+
+@code{  
+    SfPdfViewerServer viewer;
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocument();
+        //PDF document file stream
+        Stream stream = new MemoryStream(data);
+        using (var fileStream = new FileStream(@"wwwroot/Data/PDF_Succinctly_Updated.pdf", FileMode.Create, FileAccess.Write))
+        {
+            //Saving the new file in root path of application
+            stream.CopyTo(fileStream);
+            fileStream.Close();
+        }
+        stream.Close();
+    }
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Save PDF file to Database
+
+If you have plenty of PDF files stored in database and you want to save the updated PDF file back to the database, use the following code example.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+@using System.Data.SqlClient
+
+<SfButton OnClick="OnClick">Save</SfButton>
+<SfPdfViewerServer DocumentPath="@DocumentPath" @ref="viewer" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+
+@code{
+    SfPdfViewerServer viewer;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        string DocumentName = "PDF_Succinctly";
+        byte[] data = await viewer.GetDocument();
+        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\database.mdf;";
+        string queryStmt = "Update PDFFiles SET Content = @Content where DocumentName = '" + DocumentName + "'";
+        using (SqlConnection con = new SqlConnection(connectionString))
+        {
+            using (SqlCommand cmd = new SqlCommand(queryStmt, con))
+            {
+                SqlParameter param = cmd.Parameters.Add("@Content", System.Data.SqlDbType.VarBinary);
+                param.Value = data;
+                con.Open();
+                cmd.ExecuteNonQuery();
+                con.Close();
+            }
+        }
+
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Download PDF file as a copy
+
+In the built-in toolbar, you have an option to download the updated PDF to the local file system, you can use it to download the PDF file.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfButton @onclick="OnClick">Download</SfButton>
+<SfPdfViewerServer @ref="@viewer" Height="500px" Width="1060px" DocumentPath="@DocumentPath" />
+
+@code{
+SfPdfViewerServer viewer;
+public void OnClick(MouseEventArgs args)
+{
+    viewer.Download();
+}
+public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/text-search.md b/Document-Processing/PDF/PDF-Viewer/blazor/text-search.md
new file mode 100644
index 000000000..96bf1bda2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/text-search.md
@@ -0,0 +1,78 @@
+---
+layout: post
+title: Text Search in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about text search in Syncfusion Blazor PDF Viewer component and much more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Text Search in Blazor PDF Viewer Component
+
+You can find the specified text content in the PDF document using the built-in options provided with the toolbar. On initiating the search operation, the control searches for the specified text and highlights all the occurrences in the pages.
+
+![Text Search in Blazor PDFViewer](images/blazor-pdfviewer-text-search.png)
+
+You can enable or disable the text search by setting the `EnableTextSearch` API.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" EnableTextSearch="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+Also, you can programmatically perform search operation as given in the following code example.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.Buttons
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchClick">Search Text</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchNext">Search Next</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchPrevious">Search Previous</SfButton>
+</div>
+<div style="display:inline-block">
+    <SfButton OnClick="OnCancelSearch">Cancel Search</SfButton>
+</div>
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code{
+    SfPdfViewerServer Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public void OnSearchClick(MouseEventArgs args)
+    {
+        //Here PDF is to be serached from the loaded document
+        Viewer.SearchText("pdf", false);
+    }
+
+    public void OnSearchNext(MouseEventArgs args)
+    {
+        Viewer.SearchNext();
+    }
+
+    public void OnSearchPrevious(MouseEventArgs args)
+    {
+        Viewer.SearchPrevious();
+    }
+
+    public void OnCancelSearch(MouseEventArgs args)
+    {
+        Viewer.CancelTextSearch();
+    }
+}
+```
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap5) to understand how to explain core features of PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/toolbar-customization.md b/Document-Processing/PDF/PDF-Viewer/blazor/toolbar-customization.md
new file mode 100644
index 000000000..32a4b694a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/toolbar-customization.md
@@ -0,0 +1,363 @@
+---
+layout: post
+title: Toolbar Customization in Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn here all about toolbar customization in Syncfusion Blazor PDF Viewer component and more.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> recommends using [Blazor PDF Viewer (NextGen)](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) Component which provides fast rendering of pages and improved performance. Also, there is no need of external Web service for processing the files and ease out the deployment complexity. It can be used in Blazor Server, WASM and MAUI applications without any changes.
+
+# Toolbar Customization in Blazor PDF Viewer Component
+
+The PDF Viewer comes with a powerful built-in toolbar with the following important options,
+* Open PDF file
+* Page navigation
+* Magnification
+* Pan tool
+* Text selection tool
+* Text search
+* Print
+* Download
+* Undo and redo
+* Various annotation tools
+* Bookmark panel
+* Thumbnail panel
+
+![Blazor PDFViewer with Custom Toolbar](./images/blazor-pdfviewer-custom-toolbar.png)
+
+## Show or hide toolbar
+
+At times, you might need to create your own toolbar. In that case, you need to hide the built-in toolbar. For that customization purpose, the PDF Viewer control provides an option to show or hide the main (top) toolbar either by using the `EnableToolbar` property or `ShowToolbar` method.
+
+The following code snippet explains how to show or hide toolbar using the EnableToolbar property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer EnableToolbar="false" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+```
+
+The following code snippet explains how to show or hide toolbar using the ShowToolbar method.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfButton @onclick="OnClick">Hide Toolbar</SfButton>
+<SfPdfViewerServer Width="1060px" Height="500px" @ref="@pdfViewer" DocumentPath="@DocumentPath">
+</SfPdfViewerServer>
+
+@code{
+
+   SfPdfViewerServer pdfViewer;
+   public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public void OnClick(MouseEventArgs args)
+    {
+        pdfViewer.ShowToolbar(false);
+    }
+}
+```
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Toolbar/Custom%20Toolbar/Custom%20toolbar).
+
+## Show or hide navigation toolbar
+
+Navigation toolbar is the side bar, which contains the options to expand and collapse the bookmark panel and page thumbnail panel. This navigation toolbar visibility can be toggled either by using the `EnableNavigationToolbar` property or `ShowNavigationToolbar` method.
+
+The following code snippet explains how to show or hide navigation toolbar using the EnableNavigationToolbar property.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfPdfViewerServer EnableNavigationToolbar="false" Width="1060px" Height="500px">
+</SfPdfViewerServer>
+```
+
+The following code snippet explains how to show or hide navigation toolbar using the ShowNavigationToolbar method.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfButton @onclick="OnClick">Hide Navigation Toolbar</SfButton>
+<SfPdfViewerServer EnableNavigationToolbar="true" Width="1060px" Height="500px" @ref="@pdfViewer" DocumentPath="@DocumentPath">
+</SfPdfViewerServer>
+
+@code{
+
+    SfPdfViewerServer pdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public void OnClick(MouseEventArgs args)
+    {
+        pdfViewer.ShowNavigationToolbar(false);
+    }
+}
+```
+
+## Show or hide the toolbar item
+
+You can show or hide the toolbar items using the “PdfViewerToolbarSettings” class. The following code snippet explains how to show only the desired options in the toolbar. The resultant PDF Viewer’s toolbar will have these options - Open file, magnification tools, comment tool, and download option.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer Width="1060px" Height="500px" DocumentPath="@DocumentPath">
+    <PdfViewerToolbarSettings ToolbarItems="ToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewerServer>
+
+@code{
+
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    List<ToolbarItem> ToolbarItems = new List<ToolbarItem>()
+    {
+        ToolbarItem.PageNavigationTool,
+        ToolbarItem.MagnificationTool,
+        ToolbarItem.CommentTool,
+        ToolbarItem.SelectionTool,
+        ToolbarItem.PanTool,
+        ToolbarItem.UndoRedoTool,
+        ToolbarItem.CommentTool,
+        ToolbarItem.AnnotationEditTool,
+        ToolbarItem.SearchOption,
+        ToolbarItem.PrintOption,
+        ToolbarItem.DownloadOption
+    };
+}
+```
+
+## Show or hide annotation toolbar
+
+Annotation toolbar appears below the main toolbar, which contains the options to edit the annotations. This annotation toolbar visibility can be toggled either by using the `EnableAnnotationToolbar` or `ShowAnnotationToolbar` method.
+
+The following code snippet explains how to show or hide annotation toolbar using the ShowAnnotationToolbar method.
+
+```cshtml
+@using Syncfusion.Blazor.PdfViewerServer
+@using Syncfusion.Blazor.PdfViewer
+
+<SfPdfViewerServer @ref="viewer" Width="1000" Height="700" DocumentPath="@documentPath">
+    <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewerServer>
+
+@code{
+
+    private string documentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";    
+
+    SfPdfViewerServer viewer;
+
+    //Invokes while loading document in the PDFViewer. 
+    public void DocumentLoad(LoadEventArgs args)
+    {
+        //Shows the annotation toolbar on initial loading.
+        viewer.ShowAnnotationToolbar(true);
+        //Code to hide the annoatation toolbar.
+        //viewer.ShowAnnotationToolbar(false);
+    }
+
+}
+```
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Toolbar/Annotation%20Toolbar/Show%20or%20hide%20on%20loading).
+
+N> You can refer to the [Blazor PDF Viewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor PDF Viewer example](https://blazor.syncfusion.com/demos/pdf-viewer/default-functionalities?theme=bootstrap4) to understand how to explain core features of PDF Viewer.
+
+## How to create custom Toolbar with Save option
+
+You can create your own Toolbar in PDFViewer by disabling the default toolbar using the EnableNavigationToolbar, EnableAnnotationToolbar, and EnableToolbar properties of PDFViewer class.
+
+The following code represnts how to create custom toolbar with save and some custom options.
+
+```cshtml
+@using Syncfusion.Blazor.Navigations
+@using Syncfusion.Blazor.PdfViewer
+@using Syncfusion.Blazor.PdfViewerServer
+
+<SfToolbar>
+    <ToolbarItems>
+        <ToolbarItem PrefixIcon="e-pv-previous-page-navigation-icon" TooltipText="Previous Page" id="previousPage" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left OnClick="@previousClicked"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-next-page-navigation-icon" TooltipText="Next Page" id="nextPage" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left OnClick="@nextClicked"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-zoom-in-icon" TooltipText="Zoom in" id="zoomIn" OnClick="@zoomInClicked"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-zoom-out-icon" TooltipText="Zoom out" id="zoomOut" OnClick="@zoomoutClicked"></ToolbarItem>
+        <ToolbarItem Text="Save" TooltipText="Save Document" id="save" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right OnClick="@save"></ToolbarItem>
+        <ToolbarItem Text="Edit Annotation" TooltipText="Annotation Toolbar" id="annotation" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right OnClick="@annotations"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-print-document-icon" TooltipText="Print" id="print" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right OnClick="@print"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-download-document-icon" TooltipText="Download" id="Download" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Right OnClick="@download"></ToolbarItem>
+    </ToolbarItems>
+</SfToolbar>
+
+<SfPdfViewerServer @ref="PDFViewer" CommentPanelVisible="true" DocumentPath="PDF_Succinctly.pdf" ServiceUrl="https://ej2services.syncfusion.com/production/web-services/api/pdfviewer" EnableNavigationToolbar="false" EnableToolbar="false"  Height="100%" Width="100%"></SfPdfViewerServer>
+
+@code
+{
+    SfPdfViewerServer PDFViewer;
+
+    public void nextClicked(ClickEventArgs args)
+    {
+        //Navigate to next page of the PDF document loaded in the PDF Viewer.
+        PDFViewer.GoToNextPageAsync();
+    }
+
+    public void previousClicked(ClickEventArgs args)
+    {
+        //Navigate to previous page of the PDF document.
+        PDFViewer.GoToPreviousPageAsync();
+    }
+
+    MemoryStream stream;
+    public async void save(ClickEventArgs args)
+    {
+       //Gets the loaded PDF document with the changes.
+        byte[] data = await PDFViewer.GetDocumentAsync();
+        //Save the PDF document to a MemoryStream.
+        stream = new MemoryStream(data);
+        //Load a PDF document from the MemoryStream.
+        await PDFViewer.LoadAsync(stream);
+    }
+
+    public void annotations(ClickEventArgs args)
+    {
+        //Shows or hides the annotation toolbar in the PDF Viewer.
+        PDFViewer.ShowAnnotationToolbar(true);
+    }
+
+    public void print(ClickEventArgs args)
+    {
+        //Print the PDF document being loaded in the PDF Viewer.
+        PDFViewer.PrintAsync();
+    }
+
+    public void download(ClickEventArgs args)
+    {
+        //Downloads the PDF document being loaded in the PDF Viewer.
+        PDFViewer.DownloadAsync();
+    }
+
+    public void zoomInClicked(ClickEventArgs args)
+    {
+        //Scale the page to the next value in the zoom drop down list.
+        PDFViewer.ZoomInAsync();
+    }
+
+    public void zoomoutClicked(ClickEventArgs args)
+    {
+        //Magnifies the page to the previous value in the zoom drop down list.
+        PDFViewer.ZoomOutAsync();
+    }
+}
+
+<style>
+     .e-pv-previous-page-navigation-icon::before {
+        content: '\e70d';
+    }
+    .e-pv-next-page-navigation-icon::before {
+        content: '\e76a';
+    }
+    
+   .e-pv-download-document-icon::before {
+        content: '\e75d';
+    }
+    .e-pv-print-document-icon::before {
+        content: '\e743';
+    }
+      .e-pv-zoom-out-icon::before {
+        content: '\e742';
+    }
+    .e-pv-zoom-in-icon::before {
+        content:  '\e755';
+    }
+    .e-pv-fit-page::before {
+        content: '\e91b';
+    }
+</style>
+```
+![Blazor PDFViewer with Custom Toolbar](./images/toolbar-customization.png)
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Toolbar/Custom%20Toolbar/Custom%20toolbar%20with%20save%20option).
+
+The following sample mimics all the options of the PDF Viewer default toolbar in a custom toolbar along with the save button.
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Toolbar/Custom%20Toolbar/Custom%20toolbar).
+
+## Customize the toolbar icon in Blazor PDF Viewer Component
+
+You can customize the appearance of the toolbar icons by disabling the default toolbar and creating custom toolbar with template. The below code illustrates how to create custom toolbar with custom toolbar icon.
+
+```cshtml
+@using Syncfusion.Blazor.Navigations;
+@using Syncfusion.Blazor.PdfViewer;
+@using Syncfusion.Blazor.PdfViewerServer;
+
+<!--Created custom toolbar with desired set of features such as page navigations, zoom options and stamp button-->
+<SfToolbar>
+    <ToolbarItems>
+        <ToolbarItem PrefixIcon="e-pv-previous-page-navigation-icon" TooltipText="Previous Page" id="previousPage" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left OnClick="@previousClicked"></ToolbarItem>
+        <ToolbarItem PrefixIcon="e-pv-next-page-navigation-icon" TooltipText="Next Page" id="nextPage" Align=@Syncfusion.Blazor.Navigations.ItemAlign.Left OnClick="@nextClicked"></ToolbarItem>
+        <ToolbarItem TooltipText="Stamp" id="stamp" OnClick="@stampClicked"> <Template>
+        <img width="30" height="30" src="Data/stamp.png" /> </Template> </ToolbarItem>
+    </ToolbarItems>
+</SfToolbar>
+
+<!--Rendering PDF Viewer with custom toolbar by disabling the default toolbar-->
+<SfPdfViewerServer @ref="PDFViewer" DocumentPath="@DocumentPath" EnableNavigationToolbar="false" EnableAnnotationToolbar="false" EnableToolbar="false" Height="800px" Width="100%">
+    <PdfViewerCustomStampSettings CustomStamps="@pdfViewerCustomStamps">
+    </PdfViewerCustomStampSettings>
+</SfPdfViewerServer>
+
+@code
+{
+    SfPdfViewerServer PDFViewer;
+
+    //Sets the PDF document path for initial loading.
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    
+    public List<PdfViewerCustomStamp> pdfViewerCustomStamps { get; set; }
+
+    public void nextClicked(ClickEventArgs args)
+    {
+        //Navigate to next page of the PDF document loaded in the PDF Viewer.
+        PDFViewer.GoToNextPageAsync();
+    }
+
+    public void stampClicked(ClickEventArgs args)
+    {
+        pdfViewerCustomStamps = new List<PdfViewerCustomStamp>()
+        {
+            new PdfViewerCustomStamp()
+            {
+                //Defines the custom stamp name to be added in stamp menu of the PDF Viewer toolbar.
+                CustomStampName = "Stamp",                
+            }
+        };
+
+    }
+
+    public void previousClicked(ClickEventArgs args)
+    {
+        //Navigate to previous page of the PDF document.
+        PDFViewer.GoToPreviousPageAsync();
+    }
+}
+<style>
+    .e-pv-previous-page-navigation-icon::before {
+        content: '\e70d';
+     }
+    .e-pv-next-page-navigation-icon::before {
+          content: '\e76a';
+      }     
+    .e-pv-stamp-icon::before {
+        content: '\e74c';
+    }
+</style>
+Footer
+```
+![Blazor PDFViewer with Custom Toolbar](./images/customization-final.png)
+
+N> [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-classic-examples/tree/master/Toolbar/Custom%20Toolbar/Custom%20toolbar%20with%20PNG%20image).
+
+N> This is applicable only for custom toolbar.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Add-SignaturePad-signatures-to-Syncfusion-Flutter-PdfViewer.md b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Add-SignaturePad-signatures-to-Syncfusion-Flutter-PdfViewer.md
new file mode 100644
index 000000000..0b4c8b8c8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Add-SignaturePad-signatures-to-Syncfusion-Flutter-PdfViewer.md
@@ -0,0 +1,179 @@
+---
+layout: post
+title: Add digital signature in SfPdfViewer using SfSignaturePad | Syncfusion
+description: Learn here all about how to add SfSignaturePad signatures in the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# How to Add a Digital Signature in SfPdfViewer Using SfSignaturePad?
+
+In this example, we have added the signature drawn on the [SfSignaturePad](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePad-class.html) to the document in [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) with the help of the [Syncfusion<sup>&reg;</sup> PDF Library](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/pdf-library.html#classes).
+
+In the `_handleSigningProcess()` method, the signature in the SfSignaturePad is saved as an image using the [toImage()](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/toImage.html) method. A [PdfSignatureField()](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/PdfSignatureField-class.html) is created, and the signature image is added as a digital signature in the PDF document using the [drawImage()](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/PdfGraphics/drawImage.html) method in the [Syncfusion<sup>&reg;</sup> PDF Library](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/pdf-library.html#classes), then saving the document as bytes. The saved document bytes are loaded using the [SfPdfViewer.memory()](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.memory.html). The following code example explains the same.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'dart:ui' as ui;
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:syncfusion_flutter_pdf/pdf.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+import 'package:syncfusion_flutter_signaturepad/signaturepad.dart';
+
+void main() {
+  return runApp(const SignaturePadApp());
+}
+
+class SignaturePadApp extends StatelessWidget {
+  const SignaturePadApp({super.key});
+  @override
+  Widget build(BuildContext context) {
+    return const MaterialApp(
+      home: _MyHomePage(),
+    );
+  }
+}
+
+@immutable
+class _MyHomePage extends StatefulWidget {
+  const _MyHomePage({super.key});
+
+  @override
+  _MyHomePageState createState() => _MyHomePageState();
+}
+
+class _MyHomePageState extends State<_MyHomePage> {
+  final GlobalKey<SfSignaturePadState> _signaturePadGlobalKey = GlobalKey();
+  Uint8List? _documentBytes;
+
+  @override
+  void initState() {
+    super.initState();
+    _loadDocument();
+  }
+
+  Future<void> _loadDocument() async {
+    final ByteData docBytes = await rootBundle.load("assets/sample.pdf");
+    _documentBytes = docBytes.buffer.asUint8List();
+    setState(() {});
+  }
+
+  // Add the signature in the PDF document.
+  void _handleSigningProcess() async {
+    // Save the signature as a PNG image.
+    final data =
+        await _signaturePadGlobalKey.currentState!.toImage(pixelRatio: 3.0);
+    final bytes = await data.toByteData(format: ui.ImageByteFormat.png);
+    final ByteData docBytes = await rootBundle.load("assets/sample.pdf");
+    final Uint8List documentBytes = docBytes.buffer.asUint8List();
+    ByteData certBytes = await rootBundle.load("assets/certificate.pfx");
+    final Uint8List certificateBytes = certBytes.buffer.asUint8List();
+
+    // Load the document
+    PdfDocument document = PdfDocument(inputBytes: documentBytes);
+
+    // Get the first page of the document. The page where the signature needs to be added.
+    PdfPage page = document.pages[0];
+
+    // Create a digital signature and set the signature information.
+    PdfSignatureField signatureField = PdfSignatureField(page, 'signature',
+        bounds: const Rect.fromLTRB(300, 500, 550, 700),
+        signature: PdfSignature(
+            // Create a certificate instance from the PFX file with a private key.
+            certificate: PdfCertificate(certificateBytes, 'password123'),
+            contactInfo: 'johndoe@owned.us',
+            locationInfo: 'Honolulu, Hawaii',
+            reason: 'I am the author of this document.',
+            digestAlgorithm: DigestAlgorithm.sha256,
+            cryptographicStandard: CryptographicStandard.cms));
+
+    // Get the signature field appearance graphics.
+    PdfGraphics? graphics = signatureField.appearance.normal.graphics;
+
+    // Draw the signature image on the PDF page.
+    graphics?.drawImage(PdfBitmap(bytes!.buffer.asUint8List()),
+        const Rect.fromLTWH(0, 0, 250, 200));
+
+    // Add a signature field to the form.
+    document.form.fields.add(signatureField);
+
+    _documentBytes = Uint8List.fromList(document.saveSync());
+    document.dispose();
+    setState(() {});
+  }
+
+  // Clear the signature in the SfSignaturePad.
+  void _handleClearButtonPressed() {
+    _signaturePadGlobalKey.currentState!.clear();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+        appBar: AppBar(
+          title: const Text('PDF Viewer with Signature Pad'),
+        ),
+        body: Column(
+          children: [
+            Expanded(
+              child: _documentBytes != null
+                  ? SfPdfViewer.memory(
+                      _documentBytes!,
+                    )
+                  : const Center(child: CircularProgressIndicator()),
+            ),
+            Container(
+              height: 170,
+              decoration: BoxDecoration(border: Border.all(color: Colors.grey)),
+              child: Column(
+                mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                children: [
+                  Padding(
+                    padding: const EdgeInsets.all(10.0),
+                    child: Container(
+                      height: 100,
+                      width: 300,
+                      decoration:
+                          BoxDecoration(border: Border.all(color: Colors.grey)),
+                      child: SfSignaturePad(
+                          key: _signaturePadGlobalKey,
+                          backgroundColor: Colors.white,
+                          strokeColor: Colors.black,
+                          minimumStrokeWidth: 1.0,
+                          maximumStrokeWidth: 4.0),
+                    ),
+                  ),
+                  Row(
+                    mainAxisAlignment: MainAxisAlignment.center,
+                    children: <Widget>[
+                      Padding(
+                        padding: const EdgeInsets.fromLTRB(0, 0, 30, 0),
+                        child: ElevatedButton(
+                          onPressed: _handleSigningProcess,
+                          child:
+                              const Text('Add Signature and Load the Document'),
+                        ),
+                      ),
+                      ElevatedButton(
+                        onPressed: _handleClearButtonPressed,
+                        child: const Text('Clear'),
+                      ),
+                    ],
+                  )
+                ],
+              ),
+            )
+          ],
+        ));
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![PDF Viewer with Signature Pad](images/pdfviewer-with-signaturepad.jpg)
+
+To learn more about adding a digital signature to a PDF document, please refer [here](https://help.syncfusion.com/flutter/pdf/working-with-digital-signature).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Render-pages-using-pdfium-android.md b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Render-pages-using-pdfium-android.md
new file mode 100644
index 000000000..67afc0048
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Render-pages-using-pdfium-android.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: Rendering PDF pages using PDFium on Android| Syncfusion
+description: You can learn all about rendering PDF pages using the PDFium library on Android devices running API levels below 35 with the SfPdfViewer widget.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+keywords: flutter pdf viewer, flutter view pdf, pdf viewer in flutter, flutter open pdf, flutter pdf view
+---
+
+# How to render PDF pages using PDFium on Android?
+
+The Syncfusion<sup>&reg;</sup> Flutter PDF Viewer allows users to render PDF pages using the PDFium library on Android devices running API levels below 35 through an optional package, [syncfusion_pdfviewer_android](https://pub.dev/packages/syncfusion_pdfviewer_android).
+
+This optional package significantly enhances the loading performance of large password-protected PDF files on Android devices running API levels below 35, with performance improvements of up to approximately 13 times faster.
+
+To render PDF pages using PDFium on Android devices running API levels below 35, add the `syncfusion_pdfviewer_android` dependency in the `pubspec.yaml` file.
+
+{% highlight dart %}
+
+dependencies:
+
+syncfusion_flutter_pdfviewer: ^xx.x.xx 
+syncfusion_pdfviewer_android: ^xx.x.xx
+
+{% endhighlight %}
+
+N> Here, **xx.x.xx** denotes the current version of the [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_pdfviewer/versions) package. Please ensure that the `syncfusion_pdfviewer_android` package uses the same version as `syncfusion_flutter_pdfviewer`.
+
+N> The `syncfusion_pdfviewer_android` package is supported from version 29.2.10 onwards.
+
+N> `PdfRenderer` will be used to render PDF pages on Android devices running API level 35 and above, even if the `syncfusion_pdfviewer_android` dependency is included.
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Resolve-Library-not-loaded-rpath-libswiftCore-dylib-error.md b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Resolve-Library-not-loaded-rpath-libswiftCore-dylib-error.md
new file mode 100644
index 000000000..19ecb805e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/Resolve-Library-not-loaded-rpath-libswiftCore-dylib-error.md
@@ -0,0 +1,18 @@
+---
+layout: post
+title: Library not loaded error | Syncfusion
+description: Learn here all about how to resolve Library not loaded error faced when using Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# How to Resolve "Library not loaded: @rpath/libswiftCore.dylib" Error?
+
+The Syncfusion<sup>&reg;</sup> Flutter PDF Viewer is an [FFI plugin](https://docs.flutter.dev/packages-and-plugins/developing-packages#types) that uses native code to render the PDF pages. **Java** code is used for **Android**, and **Swift** code is used for **iOS and macOS**. To run the Swift code, the runtime requires the essential Swift standard libraries present in the Runpath **“usr/lib/swift.”** If this path is missing from the **Runpath Search Paths** of the project build settings, you will face the error **"Library not loaded: @rpath/libswiftCore.dylib."**
+ 
+Usually, the **"usr/lib/swift"** path will be added automatically to the **Runpath Search Paths** when you add the Syncfusion<sup>&reg;</sup> Flutter PDF Viewer (SfPdfViewer) package and build the application. But in some cases, due to the machine-specific environment, this path doesn't get added, and so this issue occurs.
+ 
+To overcome this issue, you are suggested to add the **"usr/lib/swift"** path to the **Runpath Search Paths** manually in the project build settings. Find and edit the **Runpath Search Paths** option by opening the project in **XCode** and then going to **Build Settings -> Linking -> Runpath Search Paths**. Please find the Runpath search path option screenshot in the following project build settings.
+
+![XCode Runpath Search Paths](images/xcode-runpath-search-paths.jpg)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/custom-widget-on-flutterflow.md b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/custom-widget-on-flutterflow.md
new file mode 100644
index 000000000..78a993f7c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/custom-widget-on-flutterflow.md
@@ -0,0 +1,120 @@
+---
+layout: post
+title: PDF Viewer Widget in FlutterFlow | Syncfusion
+description: You can learn here all about adding Syncfusion® Flutter Pdf Viewer (SfPdfViewer) widget in FlutterFlow.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+keywords: flutter pdf viewer, flutter view pdf, pdf viewer in flutter, flutter open pdf, flutter pdf view
+---
+
+# How to Add Syncfusion<sup>&reg;</sup> PDF Viewer in FlutterFlow?
+
+## Overview
+
+[FlutterFlow](https://app.flutterflow.io/dashboard) enables you to create native applications using its graphical interface, reducing the need to write extensive amounts of code. Additionally, it offers the capability to include custom widgets that are not included in the default [FlutterFlow](https://app.flutterflow.io/dashboard) widget collection. This article explains how to incorporate the SfPdfViewer widget as a custom widget in [FlutterFlow](https://app.flutterflow.io/dashboard).
+
+### Create a New Project
+
+Navigate to the [FlutterFlow dashboard](https://app.flutterflow.io/dashboard) and click the `+ Create New` button to create a new project.
+
+### Creating the Custom Widget
+
+1. Navigate to the `Custom Code` section in the left-side navigation menu.
+2. Click on the `+ Add` button to open a dropdown menu, then select `Widget`.
+3. Update the widget name as desired.
+4. Click the `View Boilerplate Code` button on the right side, represented by this icon `[</>]`.
+5. A popup will appear with startup code; locate the button labeled `</> Copy to Editor` and click on it.
+6. Save the widget.
+
+![Custom Widget](images/custom-widget.png)
+
+### Add PDF Viewer Widget as a Dependency
+
+1. Click on `+ Add Dependency`, a text editor will appear.
+2. Navigate to [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) on [pub.dev](https://pub.dev/) and copy the dependency name and version using the `Copy to Clipboard` option.
+![Version](images/copy-version.png)
+3. Paste the copied dependency into the text editor, then click `Refresh` and `Save`.
+
+>**Note**: The live version of [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) has been migrated to the latest version of the Flutter SDK. To ensure compatibility, check [FlutterFlow](https://app.flutterflow.io/dashboard)'s current Flutter version and obtain the corresponding version of [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) by referring to the [SDK compatibility](https://help.syncfusion.com/flutter/system-requirements#sdk-version-compatibility).
+
+![Dependency](images/dependency.png)
+
+>**Note**: If you are using an older version of a dependency instead of the latest one, remove the caret symbol (^) prefix in the version number after pasting the dependency. For example, change `^21.3.0` to `21.3.0`.
+
+>**Note**: Since [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) depends on the [Syncfusion<sup>&reg;</sup> Flutter Core](https://pub.dev/packages/syncfusion_flutter_core) package, make sure to add it as a dependency following the same steps mentioned above.
+
+### Import the Package
+
+1. Navigate to the `Installing` tab on the [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) page. Under the `Import it` section, copy the package import statement.
+![Package](images/copy-package.png)
+2. Paste the copied import statement into the code editor and then `Save`.
+![Import](images/import-package-flutterflow.png)
+
+### Add Widget Code Snippet in Code Editor
+
+1. Navigate to the [Example](https://pub.dev/packages/syncfusion_flutter_PdfViewer/example) tab in [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_PdfViewer) and copy the widget-specific codes.
+![Code](images/code-snippet.png)
+2. Paste the copied code sample into the code editor, click `Format Code`, and `Save`.
+![Code snippet](images/Adding-code-snippent.png)
+
+### Compiling the Codes
+
+1. Click the 'Compile Code' button located in the top right corner.
+2. If there are no errors, save the process. If errors are present, fix them and compile the code again. Once the code has been successfully compiled, save the process.
+
+![Compile code](images/compile-code.png)
+
+>**Note**: The compilation progress takes 2 to 3 minutes to complete.
+
+### Create Custom Action to Import pdf.js Script
+
+1. Click the `+ Add` button to open a dropdown menu, then select `Action`.
+2. Update the action name as desired, say `importPdfjsScript`.
+3. Add the below action code to import the pdf.js script.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'package:flutter/foundation.dart';
+import 'package:web/web.dart' as web;
+
+Future importPdfjsScript() async {
+  // Check if the platform is web
+  if (!kIsWeb) return;
+  // Create a script element to import pdf.js library
+  final script = web.document.createElement('script') as web.HTMLScriptElement
+    ..type = 'text/javascript'
+    ..charset = 'utf-8'
+    ..async = true
+    ..src = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js';
+  // Add the script to the head tag
+  web.document.querySelector('head')!.appendChild(script);
+  await script.onLoad.first.timeout(const Duration(seconds: 10));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+4. Save the action.
+5. Compile the code.
+
+![Custom Action](images/custom-action.png)
+
+### Utilizing the Custom Action
+
+1. Click on the main.dart file under the Custom Files section.
+2. Add the `importPdfjsScript` action as Initial Action.
+3. Save the file.
+
+![main.dart](images/add-custom-action.png)
+
+### Utilizing the Custom Widget
+
+1. Navigate to the `Widget Palette` located in the left-side navigation menu.
+2. Click on the `Components` tab.
+3. Your custom widget will be under `Custom Code Widgets`. Drag and drop the custom widget onto your page.
+
+![Page](images/page.png)
+
+>**Note**: Since the SfPdfViewer depends on the pdf.js library on the web platform, the preview of the widget will not be displayed in the FlutterFlow editor. To view the widget, run the application on a web platform.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/Adding-code-snippent.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/Adding-code-snippent.png
new file mode 100644
index 000000000..46db33de4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/Adding-code-snippent.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/add-custom-action.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/add-custom-action.png
new file mode 100644
index 000000000..f92f2b73b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/add-custom-action.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/code-snippet.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/code-snippet.png
new file mode 100644
index 000000000..22f9667be
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/code-snippet.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/compile-code.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/compile-code.png
new file mode 100644
index 000000000..9a937df5d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/compile-code.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-package.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-package.png
new file mode 100644
index 000000000..3bc923a73
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-package.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-version.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-version.png
new file mode 100644
index 000000000..735373ef0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/copy-version.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-action.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-action.png
new file mode 100644
index 000000000..3bf3c507a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-action.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-widget.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-widget.png
new file mode 100644
index 000000000..675534438
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/custom-widget.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/dependency.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/dependency.png
new file mode 100644
index 000000000..14daf5de9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/dependency.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/import-package-flutterflow.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/import-package-flutterflow.png
new file mode 100644
index 000000000..897f359d8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/import-package-flutterflow.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/page.png b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/page.png
new file mode 100644
index 000000000..b65432dbd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/page.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/pdfviewer-with-signaturepad.jpg b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/pdfviewer-with-signaturepad.jpg
new file mode 100644
index 000000000..cfa405db7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/pdfviewer-with-signaturepad.jpg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/xcode-runpath-search-paths.jpg b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/xcode-runpath-search-paths.jpg
new file mode 100644
index 000000000..87b73c7a2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/How-to/images/xcode-runpath-search-paths.jpg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/accessibility.md b/Document-Processing/PDF/PDF-Viewer/flutter/accessibility.md
new file mode 100644
index 000000000..f117b612f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/accessibility.md
@@ -0,0 +1,134 @@
+---
+layout: post
+title: Accessibility in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about the accessibility feature of the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Accessibility in Flutter PDF Viewer (SfPdfViewer)
+
+## Screen Reader
+
+The [`SfPdfViewer`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) can be accessed by screen readers by wrapping the [`SfPdfViewer`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget with the [`Semantics`](https://api.flutter.dev/flutter/widgets/Semantics-class.html) widget.
+
+{% tabs %}
+{% highlight dart hl_lines="4 5 6 7 8 9" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    body: Semantics(
+      label: 'Flutter PDF Viewer',
+      child:
+         SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf'),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Sufficient Contrast
+
+The `SfPdfViewer` [theming](https://help.syncfusion.com/flutter/themes) support provides a consistent and standardized appearance, as well as the ability to set the colors for all UI elements.
+
+The following APIs allow you to customize the colors of the following elements:
+* [searchTextHighlightColor](https://help.syncfusion.com/flutter/pdf-viewer/text-search#customize-the-search-text-highlight-color)
+* [selectionColor and selectionHandleColor](https://help.syncfusion.com/flutter/pdf-viewer/text-selection#customize-the-text-selection-and-its-handle-color)
+
+## Large Fonts
+
+The font size of the [`SfPdfViewer`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) will be automatically scaled based on the device settings. 
+
+Also, you can change the font size of the [`SfPdfViewer`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) elements using the following APIs:
+
+* [`Pagination dialog style`](https://pub.dev/documentation/syncfusion_flutter_core/latest/theme/SfPdfViewerThemeData/paginationDialogStyle.html)
+* [`Bookmark view style`](https://pub.dev/documentation/syncfusion_flutter_core/latest/theme/SfPdfViewerThemeData/bookmarkViewStyle.html)
+* [`Scroll head style`](https://pub.dev/documentation/syncfusion_flutter_core/latest/theme/SfPdfViewerThemeData/scrollHeadStyle.html)
+* [`Scroll status style`](https://pub.dev/documentation/syncfusion_flutter_core/latest/theme/SfPdfViewerThemeData/scrollStatusStyle.html)
+
+## Keyboard Navigation
+
+The `SfPdfViewer` supports the following keyboard interactions:
+
+<table>
+  <tr>
+    <th style="text-align:left" colspan="1">Action</th>
+    <th>Windows</th>
+    <th>Macintosh</th>
+    <th>Linux</th>
+  </tr>
+  <tr>
+    <th style="text-align:left" colspan="4">Shortcuts for Page Navigation</th>
+  </tr>
+  <tr>
+    <td>Navigate to the first page</td>
+    <td>Home</td>
+    <td>Function+Left arrow</td>
+    <td>Home</td>
+  </tr>
+  <tr>
+    <td>Navigate to the last page</td>
+    <td>End</td>
+    <td>Function+Right arrow</td>
+    <td>End</td>
+  </tr>
+  <tr>
+    <td>Navigate to the previous page</td>
+    <td>Left arrow</td>
+    <td>Left arrow</td>
+    <td>Left arrow</td>
+  </tr>
+  <tr>
+    <td>Navigate to the next page</td>
+    <td>Right arrow</td>
+    <td>Right arrow</td>
+    <td>Right arrow</td>
+  </tr>
+  <tr>
+    <th style="text-align:left" colspan="4">Shortcuts for Zooming</th>
+  </tr>
+  <tr>
+    <td>Perform zoom in operation</td>
+    <td>CONTROL + =</td>
+    <td>COMMAND + =</td> 
+    <td>CONTROL + =</td>
+  </tr>
+  <tr>
+    <td>Perform zoom out operation</td>
+    <td>CONTROL + -</td>
+    <td>COMMAND + -</td>
+    <td>CONTROL + -</td>
+  </tr>
+  <tr>
+    <td>Reset the zoom level to 1</td>
+    <td>CONTROL + 0</td>
+    <td>COMMAND + 0</td>
+    <td>CONTROL + 0</td>
+  </tr>
+  <tr>
+    <th style="text-align:left" colspan="4">Shortcut for Text Search</th>
+  </tr>
+  <tr>
+    <td>Open the search toolbar</td>
+    <td>CONTROL + F</td>
+    <td>COMMAND + F</td>
+    <td>CONTROL + F</td>
+  </tr>
+  <tr>
+    <th style="text-align:left" colspan="4">Shortcut for Text Selection</th>
+  </tr>
+  <tr>
+    <td>Copy the selected text</td>
+    <td>CONTROL + C</td>
+    <td>COMMAND + C</td>
+    <td>CONTROL + C</td>
+  </tr>
+</table>
+
+## Easier Touch Targets
+
+The [`SfPdfViewer`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) has a touch target of 48 x 48, as per the standard for all elements.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/add-remove-modify-annotations.md b/Document-Processing/PDF/PDF-Viewer/flutter/add-remove-modify-annotations.md
new file mode 100644
index 000000000..44e862492
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/add-remove-modify-annotations.md
@@ -0,0 +1,185 @@
+---
+layout: post
+title: Add, Remove, and Edit Annotations in Flutter PDF Viewer | Syncfusion
+description: Learn here all about adding, removing, and editing annotations in a PDF document using the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Add, Remove, Edit Annotations in Flutter PDF Viewer (SfPdfViewer)
+
+This section will go through the various functions available in the `SfPdfViewer` for adding, removing, and editing annotations in a PDF document.
+
+## Add Annotations to a PDF Document
+
+This section will go through how to add annotations to a PDF document programmatically.
+
+### Add Annotations Programmatically
+
+You can programmatically add a new annotation to the PDF document by creating an annotation instance and providing it as a parameter to the [addAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/addAnnotation.html) method of the `PdfViewerController` class. The following example shows how to create an instance of a highlight annotation and add it to the PDF document. Similarly, you can create and add other types of annotation.
+
+{% tabs %}
+{% highlight dart hl_lines="11" %}
+
+void addHighlightAnnotation() {
+  // Get the selected text lines.
+  List<PdfTextLine>? textLines =
+      _pdfViewerKey.currentState?.getSelectedTextLines();
+  if (textLines != null && textLines.isNotEmpty) {
+    // Create the highlight annotation.
+    final HighlightAnnotation highlightAnnotation = HighlightAnnotation(
+      textBoundsCollection: textLines,
+    );
+    // Add the annotation to the PDF document.
+    _pdfViewerController.addAnnotation(highlightAnnotation);
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Annotation Added Callback
+
+The callback provided to the [onAnnotationAdded](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationAdded.html) property is triggered when an annotation is successfully added to the PDF document. The following example shows how to use this callback.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8 9" %}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onAnnotationAdded: (Annotation annotation) {
+          print('${annotation.runtimeType} is added successfully');
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Remove Annotations from the PDF Document
+
+This section will go through different methods of removing annotations from a PDF document.
+
+### Remove a Specific Annotation Programmatically
+
+You can programmatically remove an annotation from the document by providing the specific annotation instance as the parameter to the [removeAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/removeAnnotation.html) method of `PdfViewerController`. The following example shows how to remove the first annotation in the annotation collection from a PDF document.
+
+{% tabs %}
+{% highlight dart hl_lines="8" %}
+
+void removeFirstAnnotation() {
+  // Get the list of annotations in the PDF document.
+  List<Annotation> annotations = _pdfViewerController.getAnnotations();
+  if (annotations.isNotEmpty) {
+    // Get the first annotation from the PDF document.
+    Annotation firstAnnotation = annotations.first;
+    // Remove the first annotation from the PDF document.
+    _pdfViewerController.removeAnnotation(firstAnnotation);
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Remove All Annotations
+
+You can programmatically remove all the annotations from a document by calling the [removeAllAnnotations](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/removeAllAnnotations.html) method. The optional `pageNumber` parameter can be used to clear the form field data on a specific page. By default, the pageNumber parameter is 0. Refer to the following code example. 
+
+{% tabs %}
+{% highlight dart hl_lines="3 8" %}
+
+void removeAllAnnotations() {
+  // Remove all the annotations from the PDF document.
+  _pdfViewerController.removeAllAnnotations();
+}
+
+void removeAllAnnotationsInFirstPage() {
+  // Remove all the annotations in the first page of the PDF document.
+  _pdfViewerController.removeAllAnnotations(pageNumber: 1);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Annotation Removed Callback
+
+The callback provided to the [onAnnotationRemoved](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationRemoved.html) property is triggered when an annotation is removed successfully from the PDF document. The following example shows how to use this callback.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8 9" %}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onAnnotationRemoved: (Annotation annotation) {
+          print('${annotation.runtimeType} is removed successfully');
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Edit Annotations
+
+This section will go through different methods of editing annotations in a PDF document programmatically.
+
+### Edit a Specific Annotation
+
+You can edit the properties of an annotation from the document programmatically by accessing the specific annotation instance from the Annotation collection. The following example shows how to edit the first annotation in the annotation collection. Similarly, you can modify the other properties also.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10" %}
+
+void editAnnotation() {
+  // Get the list of annotations in the PDF document.
+  List<Annotation> annotations = _pdfViewerController.getAnnotations();
+
+  if (annotations.isNotEmpty) {
+    // Get the first annotation from the PDF document.
+    Annotation firstAnnotation = annotations.first;
+    // Edit the first annotation in the PDF document.
+    firstAnnotation.color = Colors.red; // Change the color of the annotation.
+    firstAnnotation.opacity = 0.5; // Change the opacity of the annotation.
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Annotation Edited Callback
+
+The callback provided to the [onAnnotationEdited](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationEdited.html) property is triggered when an annotation is edited in the PDF document. The following code sample explains how to use this callback.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8 9 10" %}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onAnnotationEdited: (Annotation annotation) {
+          // Instance of the edited annotation.
+          Annotation editedAnnotation = annotation;
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/annotation-collection.md b/Document-Processing/PDF/PDF-Viewer/flutter/annotation-collection.md
new file mode 100644
index 000000000..22121b002
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/annotation-collection.md
@@ -0,0 +1,40 @@
+---
+layout: post
+title: Annotation Collection in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about annotation collection in the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Annotation Collection in Flutter PDF Viewer widget (SfPdfViewer)
+
+The annotations in the PDF document can be accessed by the [getAnnotations](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/getAnnotations.html) method of the [PdfViewerController](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController-class.html). The return value of the function will have the Annotation collection as soon as the document is loaded in the PDF viewer. The following code example shows how the annotation collection can be accessed.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController();
+
+@override
+Widget build(BuildContext context) {
+  return SfPdfViewer.asset(
+    'assets/annotations.pdf',
+    controller: _pdfViewerController,
+    onDocumentLoaded: (PdfDocumentLoadedDetails details) {
+      final List<Annotation> annotations =
+          _pdfViewerController.getAnnotations();
+      if (annotations.isNotEmpty) {
+        // Gets the first annotation from the collection.
+        final Annotation annotation = annotations.first;
+        if (annotation is HighlightAnnotation) {
+          final Color color = annotation.color;
+          final double opacity = annotation.opacity;
+        }
+      }
+    },
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/annotations-overview.md b/Document-Processing/PDF/PDF-Viewer/flutter/annotations-overview.md
new file mode 100644
index 000000000..5dc1f748e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/annotations-overview.md
@@ -0,0 +1,21 @@
+---
+layout: post
+title: Annotations in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about annotations feature of the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Annotations in Flutter PDF Viewer (SfPdfViewer)
+
+The `SfPdfViewer` allows you to add, remove, and modify annotations in PDF documents. This section will go through the various types and functionalities available in the PDF Viewer for working with annotations.
+
+## Supported Annotation Types
+
+The `SfPdfViewer` supports the following annotation types:
+1. Highlight
+2. Squiggly
+3. Strikethrough
+4. Underline
+5. Sticky Note
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/bookmark-navigation.md b/Document-Processing/PDF/PDF-Viewer/flutter/bookmark-navigation.md
new file mode 100644
index 000000000..e8cf5c29e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/bookmark-navigation.md
@@ -0,0 +1,114 @@
+---
+layout: post
+title: Bookmark navigation in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about bookmark navigation feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Bookmark Navigation in Flutter PDF Viewer (SfPdfViewer)
+
+Navigate to the desired bookmark topics using the default bookmark view or the controller method programmatically.
+
+## Open and Close the Built-in Bookmark View Programmatically
+
+The built-in bookmark view in the `SfPdfViewer` can be opened using the [openBookmarkView](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewerState/openBookmarkView.html) method, and it can be closed either by tapping the close icon or the device's back button. Also, we can close the bookmark programmatically by using the Navigator’s pop method.
+
+* You can use the [isBookmarkViewOpen](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewerState/isBookmarkViewOpen.html) property of the `SfPdfViewerState` class to know whether the built-in bookmark view is open or not.
+
+![Bookmark view](images/bookmark-navigation/bookmark_view.png)
+
+The following code example explains the opening of the built-in bookmark view programmatically.
+
+{% tabs %}
+{% highlight dart hl_lines="1 15" %}
+
+final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          onPressed: () {
+            if (_pdfViewerKey.currentState?.isBookmarkViewOpen ?? false) {
+              print('Bookmark view is opened');
+            } else {
+              print('Bookmark view is closed');
+            }
+          },
+          icon: const Icon(Icons.help_outline),
+        ),
+        IconButton(
+          icon: Icon(
+            Icons.bookmark,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerKey.currentState?.openBookmarkView();
+          },
+        ), 
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      key: _pdfViewerKey,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the Desired Bookmark Topic Programmatically
+
+You can navigate to the desired bookmark topic programmatically using the [jumpToBookmark](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpToBookmark.html) controller method. The following code example explains the same.
+
+N> Import **'package:syncfusion_flutter_pdf/pdf.dart'** in the Dart code if you use the [PdfBookmark](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/PdfBookmark-class.html) parameter.
+
+{% tabs %}
+{% highlight dart hl_lines="23 31 32 33" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfBookmark _pdfBookmark;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: Icon(
+              Icons.arrow_drop_down_circle,
+              color: Colors.white,
+            ),
+            onPressed: () {
+              _pdfViewerController.jumpToBookmark(_pdfBookmark);
+            },
+          ),
+        ],
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        controller: _pdfViewerController,
+        onDocumentLoaded: (PdfDocumentLoadedDetails details) {
+          _pdfBookmark = details.document.bookmarks[0];
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/document-link-annotation.md b/Document-Processing/PDF/PDF-Viewer/flutter/document-link-annotation.md
new file mode 100644
index 000000000..767dac959
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/document-link-annotation.md
@@ -0,0 +1,30 @@
+---
+layout: post
+title: Document link annotation in Flutter PDF Viewer | Syncfusion
+description: Learn here all about document link annotation feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Document Link Annotation in Flutter PDF Viewer (SfPdfViewer)
+
+By default, the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to navigate to the desired topic or position by tapping its document link annotation in the table of contents in a PDF document.
+
+## Enable or Disable the Document Link Annotation Navigation
+
+You can enable or disable the navigation of document link annotations using the [enableDocumentLinkAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/enableDocumentLinkAnnotation.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              enableDocumentLinkAnnotation: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/document-load-callbacks.md b/Document-Processing/PDF/PDF-Viewer/flutter/document-load-callbacks.md
new file mode 100644
index 000000000..fd671a965
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/document-load-callbacks.md
@@ -0,0 +1,81 @@
+---
+layout: post
+title: Document Load Callbacks in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about the document load callbacks in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Document Load Callbacks in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget supports the [onDocumentLoaded](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onDocumentLoaded.html) and [onDocumentLoadFailed](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onDocumentLoadFailed.html) callbacks to notify whether the document has been loaded completely or not.
+
+## Document Loaded Callback
+
+The [onDocumentLoaded](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onDocumentLoaded.html) callback triggers after the `document` is loaded in the `SfPdfViewer`. The document in the [PdfDocumentLoadedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfDocumentLoadedDetails-class.html) will return the loaded [PdfDocument](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/PdfDocument-class.html) instance. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6 7 8" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+    'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+    onDocumentLoaded: (PdfDocumentLoadedDetails details) {
+      print(details.document.pages.count);
+    },
+  ));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Document Load Failed Callback
+
+The [onDocumentLoadFailed](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onDocumentLoadFailed.html) callback triggers when the document loading fails in the `SfPdfViewer`. That is,
+
+* When any corrupted document is loaded.
+* When any password-protected document is loaded with an invalid or empty password.
+* When any improper input source value like a wrong URL or file path is given.
+* When any non-PDF document is loaded.
+
+The [PdfDocumentLoadFailedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfDocumentLoadFailedDetails-class.html) will return the `error` title and `description` message for the failure reason. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="26 27 28" %}
+
+ /// Displays the error message.
+  void showErrorDialog(BuildContext context, String error, String description) {
+    showDialog<dynamic>(
+        context: context,
+        builder: (BuildContext context) {
+          return AlertDialog(
+            title: Text(error),
+            content: Text(description),
+            actions: <Widget>[
+              TextButton(
+                child: const Text('OK'),
+                onPressed: () {
+                  Navigator.of(context).pop();
+                },
+              ),
+            ],
+          );
+        });
+ }
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+    'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+    onDocumentLoadFailed: (PdfDocumentLoadFailedDetails details) {
+        showErrorDialog(context, details.error, details.description);
+    },
+  ));
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/form-filling.md b/Document-Processing/PDF/PDF-Viewer/flutter/form-filling.md
new file mode 100644
index 000000000..ede0ddbf9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/form-filling.md
@@ -0,0 +1,1130 @@
+---
+layout: post
+title: Form filling in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about form filling feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Form filling in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to fill, edit, save, export, and import the AcroForm fields within a PDF document.
+
+To get started quickly, you can also check out our video tutorial below. 
+
+<style>#FlutterSfPdfViewerFormFillingTutorial{width : 90% !important; height: 400px !important }</style> <iframe id='FlutterSfPdfViewerFormFillingTutorial' src='https://www.youtube.com/embed/fX9hwXCXXaA'></iframe>
+
+## Supported form fields
+
+You can load and fill the following form fields in a PDF document using the Flutter PDF Viewer. 
+
+* Text box. 
+* Checkbox. 
+* Radio button. 
+* Combo box. 
+* Signature. 
+* List box.
+
+## Adding or Editing the form data programmatically
+
+Add or edit the form data programmatically in the document using the [getFormFields](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/getFormFields.html) method, which retrieves the form fields collection.
+
+### Adding or Editing text box data
+
+Add or edit the text of the text box programmatically by changing the [text](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextFormField/text.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfTextFormField textbox = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'name')
+              as PdfTextFormField;
+            textbox.text = 'John';          
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding or Editing checkbox data
+
+Check or uncheck the checkbox programmatically by changing the [isChecked](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfCheckboxFormField/isChecked.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfCheckboxFormField checkbox = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'newsletter')
+              as PdfCheckboxFormField;
+            checkbox.isChecked = true;          
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing combo box data
+
+Select an item from the combo box programmatically using the [selectedItem](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfComboBoxFormField/selectedItem.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfComboBoxFormField combobox = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'state')
+              as PdfComboBoxFormField;
+            combobox.selectedItem = combobox.items[4];         
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing radio button data
+
+Select an item from the radio buttons programmatically using the [selectedItem](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfRadioFormField/selectedItem.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfRadioFormField radiobutton = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'gender')
+              as PdfRadioFormField;
+            radiobutton.selectedItem = radiobutton.items[2];         
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing list box data
+
+Select one or more items from the list box programmatically using the [selectedItems](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfListBoxFormField/selectedItems.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfListBoxFormField listbox = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'list')
+              as PdfListBoxFormField;
+            listbox.selectedItems = listbox.items.sublist(0, 2);          
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding or Editing signature data
+
+Add or remove the signature in a signature form field programmatically by assigning the image bytes or `null` to the [signature](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfSignatureFormField/signature.html) property.
+
+{% tabs %}
+{% highlight dart hl_lines="17 18 19 20 21 22" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () async { 
+            final List<PdfFormField> formFields = 
+            _pdfViewerController.getFormFields();            
+            final PdfSignatureFormField signature = formFields.singleWhere(
+                  (PdfFormField formField) => formField.name == 'signature')
+              as PdfSignatureFormField;
+            final ByteData bytedata =
+              await rootBundle.load('assets/signature.png');
+            signature.signature = bytedata.buffer.asUint8List();        
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the visibility of built-in Signature pad
+
+By default, the `SfPdfViewer` displays the signature pad when tapped on the signature form field. You can customize its visibility using the [canShowSignaturePad](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowSignaturePadDialog.html) property. The following code example explains this.
+
+{% tabs %}
+{% highlight dart hl_lines="9" %}
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'),
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      canShowSignaturePadDialog: false, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to create and display a custom signature pad?
+
+With the above option in the `SfPdfViewer`, you can hide the built-in signature pad and create and display a custom signature pad to draw and add personalized signatures to the signature form field. The following code example explains this.
+
+In this example, the custom signature pad using the `SfSignaturePad` will be displayed when tapping on the signature field with the following options:
+
+* **Clear** - Clears all the signature strokes in the `SfSignaturePad`.
+* **Save** - Saves the signature strokes in the `SfSignaturePad` to the signature form field as an image.
+
+{% tabs %}
+{% highlight dart %}
+
+import 'dart:typed_data';
+import 'dart:ui' as ui;
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+import 'package:syncfusion_flutter_signaturepad/signaturepad.dart';
+
+void main() {
+  runApp(MaterialApp(
+    title: 'PDF Viewer Demo',
+    home: HomePage(),
+  ));
+}
+
+class HomePage extends StatefulWidget {
+  @override
+  _HomePage createState() => _HomePage();
+}
+
+class _HomePage extends State<HomePage> {
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+  final GlobalKey<SfSignaturePadState> _signaturePadKey = GlobalKey();
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: SfPdfViewer.asset(
+        'assets/form_document.pdf',
+        key: _pdfViewerKey,
+        canShowSignaturePadDialog: false,
+        onFormFieldFocusChange: (PdfFormFieldFocusChangeDetails details) {
+          if (details.formField is PdfSignatureFormField && details.hasFocus) {
+            final PdfSignatureFormField signatureFormField =
+                details.formField as PdfSignatureFormField;
+            _showCustomSignaturePadDialog(signatureFormField);
+          }
+        },
+      ),
+    );
+  }
+
+  /// Displays the custom signature pad dialog.
+  Future<void> _showCustomSignaturePadDialog(
+      PdfSignatureFormField formField) async {
+    await showDialog(
+      context: context,
+      builder: (BuildContext context) {
+        return AlertDialog(
+          title: const Text(
+            'Draw your Signature',
+            textAlign: TextAlign.center,
+          ),
+          titlePadding: const EdgeInsets.all(8),
+          contentPadding: const EdgeInsets.all(12),
+          content: Container(
+            height: 200,
+            width: 300,
+            decoration: BoxDecoration(
+              border: Border.all(color: Colors.grey),
+            ),
+            child: SfSignaturePad(
+              key: _signaturePadKey,
+            ),
+          ),
+          actions: [
+            TextButton(
+              onPressed: () {
+                // Clears the strokes in the signature pad.
+                _signaturePadKey.currentState!.clear();
+              },
+              child: const Text('Clear'),
+            ),
+            TextButton(
+              onPressed: () async {
+                Navigator.pop(context);
+                await _saveSignature(formField);
+              },
+              child: const Text('Save'),
+            ),
+          ],
+        );
+      },
+    );
+  }
+
+  /// Saves the image from the signature pad to the form field.
+  Future<void> _saveSignature(PdfSignatureFormField formField) async {
+    final ui.Image image =
+        await _signaturePadKey.currentState!.toImage(pixelRatio: 3.0);
+    final ByteData? imageBytes =
+        await image.toByteData(format: ui.ImageByteFormat.png);
+    if (imageBytes != null) {
+      final Uint8List data = imageBytes.buffer.asUint8List();
+      formField.signature = data;
+    }
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Restrict the editing of form fields
+
+To prevent editing the values of the form fields in the PDF document, set the `readOnly` property of the respective form field to `true`.
+
+{% tabs %}
+{% highlight dart hl_lines="17" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.edit, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            final List<PdfFormField> formFields = 
+              _pdfViewerController.getFormFields();            
+            formFields[0].readOnly = true;
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Clear form data
+
+The [clearFormData](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/clearFormData.html) method clears all form field data in the PDF document. The optional `pageNumber` parameter can be used to clear the form field data on a specific page. By default, the `pageNumber` parameter is 0. Refer to the following code example.
+
+{% tabs %}
+{% highlight dart hl_lines="16 26" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[
+        IconButton( 
+          icon: const Icon( 
+            Icons.clear, 
+            color: Colors.white, 
+          ), 
+          onPressed: () {  
+            // Clears all the form field data on the 2nd page.
+            _pdfViewerController.clearFormData(pageNumber: 2);         
+          }, 
+        ),
+        IconButton( 
+          icon: const Icon( 
+            Icons.clear, 
+            color: Colors.white, 
+          ), 
+          onPressed: () { 
+            // Clears all the form field data in the pdf document.
+            _pdfViewerController.clearFormData();        
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Save form data 
+
+You can save the modified form field data by calling the [saveDocument](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/saveDocument.html) method. Refer to the following code example. 
+
+{% tabs %}
+{% highlight dart hl_lines="15 16" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.save, 
+            color: Colors.white, 
+          ), 
+          onPressed: () async { 
+            final List<int> savedBytes = 
+                await _pdfViewerController.saveDocument(); 
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> When the `saveDocument` method is called, the document will be automatically reloaded after the save in the viewer if any signature field in the PDF document is signed using the `SfPdfViewer`. Also, the signature field will be flattened on save irrespective of the `PdfFlattenOption` provided. 
+
+### Flattening the form data on save 
+
+Flattening PDF form is a process of removing the form fields in the PDF document, thereby rendering the form fields appearance and content in the page graphics. This will avoid the PDF form being edited on any device. Flutter PDF Viewer supports flattening the PDF form when saving. You can perform this action by setting the [PdfFlattenOption](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfFlattenOption.html) to `PdfFlattenOption.formFields` in the `saveDocument` method.  
+
+By default, the `PdfFlattenOption` will be `PdfFlattenOption.none`, which means the form fields (except signature fields) can be edited after saving.  
+
+Refer to the following code example. 
+
+{% tabs %}
+{% highlight dart hl_lines="15 16" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.save, 
+            color: Colors.white, 
+          ), 
+          onPressed: () async { 
+            final List<int> savedBytes = await _pdfViewerController 
+                .saveDocument(flattenOption: PdfFlattenOption.formFields); 
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Importing and Exporting form data 
+
+The Flutter PDF viewer allows users to import and export form data to and from PDF documents. The import and export of form data support the following extensions: 
+
+* fdf 
+* xfdf 
+* json 
+* xml 
+
+The required file type can be chosen from the [DataFormat](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/DataFormat.html) enumeration. In the following sections, only the `xfdf` file type is explained for brevity. 
+
+N> Import ‘package:syncfusion_flutter_pdf/pdf.dart’ in the Dart code to use the [DartFormat](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/DataFormat.html) parameter.
+
+### Exporting form data 
+
+The [exportFormData](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/exportFormData.html) method exports the current data filled in the form fields into a bytes list in the specified data format. Refer to the following code example.
+
+{% tabs %}
+{% highlight dart hl_lines="15 16" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.outbox, 
+            color: Colors.white, 
+          ), 
+          onPressed: () async { 
+            final List<int> formDataBytes = _pdfViewerController 
+                .exportFormData(dataFormat: DataFormat.xfdf); 
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+} 
+
+{% endhighlight %}
+{% endtabs %}
+
+N> When exporting, the signature form field data will not be exported.
+ 
+### Importing form data 
+
+The [importFormData](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/importFormData.html) method imports the data from a file of a specified type and fills the saved data into the form fields.
+
+* To continue the import, if any field generates an error, set the optional parameter `continueImportOnError` to true. This will ignore the error and continue with the next field.
+
+{% tabs %}
+{% highlight dart hl_lines="15 16 17 18" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController(); 
+
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+      actions: <Widget>[ 
+        IconButton( 
+          icon: const Icon( 
+            Icons.inbox, 
+            color: Colors.white, 
+          ), 
+          onPressed: () async { 
+            final ByteData data = await DefaultAssetBundle.of(context) 
+                .load('assets/form_data.xfdf'); 
+            final List<int> formDataBytes = data.buffer.asUint8List(); 
+            _pdfViewerController.importFormData(formDataBytes, DataFormat.xfdf); 
+          }, 
+        ), 
+      ], 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      controller: _pdfViewerController, 
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Undo and redo actions on form fields
+
+If you performed undesired actions when editing the form fields, you can undo and redo the action to restore the previous state.
+
+The undo and redo operations are performed by assigning the `UndoHistoryController` instance to the `undoController` property of the `SfPdfViewer`. The UndoHistoryController class contains the `undo` and `redo` methods to perform the same, respectively. The `canUndo` and `canRedo` properties are used to check whether the undo and redo operations can be performed or not, respectively. The following code example illustrates how to perform the form filling undo and redo operations programmatically with the `SfPdfViewer`.
+
+{% tabs %}
+{% highlight dart hl_lines="12 13 21 22 29" %}
+
+final UndoHistoryController _undoController = UndoHistoryController();
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      appBar: AppBar(actions: [
+        ValueListenableBuilder(
+            valueListenable: _undoController,
+            builder: (context, value, child) {
+              return IconButton(
+                onPressed:
+                    _undoController.value.canUndo ? _undoController.undo : null,
+                icon: const Icon(Icons.undo),
+              );
+            }),
+        ValueListenableBuilder(
+            valueListenable: _undoController,
+            builder: (context, value, child) {
+              return IconButton(
+                onPressed:
+                    _undoController.value.canRedo ? _undoController.redo : null,
+                icon: const Icon(Icons.redo),
+              );
+            }),
+      ]),
+      body: SfPdfViewer.asset( 
+        'assets/form_document.pdf',
+        undoController: _undoController,
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+For desktop platforms such as Windows, macOS, Linux, and desktop web, use the following shortcut keys to perform the actions.
+
+<table>
+<tr>
+<th>Action & Shortcut keys</th>
+<th>Windows</th>
+<th>macOS</th>
+<th>Linux</th>
+</tr>
+<tr>
+<th>Undo</th>
+<td><code>Ctrl</code> + <code>z</code></td>
+<td><code>Command</code> + <code>z</code></td>
+<td><code>Ctrl</code> + <code>z</code></td>
+</tr>
+<tr>
+<th>Redo</th>
+<td><code>Ctrl</code> + <code>y</code></td>
+<td><code>Command</code> + <code>y</code></td>
+<td><code>Ctrl</code> + <code>y</code></td>
+</tr>
+</table>
+
+N> This `undoController` is common for annotations and form fields. You do not need to create separate instances for both.
+
+## Callbacks
+
+The `SfPdfViewer` supports the [PdfFormFieldFocusChangeCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfFormFieldFocusChangeCallback.html) to notify the interaction with the form fields and the [PdfFormFieldValueChangedCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfFormFieldValueChangedCallback.html) to notify the values changes in the form fields.
+
+### Form field focus change callback
+
+The [onFormFieldFocusChange](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldFocusChange.html) callback triggers when the focus changes in or out of the form field. The [PdfFormFieldFocusChangeDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfFormFieldFocusChangeDetails-class.html) will return the `formField` instance and its focus change value in the `hasFocus` property. The following code example explains this.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10 11" %}
+
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      onFormFieldFocusChange: (PdfFormFieldFocusChangeDetails details) {
+        print('${details.formField.name} - ${details.hasFocus}');
+      },
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The `PdfFormFieldFocusChangeCallback` only triggers for text boxes and signature form fields.
+
+### Form field value changed callback
+
+The [onFormFieldValueChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldValueChanged.html) callback triggers when the value is changed in the form field. The [PdfFormFieldValueChangedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfFormFieldValueChangedDetails-class.html) the `formField` instance along with its `oldValue` and `newValue`. The following code example explains this.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10 11 12" %}
+ 
+@override 
+Widget build(BuildContext context) { 
+  return Scaffold( 
+    appBar: AppBar( 
+      title: const Text('Flutter PDF Viewer'), 
+    ), 
+    body: SfPdfViewer.asset( 
+      'assets/form_document.pdf', 
+      onFormFieldValueChanged:(PdfFormFieldValueChangedDetails details) {
+        print('${details.oldValue}');     
+        print('${details.newValue}');     
+      },
+    ), 
+  ); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to synchronize text form field data with the text entry widget periodically for each character change?
+
+With the help of the [onFormFieldValueChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldValueChanged.html) callback, we can synchronize text form field data with the text entry widget periodically for each character change. The following code example explains this.
+
+{% tabs %}
+{% highlight dart %}
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() {
+  runApp(MaterialApp(
+    title: 'PDF Viewer Demo',
+    home: HomePage(),
+  ));
+}
+
+/// Represents HomePage for Navigation
+class HomePage extends StatefulWidget {
+  @override
+  _HomePage createState() => _HomePage();
+}
+
+class _HomePage extends State<HomePage> {
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+  final TextEditingController _nameController = TextEditingController();
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: Column(
+        children: [
+          SizedBox(
+            width: 200,
+            child: TextField(
+              controller: _nameController,
+              decoration: InputDecoration(
+                labelText: 'Name',
+                fillColor: Colors.grey[100],
+              ),
+            ),
+          ),
+          Expanded(
+            flex: 5,
+            child: SfPdfViewer.asset(
+              'assets/form_document.pdf',
+              key: _pdfViewerKey,
+              onFormFieldValueChanged:
+                  (PdfFormFieldValueChangedDetails details) {
+                final PdfFormField field = details.formField;
+                if (field is PdfTextFormField && field.name == 'name') {
+                  _nameController.value = TextEditingValue(text: field.text);
+                }
+              },
+            ),
+          ),
+        ],
+      ),
+    );
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to synchronize text form field data with the text entry widget after filling it out completely?
+
+With the help of the [onFormFieldFocusChange](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldFocusChange.html) callback, we can synchronize text form field data with the text entry widget after filling it out completely. The following code example explains this.
+
+{% tabs %}
+{% highlight dart %}
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() {
+  runApp(MaterialApp(
+    title: 'PDF Viewer Demo',
+    home: HomePage(),
+  ));
+}
+
+/// Represents HomePage for Navigation
+class HomePage extends StatefulWidget {
+  @override
+  _HomePage createState() => _HomePage();
+}
+
+class _HomePage extends State<HomePage> {
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+  final TextEditingController _nameController = TextEditingController();
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: Column(
+        children: [
+          SizedBox(
+            width: 200,
+            child: TextField(
+              controller: _nameController,
+              decoration: InputDecoration(
+                labelText: 'Name',
+                fillColor: Colors.grey[100],
+              ),
+            ),
+          ),
+          Expanded(
+            flex: 5,
+            child: SfPdfViewer.asset(
+              'assets/form_document.pdf',
+              key: _pdfViewerKey,
+              onFormFieldFocusChange:
+                  (PdfFormFieldFocusChangeDetails details) async {
+                final PdfFormField field = details.formField;
+                if (field is PdfTextFormField && field.name == 'name') {
+                  if (details.hasFocus) {
+                    _nameController.value = TextEditingValue.empty;
+                  }
+                }
+              },
+            ),
+          ),
+        ],
+      ),
+    );
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to perform validation over the form field data?
+
+With the help of the [onFormFieldFocusChange](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldFocusChange.html) and [onFormFieldValueChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onFormFieldValueChanged.html) callbacks and the form field programmatic options available in the `SfPdfViewer`, we can validate the form field data. The following code examples explain this.
+
+In this example, we are validating the form field data in a registration form when saving. The validation includes,
+
+<table>
+<tr>
+<td>
+<b>Field name</b>
+</td>
+<td>
+<b>Validation messages</b>
+</td>
+</tr>
+<tr>
+<td>
+Name
+</td>
+<td>
+* Name is required.<br>
+* Name should have at least 3 characters.<br>
+* Name should not exceed 30 characters.<br>
+* Name should not contain numbers.<br>
+* Name should not contain special characters.<br>
+</td>
+</tr>
+<tr>
+<td>
+Email
+</td>
+<td>
+* Email is required.<br>
+* Email should be in correct format.<br>
+</td>
+</tr>
+<tr>
+<td>
+Date of birth
+</td>
+<td>
+* Date of birth is required.<br>
+* Date of birth should be in dd/mm/yyyy format.<br>
+</td>
+</tr>
+<tr>
+<td>
+Course
+</td>
+<td>
+* At least one course should be selected.
+</td>
+</tr>
+<tr>
+<td>
+Signature
+</td>
+<td>
+* Signature is required.
+</td>
+</tr>
+</table>
+
+{% tabs %}
+{% highlight dart %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController();
+List<PdfFormField>? _formFields;
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      actions: <Widget>[
+        IconButton(
+          icon: const Icon(Icons.save),
+          onPressed: _validateAndSaveForm,
+        ),
+      ],
+    ),
+    body: SfPdfViewer.asset(
+      'assets/form_document.pdf',
+      controller: _pdfViewerController,
+      onDocumentLoaded: (PdfDocumentLoadedDetails details) {
+        _formFields = _pdfViewerController.getFormFields();
+      },
+    ),
+  );
+}
+
+/// Validates the form field data.
+Future<void> _validateAndSaveForm() async {
+  if (_formFields == null) {
+    return;
+  } else if (_formFields!.isEmpty) {
+    return;
+  }
+  final List<String> errors = <String>[];
+  for (final PdfFormField formField in _formFields!) {
+    if (formField is PdfTextFormField) {
+      if (formField.name == 'name') {
+        if (formField.text == null || formField.text.isEmpty) {
+          errors.add('Name is required.');
+        } else if (formField.text.length < 3) {
+          errors.add('Name should have atleast 3 characters.');
+        } else if (formField.text.length > 30) {
+          errors.add('Name should not exceed 30 characters.');
+        } else if (formField.text.contains(RegExp(r'[0-9]'))) {
+          errors.add('Name should not contain numbers.');
+        } else if (formField.text
+            .contains(RegExp(r'[!@#$%^&*(),.?":{}|<>]'))) {
+          errors.add('Name should not contain special characters.');
+        }
+      } else if (formField.name == 'dob') {
+        if (formField.text == null || formField.text.isEmpty) {
+          errors.add('Date of birth is required.');
+        } else if (!RegExp(r'^\d{1,2}\/\d{1,2}\/\d{4}$')
+            .hasMatch(formField.text)) {
+          errors.add('Date of birth should be in dd/mm/yyyy format.');
+        }
+      } else if (formField.name == 'email') {
+        if (formField.text == null || formField.text.isEmpty) {
+          errors.add('Email is required.');
+        } else if (!RegExp(r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$')
+            .hasMatch(formField.text)) {
+          errors.add('Email should be in correct format.');
+        }
+      }
+    } else if (formField is PdfListBoxFormField) {
+      if (formField.selectedItems == null ||
+          formField.selectedItems!.isEmpty) {
+        errors.add('Please select atleast one course.');
+      }
+    } else if (formField is PdfSignatureFormField) {
+      if (formField.signature == null) {
+        errors.add('Please sign the document.');
+      }
+    }
+  }
+  if (errors.isNotEmpty) {
+    await showDialog(
+      context: context,
+      builder: (BuildContext context) {
+        return AlertDialog(
+          title: const Text('Errors'),
+          content: SizedBox(
+            height: 200,
+            width: 100,
+            child: ListView.builder(
+              itemCount: errors.length,
+              itemBuilder: (_, int index) {
+                return Padding(
+                  padding: const EdgeInsets.all(8.0),
+                  child: Text(errors[index]),
+                );
+              },
+            ),
+          ),
+          actions: <Widget>[
+            TextButton(
+              onPressed: () {
+                Navigator.pop(context);
+              },
+              child: const Text('Try Again'),
+            ),
+          ],
+        );
+      },
+    );
+  } else {
+    _pdfViewerController.saveDocument(
+        flattenOption: PdfFlattenOption.formFields);
+    showDialog(
+      context: context,
+      builder: (BuildContext context) {
+        return AlertDialog(
+          title: const Text('Success'),
+          content: const Text('Form submitted successfully.'),
+          actions: <Widget>[
+            TextButton(
+              onPressed: () {
+                Navigator.pop(context);
+              },
+              child: const Text('OK'),
+            ),
+          ],
+        );
+      },
+    );
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/gesture-callbacks.md b/Document-Processing/PDF/PDF-Viewer/flutter/gesture-callbacks.md
new file mode 100644
index 000000000..3b0710823
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/gesture-callbacks.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title: Gesture callbacks in Flutter PDF Viewer widget | Syncfusion
+description: Learn here about the gesture callbacks provided in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Gesture Callbacks in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) supports the [PdfGestureCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfGestureTapCallback.html) to notify the touch or mouse interaction with the widget.
+
+## Tap Callback
+
+The [onTap](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onTap.html) callback triggers when the user taps on the `SfPdfViewer` widget, and the [PdfGestureDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfGestureDetails-class.html) returns the following information:
+
+* [pageNumber](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfGestureDetails/pageNumber.html) – This property returns the page number on which the tap took place. The value ranges from 1 to the total number of pages in the PDF document. If the tap occurs outside any PDF page boundaries, the result will be -1.
+
+* [pagePosition](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfGestureDetails/pagePosition.html) – This property returns the page’s tapped position in PDF coordinates. The coordinates have their origin at the top-left of the page. The number of the tapped page is identified by the PageNumber property. If the tap occurs outside any PDF page boundaries, the result will be (-1, -1).
+
+* [position](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfGestureDetails/position.html) – This property returns the tapped position on the PDF Viewer widget. The coordinate space starts at the top left of the widget.
+
+The following code example illustrates how to retrieve information from the `PdfGestureDetails` and handle the `onTap` callback. 
+
+{% tabs %}
+{% highlight dart hl_lines="9 10 11" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      onTap: (PdfGestureDetails details) {
+        print('${details.pageNumber}');
+      },
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/getting-started.md b/Document-Processing/PDF/PDF-Viewer/flutter/getting-started.md
new file mode 100644
index 000000000..e77af0b95
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/getting-started.md
@@ -0,0 +1,99 @@
+---
+layout: post
+title: Getting started with Flutter PDF Viewer widget | Syncfusion
+description: Learn here about getting started with Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget, its elements, and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting Started with Flutter PDF Viewer (SfPdfViewer)
+This section explains the steps to add the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget to your Flutter application and load a PDF document.
+
+To get started quickly, you can also check out our video tutorial below. 
+
+<style>#FlutterSfPdfViewerGettingStartedTutorial{width : 90% !important; height: 400px !important }</style> <iframe id='FlutterSfPdfViewerGettingStartedTutorial' src="https://www.youtube.com/embed/f1zEJZRdo7w?si=KaBtOjAEbrrRBw5y"></iframe>
+
+## Add the Flutter PDF Viewer to an Application
+Create a simple project using the instructions given in the [Getting Started with your first Flutter app](https://docs.flutter.dev/get-started/test-drive#choose-your-ide) documentation.
+
+**Add Dependency**
+
+Add the Syncfusion<sup>&reg;</sup> Flutter PDF Viewer dependency to your `pubspec.yaml` file.
+
+{% highlight dart %}
+
+dependencies:
+
+syncfusion_flutter_pdfviewer: ^xx.x.xx
+
+{% endhighlight %}
+
+N> Here **xx.x.xx** denotes the current version of the [Syncfusion<sup>&reg;</sup> Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_pdfviewer/versions) package.
+
+For the web platform, we have used [PdfJs](https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js) for rendering the PDF pages, so the script file must be referred to in your `web/index.html` file.
+
+In your `web/index.html` file, add the following `script` tags, somewhere in the `head` or `body` of the document:
+
+For PdfJs library version 4.0 and above:
+```html
+<script type="module" async>
+  import * as pdfjsLib from 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.10.38/pdf.min.mjs';
+  pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.10.38/pdf.worker.min.mjs";
+</script>
+```
+
+For PdfJs library versions below 4.0:
+```html
+<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js"></script>
+<script type="text/javascript">
+  pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.worker.min.js";
+</script>
+```
+
+N> A version above **2.11.338** is recommended for using annotation support. This will not flatten the unsupported annotations while rendering the pages.
+
+**Get Packages** 
+
+Run the following command to get the required packages.
+
+{% highlight dart %}
+
+$ flutter pub get
+
+{% endhighlight %}
+
+**Import Package**
+
+Import the following package in your Dart code.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+{% endhighlight %}
+{% endtabs %}
+
+**Initialize the PDF Viewer**
+
+Once the package has been imported, add the `SfPdfViewer` widget as a child of any widget. In the following examples, the `SfPdfViewer` widget is added as a child of the `Scaffold` widget.
+
+**Load Document**
+
+To display a PDF document in the PDF Viewer, add the PDF document to the application assets and use [SfPdfViewer.asset](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.asset.html) to load it from the [AssetBundle](https://api.flutter.dev/flutter/services/AssetBundle-class.html). The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="4 5" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.asset(
+              'assets/flutter-succinctly.pdf'));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> You can refer to our [Flutter PDF Viewer](https://www.syncfusion.com/flutter-widgets/flutter-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Flutter PDF Viewer example](https://flutter.syncfusion.com/#/pdf-viewer/getting-started), which shows you how to render and configure the PDF Viewer.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/hyperlink-navigation.md b/Document-Processing/PDF/PDF-Viewer/flutter/hyperlink-navigation.md
new file mode 100644
index 000000000..970282cf7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/hyperlink-navigation.md
@@ -0,0 +1,89 @@
+---
+layout: post
+title: Hyperlink navigation in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about the hyperlink navigation feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Hyperlink Navigation in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to open URLs or website links in the default browser. You can hide the built-in hyperlink navigation dialog or add a customized one with supported functionalities.
+
+![Hyperlink navigation dialog](images/hyperlink-navigation/hyperlink_navigation_dialog.jpg)
+
+## Enable or Disable the Hyperlink Navigation
+
+You can enable or disable the hyperlink navigation using the [enableHyperlinkNavigation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/enableHyperlinkNavigation.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="9" %}
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        enableHyperlinkNavigation: false,
+      ),
+    );
+  }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the Visibility of the Hyperlink Navigation Dialog
+
+By default, the built-in hyperlink navigation dialog will be displayed when any hyperlink is clicked. You can customize the visibility of the hyperlink navigation dialog using the [canShowHyperlinkDialog](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowHyperlinkDialog.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="9" %}
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        canShowHyperlinkDialog: false,
+      ),
+    );
+  }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Callbacks
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) hyperlink navigation supports the [PdfHyperlinkClickedCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfHyperlinkClickedCallback.html) to notify when any hyperlink is clicked.
+
+### Hyperlink Clicked Callback
+
+The [onHyperlinkClicked](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onHyperlinkClicked.html) callback triggers when any hyperlink in the PDF document is clicked. The [PdfHyperlinkClickedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfHyperlinkClickedDetails-class.html) will return the [uri](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfHyperlinkClickedDetails/uri.html) clicked in the PDF document. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10 11" %}
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onHyperlinkClicked: (PdfHyperlinkClickedDetails details) {
+          print(details.uri);
+        },
+      ),
+    );
+  }
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/flutter-pdf-viewer-text-selection-context-menu.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/flutter-pdf-viewer-text-selection-context-menu.png
new file mode 100644
index 000000000..2b8adba94
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/flutter-pdf-viewer-text-selection-context-menu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-note-icon-types.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-note-icon-types.png
new file mode 100644
index 000000000..4026b108d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-note-icon-types.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-notes-edit.gif b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-notes-edit.gif
new file mode 100644
index 000000000..1d7aeeaaf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/annotations/sticky-notes-edit.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/bookmark-navigation/bookmark_view.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/bookmark-navigation/bookmark_view.png
new file mode 100644
index 000000000..17ae5a7ef
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/bookmark-navigation/bookmark_view.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/hyperlink-navigation/hyperlink_navigation_dialog.jpg b/Document-Processing/PDF/PDF-Viewer/flutter/images/hyperlink-navigation/hyperlink_navigation_dialog.jpg
new file mode 100644
index 000000000..1106051f3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/hyperlink-navigation/hyperlink_navigation_dialog.jpg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/localization/page_navigation_dialog_localization.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/localization/page_navigation_dialog_localization.png
new file mode 100644
index 000000000..9a4098568
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/localization/page_navigation_dialog_localization.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-horizontal-scrolling.gif b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-horizontal-scrolling.gif
new file mode 100644
index 000000000..f17a79edc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-horizontal-scrolling.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-page-by-page.gif b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-page-by-page.gif
new file mode 100644
index 000000000..848077974
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-layout-and-scroll-direction/flutter-pdf-viewer-page-by-page.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/page-navigation/page_navigation_dialog.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-navigation/page_navigation_dialog.png
new file mode 100644
index 000000000..c46f5b636
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/page-navigation/page_navigation_dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/custompassword-dialog.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/custompassword-dialog.png
new file mode 100644
index 000000000..0ac497642
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/custompassword-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/password-dialog.png b/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/password-dialog.png
new file mode 100644
index 000000000..7bec95678
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/flutter/images/password-dialog/password-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/interaction-modes.md b/Document-Processing/PDF/PDF-Viewer/flutter/interaction-modes.md
new file mode 100644
index 000000000..22d5c3d42
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/interaction-modes.md
@@ -0,0 +1,53 @@
+---
+layout: post
+title: Interaction modes in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about interaction modes feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Interaction Modes in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) supports the following interaction modes for easy interaction with the PDF documents on a desktop web browser:
+
+* Selection
+* Pan
+
+N> On a touch device, setting the [interactionMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/interactionMode.html) property to the `selection` mode will have no effect since panning is the default mode for scrolling, and the selection is made by long-pressing a word in the document.
+
+## Selection Mode
+
+By default, the `selection` interaction mode will be enabled on a desktop web browser and allows users to select and copy text from the PDF files. This also helps to copy and share the text content. Refer to the following code to enable the `selection` mode in `SfPdfViewer`.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              interactionMode: PdfInteractionMode.selection));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Pan Mode
+
+In `pan` mode, the dragging and scrolling of the pages can be performed in any direction using the mouse and touch interactions on a desktop web browser, but the text selection cannot be performed. Refer to the following code to enable the `pan` mode in `SfPdfViewer`.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              interactionMode: PdfInteractionMode.pan));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/localization.md b/Document-Processing/PDF/PDF-Viewer/flutter/localization.md
new file mode 100644
index 000000000..49e8ababd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/localization.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Localization in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about localization feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Localization in Flutter PDF Viewer (SfPdfViewer)
+
+By default, the `SfPdfViewer` widget supports US English localization. You can change the other languages by specifying the `MaterialApp` properties and adding the `flutter_localizations` and `syncfusion_localizations` packages to your application. 
+
+To use `flutter_localizations` and `syncfusion_localizations`, add the packages as a dependency to the `pubspec.yaml` file.
+
+{% highlight dart %}
+
+dependencies:
+flutter_localizations:
+  sdk: flutter
+syncfusion_localizations: ^XX.X.XX
+
+{% endhighlight %}
+
+Next, import the `flutter_localizations` and `syncfusion_localizations` library and specify the `localizationsDelegates` and `supportedLocales` for `MaterialApp` to localize the contents in the `SfPdfViewer` (page navigation dialog and bookmark view).
+
+{% tabs %}
+{% highlight dart hl_lines="1 2 7 8 9 10 11 12 13 14 15 16 17" %}
+
+import 'package:flutter_localizations/flutter_localizations.dart';
+import 'package:syncfusion_localizations/syncfusion_localizations.dart';
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    localizationsDelegates: [
+      GlobalMaterialLocalizations.delegate,
+      GlobalWidgetsLocalizations.delegate, 
+      SfGlobalLocalizations.delegate,
+    ],
+    supportedLocales: [
+      const Locale('fr'),
+      const Locale('ru'),
+      const Locale('ta'),
+    ],
+    locale: const Locale('fr'),
+    title: 'PDF Viewer Localization',
+    home: Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf'),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Localization](images/localization/page_navigation_dialog_localization.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/lock-unlock-annotations.md b/Document-Processing/PDF/PDF-Viewer/flutter/lock-unlock-annotations.md
new file mode 100644
index 000000000..cb55607b4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/lock-unlock-annotations.md
@@ -0,0 +1,89 @@
+---
+layout: post
+title: Locking and Unlocking Annotations in Flutter PDF Viewer | Syncfusion
+description: Learn here all about locking and unlocking annotations in PDF documents using the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Lock and Unlock Annotations in Flutter PDF Viewer Widget (SfPdfViewer)
+
+You can lock an annotation to prevent it from being edited. The annotation that has been locked cannot be removed or edited further until it is unlocked. This section will go through the process of locking and unlocking annotations in a PDF document.
+
+## Lock All Annotations in a Document
+
+To lock all annotations in a document, set the `isLocked` property of the `annotationSettings` to true. The following example explains how to lock all annotations in a document.
+
+{% tabs %}
+{% highlight dart hl_lines="3" %}
+
+void lockAllAnnotations() {
+  // Lock all the annotations in the PDF document.
+  _pdfViewerController.annotationSettings.isLocked = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock all the annotations, set the `isLocked` property value to false.
+
+## Lock a Specific Annotation
+
+To lock a specific annotation in a document, access the annotation instance and set the `isLocked` property of the annotation to true. The following example explains how to lock the first annotation in a PDF document.
+
+{% tabs %}
+{% highlight dart hl_lines="8" %}
+
+void lockFirstAnnotation() {
+  // Get the list of annotations in the PDF document.
+  List<Annotation> annotations = _pdfViewerController.getAnnotations();
+  if (annotations.isNotEmpty) {
+    // Get the first annotation from the PDF document.
+    Annotation firstAnnotation = annotations.first;
+    // Lock the first annotation in the PDF document.
+    firstAnnotation.isLocked = true;
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the annotation, set the `isLocked` property value to false.
+
+## Lock Specific Annotation Types
+
+You can also use the `annotationSettings` property to lock a specific annotation type in a document. The following example explains how to lock all the underline annotations in a document by accessing the underline annotation settings. Similarly, you can lock other types of annotations.
+
+{% tabs %}
+{% highlight dart %}
+
+void lockUnderlineAnnotations() {
+  // Get the underline annotation settings.
+  PdfTextMarkupAnnotationSettings underlineAnnotationSettings =
+      _pdfViewerController.annotationSettings.underline;
+  // Lock all the underline annotations in the PDF document.
+  underlineAnnotationSettings.isLocked = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the specific annotation types, set the `isLocked` property value to false.
+
+## Lock the Selected Annotation
+
+To lock the selected annotation, access the selected annotation instance and set the `isLocked` property to true. The selected annotation instance may be obtained from the `onAnnotationSelected` callback. The following example explains locking the selected annotation in a PDF document.
+
+{% tabs %}
+{% highlight dart %}
+
+void lockSelectedAnnotation(Annotation selectedAnnotation) {
+  // Lock the selected annotation.
+  selectedAnnotation.isLocked = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the selected annotation, set the `isLocked` property value to false.
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/magnification.md b/Document-Processing/PDF/PDF-Viewer/flutter/magnification.md
new file mode 100644
index 000000000..b59df7112
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/magnification.md
@@ -0,0 +1,127 @@
+---
+layout: post
+title: Magnification in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about magnification feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Magnification in Flutter PDF Viewer (SfPdfViewer)
+
+The content of a document can be zoomed in and out either by pinch to zoom or by changing the zoom level factor programmatically.
+
+## Change the Zoom Level Factor Programmatically
+
+You can change or control the zoom level factor programmatically using the [zoomLevel](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/zoomLevel.html) property. The zoom level factor value can be set to 1.0 and above. The default value is 1.0. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="21" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.zoom_in,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.zoomLevel = 2;
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set and Adjust the Maximum Zoom Level
+
+The `SfPdfViewer` allows you to set and adjust the maximum zoom level for the PDF document being displayed using the `maxZoomLevel` property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              maxZoomLevel: 5));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Active Viewport Rendering at Higher Zoom Levels
+
+With the support of active viewport rendering, at higher zoom levels, only the parts of the PDF file that are visible on-screen are rendered, ignoring the parts outside the viewport. The mode is automatically enabled when the page size or zoom increases beyond the zoom level of 2. This approach will be helpful to open large-size pages containing PDF documents at higher zoom levels.
+
+## Enable or Disable the Double-Tap Zoom
+
+By default, the `SfPdfViewer` will be zoomed in and out when double-tapped. You can enable or disable the double-tap zoom using the [enableDoubleTapZooming](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/enableDoubleTapZooming.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              enableDoubleTapZooming: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> On a desktop web browser, this `enableDoubleTapZooming` property will have no effect on mouse interaction.
+
+## Callbacks
+
+The `SfPdfViewer` magnification supports the [PdfZoomLevelChangedCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfZoomLevelChangedCallback.html) to notify the zoom level changes.
+
+### Zoom Level Changed Callback
+
+The [onZoomLevelChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onZoomLevelChanged.html) callback triggers when the zoom level is changed in the `SfPdfViewer`. That is,
+
+• When the pinch zoom is performed.
+• When the double-tap zoom is performed.
+• When the `zoomLevel` property is changed.
+
+The [PdfZoomDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfZoomDetails-class.html) will return the `oldZoomLevel` title and `newZoomLevel` values. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6 7 8" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+    'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+    onZoomLevelChanged: (PdfZoomDetails details) {
+      print(details.newZoomLevel);
+    },
+  ));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-base64.md b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-base64.md
new file mode 100644
index 000000000..905c5ddc4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-base64.md
@@ -0,0 +1,138 @@
+---
+layout: post
+title: Open a Document From base64 in Flutter PDF Viewer | Syncfusion
+description: Learn here about opening a PDF document from memory in Syncfusion® Flutter PDF Viewer widget (SfPdfViewer).
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document From Base64 in Flutter PDF Viewer (SfPdfViewer)
+
+## Using SfPdfViewer.memory
+
+To load a document from a base64 string, you can convert the base64 string to a [Uint8List](https://api.flutter.dev/flutter/dart-typed_data/Uint8List-class.html) using the [base64Decode](https://api.flutter.dev/flutter/dart-convert/base64Decode.html) method and pass it to the [SfPdfViewer.memory](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.memory.html) constructor. The following code example explains the same.
+
+* Import the `dart:convert` package to use the [base64Decode](https://api.flutter.dev/flutter/dart-convert/base64Decode.html) method.
+
+{% tabs %}
+{% highlight dart %}
+
+import 'dart:convert';
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() {
+  runApp(const MaterialApp(
+    home: MainApp(),
+  ));
+}
+
+class MainApp extends StatelessWidget {
+  const MainApp({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    // Pass the base64 string of the PDF document to the SyncfusionPDFViewer widget.
+    return const SyncfusionPDFViewer(base64: base64);
+  }
+}
+
+class SyncfusionPDFViewer extends StatefulWidget {
+  const SyncfusionPDFViewer({super.key, required this.base64});
+
+  /// Base64 string of the PDF document.
+  final String base64;
+
+  @override
+  State<SyncfusionPDFViewer> createState() => _SyncfusionPDFViewerState();
+}
+
+class _SyncfusionPDFViewerState extends State<SyncfusionPDFViewer> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: SfPdfViewer.memory(
+        // Decoding the base64 string to Uint8List.
+        base64Decode(widget.base64),
+      ),
+    );
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Using Custom PDFSource
+
+To load a document from a base64 string, you can convert the base64 string to a [Uint8List](https://api.flutter.dev/flutter/dart-typed_data/Uint8List-class.html) using the [base64Decode](https://api.flutter.dev/flutter/dart-convert/base64Decode.html) method and pass it to the [SfPdfViewer.memory](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.memory.html) constructor. The following code example explains the same.
+
+* Import the `dart:convert` package to use the [base64Decode](https://api.flutter.dev/flutter/dart-convert/base64Decode.html) method.
+
+{% tabs %}
+{% highlight dart %}
+
+import 'dart:convert';
+import 'dart:typed_data';
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() {
+  runApp(const MaterialApp(
+    home: MainApp(),
+  ));
+}
+
+class MainApp extends StatelessWidget {
+  const MainApp({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    // Pass the base64 string of the PDF document to the SyncfusionPDFViewer widget.
+    return const SyncfusionPDFViewer(base64: _base64);
+  }
+}
+
+class SyncfusionPDFViewer extends StatefulWidget {
+  const SyncfusionPDFViewer({super.key, required this.base64});
+
+  /// Base64 string of the PDF document.
+  final String base64;
+
+  @override
+  State<SyncfusionPDFViewer> createState() => _SyncfusionPDFViewerState();
+}
+
+class _SyncfusionPDFViewerState extends State<SyncfusionPDFViewer> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      body: SfPdfViewer(
+        source: Base64PDFSource(widget.base64),
+      ),
+    );
+  }
+}
+
+/// Custom PDFSource implementation for loading PDF from base64 encoded string.
+class Base64PDFSource extends PDFSource {
+  /// Creates a new instance of Base64PDFSource with the provided base64 string.
+  Base64PDFSource(this._base64);
+
+  /// The base64 encoded string of the PDF document.
+  final String _base64;
+
+  /// Cached PDF bytes to avoid repeated decoding.
+  Uint8List? _pdfBytes;
+
+  @override
+  Future<Uint8List> getBytes(BuildContext context) async {
+    // Decode the base64 string to bytes if not already cached
+    return _pdfBytes ??= base64Decode(_base64);
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-local-storage.md b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-local-storage.md
new file mode 100644
index 000000000..cba55aa9f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-local-storage.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title: Open a PDF From Local Storage in Flutter PDF Viewer | Syncfusion
+description: Learn here about opening a PDF document from local storage in Syncfusion® Flutter PDF Viewer widget (SfPdfViewer).
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a PDF From Local Storage in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer.file](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.file.html) creates a widget that displays the PDF document obtained from a [`File`](https://api.flutter.dev/flutter/dart-io/File-class.html). The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="4 5" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.file(
+              File('storage/emulated/0/Download/flutter-succinctly.pdf')));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> On Android, this may require the `android.permission.READ_EXTERNAL_STORAGE`.
+
+N> Since the file system is not accessible from the browser, [SfPdfViewer.file](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.file.html) is not supported on Flutter Web.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-memory.md b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-memory.md
new file mode 100644
index 000000000..d31cda191
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-memory.md
@@ -0,0 +1,25 @@
+---
+layout: post
+title: Open a Document From Memory in Flutter PDF Viewer | Syncfusion
+description: Learn here about opening a PDF document from memory in Syncfusion® Flutter PDF Viewer widget (SfPdfViewer).
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document From Memory in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer.memory](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.memory.html) creates a widget that displays the PDF document obtained from the [Uint8List](https://api.flutter.dev/flutter/dart-typed_data/Uint8List-class.html). The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="4 5" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.memory(
+              bytes));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-url.md b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-url.md
new file mode 100644
index 000000000..c637d08c6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document-from-url.md
@@ -0,0 +1,41 @@
+---
+layout: post
+title: Open a Document From URL in Flutter PDF Viewer | Syncfusion
+description: Learn here about opening a PDF document from a URL in the Syncfusion® Flutter PDF Viewer widget (SfPdfViewer).
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document From URL in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer.network](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.network.html) creates a widget that displays the PDF document obtained from a URL. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="4 5" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf'));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+To load a PDF from network using [SfPdfViewer.network](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/SfPdfViewer.network.html) on macOS, network access must be enabled in your macOS application. In your `macos/Runner/DebugProfile.entitlements` file, add the following lines inside the `<dict>` tag to enable network access in your application:
+
+```html
+<key>com.apple.security.network.client</key>
+<true/>
+```
+
+N> Due to CORS security restrictions in a web application, some PDFs obtained from URLs might not be loaded on the `SfPdfViewer` web platform. Kindly refer to the Flutter [forum](https://github.com/flutter/flutter/issues/51125) for more information on this issue.
+
+This issue can be resolved by configuring the CORS settings on the requested server or by disabling the security settings in **chrome.dart** as mentioned in the steps below:
+
+1. Go to **flutter\bin\cache** and remove a file named: **flutter_tools.stamp**.
+2. Go to **flutter\packages\flutter_tools\lib\src\web** and open the file **chrome.dart**.
+3. Find **'--disable-extensions'**.
+4. Add **'--disable-web-security'**.
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document.md b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document.md
new file mode 100644
index 000000000..5ea45c3be
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/open-a-document.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Open a Document in Flutter PDF Viewer | Syncfusion
+description: Learn here all about opening a PDF document in Syncfusion® Flutter PDF Viewer (SfPdfViewer) and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget allows you to open PDF documents from various sources, like local storage, memory, or URLs using respective constructors. It also lets you view password-protected documents.
+
+This section walks you through the loading of documents in `SfPdfViewer` and handling the load-specific events.
+
+## Supported Constructor Types
+
+The `SfPdfViewer` supports the following constructor types:
+1. Asset
+2. Network
+3. Memory
+4. File
+
+## Load the Document with the Specified Page
+
+The `SfPdfViewer` allows you to load the document with the specified page using the `initialPageNumber` property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              initialPageNumber: 5));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> It is recommended not to use both the [initialScrollOffset](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialScrollOffset.html) and [initialPageNumber](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialPageNumber.html) properties at the same time. If both properties are defined, the [initialPageNumber](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialPageNumber.html) will be prioritized over the [initialScrollOffset](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialScrollOffset.html).
+
+## Load Document with the Specified Scroll Offset Position or Zoom Level 
+
+The `SfPdfViewer` allows you to load the document with the specified scroll offset position or zoom level using the [initialScrollOffset](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialScrollOffset.html) and [initialZoomLevel](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/initialZoomLevel.html) properties. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6 7" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              initialScrollOffset: Offset(0, 500),
+              initialZoomLevel: 1.5));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/overview.md b/Document-Processing/PDF/PDF-Viewer/flutter/overview.md
new file mode 100644
index 000000000..a7aa5ae81
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/overview.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: About Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about introduction of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget, its features, and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Flutter PDF Viewer (SfPdfViewer) Overview
+
+The Syncfusion<sup>&reg;</sup> [Flutter PDF Viewer](https://www.syncfusion.com/flutter-widgets/flutter-pdf-viewer) widget allows you to view PDF documents seamlessly and efficiently on Android, iOS, Web, Windows, Linux, and macOS platforms. It has highly interactive and customizable features such as magnification, virtual scrolling, page navigation, text selection, text search, and bookmark navigation.
+
+## Key Features
+
+* **Virtual Scrolling** - Easily scroll through the pages in the document with a fluent experience. The pages are rendered only when required to increase loading and scrolling performance.
+* **Magnification** - The content of the document can be efficiently zoomed in and out.
+* **Text Selection** - Select text presented in a PDF document.
+* **Text Search** - Search for text and navigate to all its occurrences in a PDF document instantly.
+* **Page Navigation** - Navigate to the desired pages instantly.
+* **Bookmark Navigation** - Bookmarks saved in the document are loaded and made ready for easy navigation. This feature helps navigate the topics bookmarked already within the PDF document.
+* **Document Link Annotation Navigation** - Navigate to the desired topic or position by tapping the document link annotation of the topics in the table of contents in a PDF document.
+* **Hyperlink Navigation** - Detects hyperlinks, and tapping on the hyperlink will open the URL in a default web browser.
+* **Text Markup Annotations** - Add, remove, and modify text markup annotations in PDF files. The available text markups are highlight, underline, strikethrough, and squiggly. This feature will help mark important passages, emphasize specific words or phrases, indicate that certain content should be removed, or indicate that text contains possible errors.
+* **Sticky Note Annotations** - Add, remove, and modify sticky note annotations in PDF files. This feature will help add comments or notes to a specific part of a document to clarify complex concepts, terms, or ideas.
+* **Form Filling** - Fill, edit, flatten, save, export, and import AcroForm field data in a PDF document.
+* **Themes** - Easily switch between light and dark themes.
+* **Localization** - All static text within the PDF Viewer can be localized to any supported language.
+* **Accessibility** - Easily accessible by screen readers.
+* **Right to Left (RTL)** - Change the user interface and functionalities such as text search and text copying to accommodate RTL languages such as Hebrew and Arabic.
+
+N> You can also explore our [Flutter PDF Viewer example](https://flutter.syncfusion.com/#/pdf-viewer/getting-started) that shows you how to render and configure the PDF Viewer.
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/page-layout-and-scroll-direction.md b/Document-Processing/PDF/PDF-Viewer/flutter/page-layout-and-scroll-direction.md
new file mode 100644
index 000000000..36ae2f214
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/page-layout-and-scroll-direction.md
@@ -0,0 +1,104 @@
+---
+layout: post
+title: Page layout and Scrolling options in Flutter PDF Viewer | Syncfusion
+description: Learn here all about page layout and scrolling options feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Page Layout and Scrolling Options in Flutter PDF Viewer (SfPdfViewer)
+
+Page layout modes describe how the PDF page is displayed, and scrolling options describe the direction in which the PDF pages can be scrolled in [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html).
+
+## Page Layout Modes
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) supports the following page layout modes:
+
+* Continuous page layout mode
+* Single page layout mode
+
+### Continuous Page Layout Mode
+
+By default, the `continuous` page layout mode is enabled, which scrolls the PDF pages vertically and horizontally. To enable the `continuous` page layout mode in `SfPdfViewer`, use the following code sample.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              pageLayoutMode: PdfPageLayoutMode.continuous));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Single Page Layout Mode
+
+In `Single` page layout mode, PDFs will be displayed page by page horizontally. To enable the `Single` page layout mode in `SfPdfViewer`, use the following code sample.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              pageLayoutMode: PdfPageLayoutMode.single));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Single page layout mode in Flutter PDF Viewer.](images/page-layout-and-scroll-direction/flutter-pdf-viewer-page-by-page.gif)
+
+## Scrolling Options
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) supports the following scrolling options:
+
+* Vertical scrolling
+* Horizontal scrolling
+
+If the scroll direction is not specified, continuous page layout mode defaults to vertical scrolling, and single page layout mode defaults to horizontal scrolling.
+
+### Vertical Scrolling
+
+By default, `Vertical` scrolling is enabled, which moves the PDF pages from up to down. To enable the `Vertical` scrolling in `SfPdfViewer`, use the following code sample.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              scrollDirection: PdfScrollDirection.vertical));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Horizontal Scrolling
+
+In `Horizontal` scrolling, PDF pages can be scrolled from left to right. To enable the `Horizontal` scrolling in `SfPdfViewer`, use the following code sample.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              scrollDirection: PdfScrollDirection.horizontal));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Horizontal scrolling in Flutter PDF Viewer.](images/page-layout-and-scroll-direction/flutter-pdf-viewer-horizontal-scrolling.gif)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/page-navigation.md b/Document-Processing/PDF/PDF-Viewer/flutter/page-navigation.md
new file mode 100644
index 000000000..df611ea1b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/page-navigation.md
@@ -0,0 +1,235 @@
+---
+layout: post
+title: Page navigation in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about page navigation feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Page Navigation in Flutter PDF Viewer (SfPdfViewer)
+
+Navigate to the desired pages instantly either by using the page navigation dialog or the controller methods programmatically. If the desired page doesn’t exist, then the navigation will not happen, and the older page will be retained.
+
+![Page navigation dialog](images/page-navigation/page_navigation_dialog.png)
+
+## Navigate to the Desired Page Programmatically
+
+The [jumpToPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpToPage.html) controller method helps you to navigate to the specified page number in a PDF document. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="21" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.arrow_drop_down_circle,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.jumpToPage(5);
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the Next and Previous Page Programmatically
+
+The [nextPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/nextPage.html) and [previousPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/previousPage.html) controller methods help you to navigate to the next and previous page of a PDF document. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="21 30" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.keyboard_arrow_up,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.previousPage();
+          },
+        ),
+        IconButton(
+          icon: Icon(
+            Icons.keyboard_arrow_down,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.nextPage();
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the First and Last Page Programmatically
+
+The [firstPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/firstPage.html) and [lastPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/lastPage.html) controller methods help you to navigate to the first and last page of a PDF document. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="21 30" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.first_page,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.firstPage();
+          },
+        ),
+        IconButton(
+          icon: Icon(
+            Icons.last_page,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.lastPage();
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the Desired Offset Programmatically
+
+The [jumpTo](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpTo.html) controller method moves the scroll position of the `SfPdfViewer` to the specified horizontal and vertical offset. If the specified offset value is wrong, then the scroll will not happen, and the older position will be retained. 
+
+N> Both the `xOffset` and `yOffset` are optional parameters and if the offset values are not provided, then the `SfPdfViewer` will be scrolled or moved to the default position (0, 0).
+
+{% tabs %}
+{% highlight dart hl_lines="21" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.arrow_drop_down_circle,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.jumpTo(yOffset:1500);
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Callbacks
+
+The `SfPdfViewer` page navigation supports the [PdfPageChangedCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfPageChangedCallback.html) to notify the page changes.
+
+### Page Changed Callback
+
+The [onPageChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onPageChanged.html) callback triggers when the page is changed in the `SfPdfViewer`. That is,
+
+* When moved using the touch scroll or scroll head.
+* When the page navigation is performed programmatically using the [jumpToPage](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpToPage.html) controller method.
+* When scrolling is performed programmatically using the [jumpTo](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpTo.html) controller method.
+* When bookmark navigation is performed programmatically using the [jumpToBookmark](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpToBookmark.html) controller method.
+
+The [PdfPageChangedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfPageChangedDetails-class.html) will return the `oldPageNumber`, `newPageNumber`, `isFirstPage`, and `isLastPage` values. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6 7 8 9" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+    'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+    onPageChanged: (PdfPageChangedDetails details) {
+      print(details.newPageNumber);
+      print(details.isFirstPage);
+    },
+  ));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/right-to-left.md b/Document-Processing/PDF/PDF-Viewer/flutter/right-to-left.md
new file mode 100644
index 000000000..555fedb8b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/right-to-left.md
@@ -0,0 +1,125 @@
+---
+layout: post
+title: RTL support in Flutter PDF Viewer widget | Syncfusion 
+description: Learn here all about the Right to Left (RTL) support in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Right to Left (RTL) in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) supports right-to-left rendering. All the user interface elements will be rendered based on LTR and RTL direction, and functionalities like text search and copying text also support RTL languages.
+
+## RTL Rendering Ways
+
+Right-to-left rendering can be switched in the following ways:
+
+### Wrapping the SfPdfViewer with Directionality Widget
+
+To change the rendering direction from right to left, wrap the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget inside the [Directionality](https://api.flutter.dev/flutter/widgets/Directionality-class.html) widget and set the [textDirection](https://api.flutter.dev/flutter/widgets/Directionality/textDirection.html) property as [TextDirection.rtl](https://api.flutter.dev/flutter/widgets/Directionality/textDirection.html).
+
+{% tabs %}
+{% highlight dart hl_lines="26 27 28 29 30 31 32" %}
+
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+  @override
+  void initState() {
+    super.initState();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: const Icon(
+              Icons.bookmark,
+              color: Colors.white,
+              semanticLabel: 'Bookmark',
+            ),
+            onPressed: () {
+              _pdfViewerKey.currentState?.openBookmarkView();
+            },
+          ),
+        ],
+      ),
+      body: Directionality(
+        textDirection: TextDirection.rtl,
+        child: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          key: _pdfViewerKey,
+        ),
+      ),
+    );
+  }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the Locale to RTL Languages
+
+To change the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) rendering direction from right to left, change the [locale](https://api.flutter.dev/flutter/material/MaterialApp/locale.html) to any of the RTL languages such as Arabic, Persian, Hebrew, Pashto, and Urdu.
+
+To use `flutter_localizations`, add the package as a dependency in the `pubspec.yaml` file.
+
+{% highlight dart %}
+
+dependencies:
+flutter_localizations:
+  sdk: flutter
+
+{% endhighlight %}
+
+Then, import the `flutter_localizations` library, and specify [localizationsDelegates](https://api.flutter.dev/flutter/widgets/LocalizationsDelegate-class.html) and `supportedLocales` for `MaterialApp`.
+
+{% tabs %}
+{% highlight dart %}
+
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+  @override
+  Widget build(BuildContext context) {
+    return MaterialApp(
+      localizationsDelegates: const [
+        GlobalMaterialLocalizations.delegate,
+        GlobalWidgetsLocalizations.delegate,
+        GlobalCupertinoLocalizations.delegate,
+      ],
+      supportedLocales: const <Locale>[
+        Locale('en'),
+        Locale('ar'),
+        // ... other locales the app supports
+      ],
+      locale: const Locale('ar'),
+      home: Scaffold(
+        appBar: AppBar(
+          title: const Text('Flutter PDF Viewer'),
+          actions: <Widget>[
+            IconButton(
+              icon: const Icon(
+                Icons.bookmark,
+                color: Colors.white,
+                semanticLabel: 'Bookmark',
+              ),
+              onPressed: () {
+                _pdfViewerKey.currentState?.openBookmarkView();
+              },
+            ),
+          ],
+        ),
+        body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          key: _pdfViewerKey,
+        ),
+      ),
+    );
+  }
+
+{% endhighlight %}
+{% endtabs %}
+
+N> RTL scrolling is not supported in single-page layout mode when the [scrollDirection](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/scrollDirection.html) property is set to `PdfScrollDirection.horizontal`.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/scrolling.md b/Document-Processing/PDF/PDF-Viewer/flutter/scrolling.md
new file mode 100644
index 000000000..cc051eaac
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/scrolling.md
@@ -0,0 +1,96 @@
+---
+layout: post
+title: Scrolling in Flutter PDF Viewer widget | Syncfusion
+description: Learn here about scrolling functionality in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget including programmatically setting scroll positions.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Scrolling in Flutter PDF Viewer (SfPdfViewer)
+
+The Syncfusion<sup>&reg;</sup> [Flutter PDF Viewer](https://www.syncfusion.com/flutter-widgets/flutter-pdf-viewer) widget has scrolling capabilities that allow users to navigate through content seamlessly. This section will walk you through various aspects of scrolling, including programmatically setting scroll positions.
+
+W> Please note that since the PDF Viewer has built-in scrolling capability, it is advised to avoid placing the PDF Viewer inside other controls that also offer scrolling, such as ScrollView. Nesting within such controls may cause unexpected issues.
+
+## Navigate to the Desired Offset Programmatically
+
+The [jumpTo](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/jumpTo.html) controller method moves the scroll position of the `SfPdfViewer` to the specified horizontal and vertical offset. If the specified offset value is wrong, then the scroll will not happen, and the older position will be retained. 
+
+N> Both the `xOffset` and `yOffset` are optional parameters, and if the offset values are not provided, then the `SfPdfViewer` will be scrolled or moved to the default position (0, 0).
+
+{% tabs %}
+{% highlight dart hl_lines="21" %}
+
+late PdfViewerController _pdfViewerController;
+
+@override
+void initState() {
+  _pdfViewerController = PdfViewerController();
+  super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.arrow_drop_down_circle,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.jumpTo(yOffset:1500);
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Get the Current Scroll Offset Position
+
+The `SfPdfViewer` allows you to get the current scroll offset position using the [scrollOffset](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/scrollOffset.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="16 17" %}
+
+final PdfViewerController _pdfViewerController = PdfViewerController();
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: Icon(
+            Icons.arrow_drop_down_circle,
+            color: Colors.white,
+          ),
+          onPressed: () {
+            _pdfViewerController.jumpToPage(3);
+            print(_pdfViewerController.scrollOffset.dy);
+            print(_pdfViewerController.scrollOffset.dx);
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.network(
+      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/select-deselect-annotations.md b/Document-Processing/PDF/PDF-Viewer/flutter/select-deselect-annotations.md
new file mode 100644
index 000000000..50da8679b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/select-deselect-annotations.md
@@ -0,0 +1,126 @@
+---
+layout: post
+title: Select and Deselect Annotations in Flutter PDF Viewer | Syncfusion
+description: Learn here all about select and deselect annotations in PDF documents using the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Select and Deselect Annotations in Flutter PDF Viewer Widget (SfPdfViewer)
+
+This section will go through the various functions available in the `SfPdfViewer` for selecting and deselecting annotations in a PDF document.
+
+## Select an Annotation
+
+You can select an annotation by simply tapping on the annotation using touch or mouse. When the annotation is selected, the selection border (selector) appears, indicating that the annotation is selected. 
+
+### Select an Annotation Programmatically
+
+You can select an annotation programmatically by providing the annotation instance as the parameter to the [selectAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/selectAnnotation.html) method of the [PdfViewerController](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController-class.html). The annotation instance can be found using the [getAnnotations](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/getAnnotations.html) method of the [PdfViewerController](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController-class.html). The following example explains how to select the first annotation in the annotation collection.
+
+{% tabs %}
+{% highlight dart hl_lines="8" %}
+
+void selectFirstAnnotation() {
+  // Get the list of annotations in the PDF document.
+  List<Annotation> annotations = _pdfViewerController.getAnnotations();
+  if (annotations.isNotEmpty) {
+    // Get the first annotation from the PDF document.
+    Annotation firstAnnotation = annotations.first;
+    // Select the first annotation in the PDF document.
+    _pdfViewerController.selectAnnotation(firstAnnotation);
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Annotation Selected Callback
+
+The callback provided to the [onAnnotationSelected](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationSelected.html) property is triggered when an annotation is selected interactively or programmatically. The selected annotation instance can be obtained from the callback details. The following code sample explains how to use this callback.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8 9 10" %}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onAnnotationSelected: (Annotation annotation) {
+          // Instance of the selected annotation.
+          Annotation selectedAnnotation = annotation;
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing Selector Appearance
+
+The `annotationSettings` property of `PdfViewerController` allows you to customize the default selector color. The following example explains how to customize the selector color for locked and unlocked annotations.
+
+{% tabs %}
+{% highlight dart %}
+
+void customizeSelectorAppearance() {
+  PdfAnnotationSettings annotationSettings =
+      _pdfViewerController.annotationSettings;
+  // For unlocked annotations.
+  annotationSettings.selector.color = Colors.blue;
+  // For locked annotations.
+  annotationSettings.selector.lockedColor = Colors.grey;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deselect an Annotation
+
+You can deselect an annotation by tapping outside its bounds using touch or mouse. When the annotation is deselected, the selection border (selector) disappears, indicating that the annotation is deselected.
+* In desktop platforms like Windows, macOS, Linux, and desktop web, you can also use the keyboard shortcut Esc to deselect an annotation.
+
+### Deselect an Annotation Programmatically
+
+You can deselect the annotation programmatically by providing the selected annotation instance as the parameter to the [deselectAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/deselectAnnotation.html) method. The selected annotation instance can be obtained from the [onAnnotationSelected](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationSelected.html) callback. The following example shows how to deselect the selected annotation.
+
+{% tabs %}
+{% highlight dart hl_lines="3" %}
+
+void deselectAnnotation(Annotation selectedAnnotation) {
+  // Deselect the selected annotation.
+  _pdfViewerController.deselectAnnotation(selectedAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Annotation Deselected Callback
+
+The callback provided to the `onAnnotationDeselected` property is triggered when an annotation is deselected interactively or programmatically. The following code sample explains how to use this callback.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8 9 10" %}
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onAnnotationDeselected: (Annotation annotation) {
+          // Instance of the deselected annotation.
+          Annotation deselectedAnnotation = annotation;
+        },
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/sticky-notes.md b/Document-Processing/PDF/PDF-Viewer/flutter/sticky-notes.md
new file mode 100644
index 000000000..355254b1c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/sticky-notes.md
@@ -0,0 +1,139 @@
+---
+layout: post
+title: Sticky Note Annotations in Flutter PDF Viewer Widget | Syncfusion
+description: Learn here all about sticky note annotations in the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Sticky Note Annotations in Flutter PDF Viewer Widget (SfPdfViewer)
+
+The sticky note annotation feature of `SfPdfViewer` allows you to add, remove, and modify sticky notes in a PDF document. This feature can help add comments or notes to specific parts of a document to clarify complex concepts, terms, or ideas. This section will cover the various functions available in `SfPdfViewer` for working with sticky note annotations.
+
+## Types of Sticky Notes
+
+The following sticky note icon types are currently available in `SfPdfViewer`. The icon types can be selected from the [PdfStickyNoteIcon](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfStickyNoteIcon.html) enumeration.
+
+![Sticky note icon types](images/annotations/sticky-note-icon-types.png)
+
+## Add Sticky Notes
+
+This section will go through how to add sticky note annotations to a PDF document interactively and programmatically.
+
+### Add Sticky Notes from Annotation Mode
+
+You can add sticky note annotations to a PDF document by tapping with a touch (or mouse down) on a PDF page. The following steps explain how to add sticky note annotations to a PDF:
+
+1. Set the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) property of the PdfViewerController to `stickyNote`. This activates the sticky note mode on the control.
+2. Tap (or mouse down) on a PDF page, where you want to add the sticky note annotation. This will add a sticky note with a default style, and a popup will be displayed to write and submit the text.
+3. You can later select and edit the annotations if required.
+4. If you need to disable the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) of `stickyNote`, you need to change the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) to `none`.
+
+The following code explains how to enable the sticky note annotation mode.
+
+{% tabs %}
+{% highlight dart %}
+
+void enableStickyNoteAnnotationMode() {
+  // Enable the sticky note annotation mode.
+  _pdfViewerController.annotationMode = PdfAnnotationMode.stickyNote;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the stickyNote annotation mode.
+
+{% tabs %}
+{% highlight dart %}
+
+void disableAnnotationMode() {
+  // Disable or deactivate the annotation mode.
+  _pdfViewerController.annotationMode = PdfAnnotationMode.none;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Sticky Note Annotation Programmatically
+
+You can create and add a sticky note annotation to a PDF document programmatically using the [addAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/addAnnotation.html) method of the [PdfViewerController](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController-class.html). The following example explains how to create a sticky note with a comment icon and add it to the first page of a PDF document.
+
+{% tabs %}
+{% highlight dart hl_lines="18" %}
+
+void addStickyNoteAnnotation() {
+  // Create a sticky note annotation
+  final StickyNoteAnnotation stickyNote = StickyNoteAnnotation(
+    // Set the page number for the sticky note annotation
+    pageNumber: 1,
+    // Set the text for the sticky note annotation
+    text: 'This is a sticky note annotation',
+    // Set the icon for the sticky note annotation
+    icon: PdfStickyNoteIcon.comment,
+    // Set the position for the sticky note annotation
+    position: const Offset(100, 100),
+  );
+
+  // Set the color for the sticky note annotation
+  stickyNote.color = Colors.yellow;
+
+  // Add the sticky note annotation to the PDF viewer
+  _pdfViewerController.addAnnotation(stickyNote);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Sticky Note Annotation Settings
+
+In the sticky note annotation mode, the annotation will be added with a default appearance. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance before adding sticky note annotations to the document, you can change its default settings using the [PdfViewerController.annotationSettings.stickyNote](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfAnnotationSettings/stickyNote.html). For that, you need to obtain the default sticky note annotation settings.
+
+The following example explains how to obtain the default sticky note annotation settings and modify some of their properties. Similarly, you can modify all the other properties.
+
+{% tabs %}
+{% highlight dart %}
+
+void customizeDefaultStickyNoteSettings() {
+  // Obtain the default sticky note annotation settings from the PdfViewerController instance.
+  PdfStickyNoteAnnotationSettings stickyNoteSettings =
+      _pdfViewerController.annotationSettings.stickyNote;
+
+  // Modify the default properties.
+  stickyNoteSettings.icon =
+      PdfStickyNoteIcon.comment; // Set the default icon to Comment.
+  stickyNoteSettings.color = Colors.yellow; // Stroke color
+  stickyNoteSettings.opacity = 0.75; // 75% Opacity
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Edit the Selected Sticky Note Annotation
+
+### Edit the Text Using UI Interaction
+
+When you double-tap the selected sticky note, the text editor opens. Edit the text and click "Save" to modify the text.
+
+![Sticky note editing](images/annotations/sticky-notes-edit.gif)
+
+### Edit Sticky Note Properties Programmatically
+
+Edit the properties of the selected sticky note annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [onAnnotationSelected](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onAnnotationSelected.html) callback. The following example shows how to edit the text and icon of the selected sticky note annotation. Similarly, you can modify the other properties.
+
+{% tabs %}
+{% highlight dart %}
+
+void editSelectedStickyNoteAnnotation(Annotation selectedAnnotation) {
+  if (selectedAnnotation is StickyNoteAnnotation) {
+    // Change the icon of the selected sticky note annotation to Note.
+    selectedAnnotation.icon = PdfStickyNoteIcon.note;
+
+    // Change the text of the selected sticky note annotation.
+    selectedAnnotation.text = "Changed the comment to note.";
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/text-markup.md b/Document-Processing/PDF/PDF-Viewer/flutter/text-markup.md
new file mode 100644
index 000000000..032f5a1cb
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/text-markup.md
@@ -0,0 +1,68 @@
+---
+layout: post
+title: Text Markup Annotations in Flutter PDF Viewer Widget | Syncfusion
+description: Learn here all about text markup annotations in the Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text Markup Annotations in Flutter PDF Viewer Widget (SfPdfViewer)
+
+The text markup annotations feature of `SfPdfViewer` allows you to add, remove, and modify text markups in the PDF document. This is useful for making corrections or emphasizing important texts in the document. This section will go through the various types and functions available in the PDF Viewer for working with text markup annotations.
+
+## Types of Text Markups
+
+The following text markup annotation types are now available in the PDF Viewer:
+1. Highlight
+2. Squiggly
+3. Strikethrough
+4. Underline
+
+## Add Text Markups
+
+This section will go through how to add text markup annotations to a PDF document interactively and programmatically.
+
+### Add Text Markups from Annotation Mode
+
+You can add text markup annotations to a PDF document by touching (or mouse down) and dragging using the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) property of the PdfViewerController. The following steps explain how to add a text markup annotation on a text in a PDF:
+
+1. Set the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) property of the SfPdfViewer to any text markups (e.g., `highlight`). It activates the highlight annotation mode on the control.
+2. Place your finger (or mouse) on the text in the PDF document where you want to start adding the text markup.
+3. Drag the finger (or cursor) across the text to select it.
+4. Complete adding the text markup to the selected text by releasing the finger (or cursor).
+5. Repeat steps 2-4 to add multiple text markups in other areas during the annotation mode.
+6. Once you have done this, set the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html) to `none`. It will disable annotation mode.
+7. You can later select and edit the annotations if required.
+
+The following code explains how to enable the strikethrough annotation mode. Similarly, you can change the annotation mode to add other text markups.
+
+{% tabs %}
+{% highlight dart %}
+
+void enableStrikethroughAnnotationMode() {
+  // Enable the strikeout annotation mode.
+  _pdfViewerController.annotationMode = PdfAnnotationMode.strikethrough;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the strikethrough annotation mode.
+
+{% tabs %}
+{% highlight dart %}
+
+void disableAnnotationMode() {
+  // Disable or deactivate the annotation mode.
+  _pdfViewerController.annotationMode = PdfAnnotationMode.none;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add Text Markups from Text Selection
+
+Text markups can be added to a PDF document using text selection without enabling the [annotationMode](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/annotationMode.html). Select the text you want in a PDF document, and a context menu with the text markup options will appear after you complete your selection. You can select any text markup options to add an annotation to a text in the PDF document.
+
+![Text selection context menu in Flutter PDF Viewer.](images/annotations/flutter-pdf-viewer-text-selection-context-menu.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/text-search.md b/Document-Processing/PDF/PDF-Viewer/flutter/text-search.md
new file mode 100644
index 000000000..b80bedda3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/text-search.md
@@ -0,0 +1,893 @@
+---
+layout: post
+title: Text search in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about text search feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text Search in Flutter PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to find text in the PDF document and navigate to all its occurrences.
+
+## Initiate Text Search and Retrieve Results
+
+The [searchText](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/searchText.html) controller method is used to initiate the text search and it takes the text to be searched and [TextSearchOption](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/TextSearchOption.html) as parameters. This method searches for the text, highlights all the instances of the text in the document, and returns the [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) object holding the result values such as total instance count, current highlighted instance index, and more. The [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) object will also help you navigate to the different searched text instances available and cancel the search operation.
+
+On mobile and desktop platforms, the search will be performed asynchronously, so the results will be returned periodically on a page-by-page basis, which can be retrieved using the `PdfTextSearchResult.addListener` method in the application.
+
+Whereas on the web platform, the search will be performed synchronously, so the result will be returned only after completing the search on all the pages. This is because `isolate` is not supported for the web platform yet.
+
+To differentiate the highlighted texts, the current text instance highlight color will be dark, while the rest of the instances will be light. The following code example explains how to perform the text search and retrieve the results.
+
+N> Import **'package:syncfusion_flutter_pdf/pdf.dart'** in the Dart code if you use the [TextSearchOption](https://pub.dev/documentation/syncfusion_flutter_pdf/latest/pdf/TextSearchOption.html) parameter.
+
+{% tabs %}
+{% highlight dart hl_lines="23 24 25 26 27 28 29 30 31 32 33 34 35 36" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+    _pdfViewerController = PdfViewerController();
+    _searchResult = PdfTextSearchResult();
+    super.initState();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+        appBar: AppBar(
+          title: Text('Flutter PDF Viewer'),
+          actions: <Widget>[
+            IconButton(
+              icon: Icon(
+                Icons.search,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                _searchResult = _pdfViewerController.searchText('the',
+                    searchOption: TextSearchOption.caseSensitive);
+                if (kIsWeb) {
+                  print(
+                      'Total instance count: ${_searchResult.totalInstanceCount}');
+                } else {
+                  _searchResult.addListener(() {
+                    if (_searchResult.hasResult &&
+                        _searchResult.isSearchCompleted) {
+                      print(
+                          'Total instance count: ${_searchResult.totalInstanceCount}');
+                    }
+                  });
+                }
+              },
+            ),
+          ],
+        ),
+        body: SfPdfViewer.network(
+            'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+            controller: _pdfViewerController));
+  }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the Next and Previous Instance
+
+The [nextInstance](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/nextInstance.html) and [previousInstance](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/previousInstance.html) methods in the [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) class help you to navigate to the next and previous search text instances in the PDF document. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="44 56" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+    _pdfViewerController = PdfViewerController();
+    _searchResult = PdfTextSearchResult();
+    super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: Icon(
+              Icons.search,
+              color: Colors.white,
+            ),
+            onPressed: () {
+              _searchResult = _pdfViewerController.searchText('the',
+                  searchOption: TextSearchOption.caseSensitive);
+              if (kIsWeb) {
+                setState(() {});
+              } else {
+                _searchResult.addListener(() {
+                  if (_searchResult.hasResult) {
+                    setState(() {});
+                  }
+                });
+              }
+            },
+          ),          
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.keyboard_arrow_up,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                  _searchResult.previousInstance();
+              },
+            ),
+          ),
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.keyboard_arrow_down,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                _searchResult.nextInstance();
+              },
+            ),
+          ),
+        ],
+      ),
+      body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          controller:_pdfViewerController));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Cancel Text Search
+
+The [clear](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/clear.html) method in the [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) class is used to cancel the text search operation. When the text search is in progress, this method can be used to cancel the same and clear all the highlighted texts in the `SfPdfViewer`. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="45" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+    _pdfViewerController = PdfViewerController();
+    _searchResult = PdfTextSearchResult();
+    super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: Icon(
+              Icons.search,
+              color: Colors.white,
+            ),
+            onPressed: () {
+              _searchResult = _pdfViewerController.searchText('the',
+                  searchOption: TextSearchOption.caseSensitive);
+              if (kIsWeb) {
+                setState(() {});
+              } else {
+                _searchResult.addListener(() {
+                  if (_searchResult.hasResult) {
+                    setState(() {});
+                  }
+                });
+              }
+            },
+          ),
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.clear,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                setState(() {
+                  _searchResult.clear();
+                });
+              },
+            ),
+          ),          
+        ],
+      ),
+      body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          controller:_pdfViewerController));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the Search Text Highlight Color
+
+The colors in which the current instance and other instances are highlighted can be customized with the help of [currentSearchTextHighlightColor](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/currentSearchTextHighlightColor.html) and [otherSearchTextHighlightColor](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/otherSearchTextHighlightColor.html) property. The default highlight color is **Orange** [Color(0xFFE56E00)] and the current instance highlight color opacity (with respect to this property) will be higher than the other instances. By default, the current instance highlight color opacity will be 60% and the other instances color opacity will be 30%.
+
+The following code example explains how to customize the search text highlight color.
+
+{% tabs %}
+{% highlight dart hl_lines="41 42" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+   _pdfViewerController = PdfViewerController();
+   _searchResult = PdfTextSearchResult();
+   super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+          actions: <Widget>[
+            IconButton(
+              icon: Icon(
+                Icons.search,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                _searchResult = _pdfViewerController.searchText('the',
+                    searchOption: TextSearchOption.caseSensitive);
+                if (kIsWeb) {
+                  setState(() {});
+                } else {
+                  _searchResult.addListener(() {
+                    if (_searchResult.hasResult) {
+                      setState(() {});
+                    }
+                  });
+                }
+              },
+            ),
+          ],
+        ),
+        body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          controller: _pdfViewerController,
+          currentSearchTextHighlightColor: Colors.blue,
+          otherSearchTextHighlightColor: Colors.yellow,
+        ));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Identify if There is No Instance Found for the Text Being Searched?
+
+The [totalInstanceCount](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/totalInstanceCount.html) property in the [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) object can be used to identify if no instance of the searched text is found in the PDF document. That is, if [totalInstanceCount](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/totalInstanceCount.html) returns value 0, then there is no matching instance found for the searched text. The following code explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="25 26 27 28 29 30 31 32 33 34 35 36" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+    _pdfViewerController = PdfViewerController();
+    _searchResult = PdfTextSearchResult();
+    super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: Icon(
+              Icons.search,
+              color: Colors.white,
+            ),
+            onPressed: () {
+              _searchResult = _pdfViewerController.searchText('pdf',
+                  searchOption: TextSearchOption.caseSensitive);
+              if (kIsWeb) {
+                if (_searchResult.totalInstanceCount == 0) {
+                  print('No matches found.');
+                }
+              } else {
+                _searchResult.addListener(() {
+                  if (_searchResult.isSearchCompleted &&
+                      _searchResult.totalInstanceCount == 0) {
+                    print('No matches found.');
+                  }
+                });
+              }
+            },
+          ),
+        ],
+      ),
+      body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          controller: _pdfViewerController));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Identify if a Complete Cycle of Text Search is Completed?
+
+The [totalInstanceCount](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/totalInstanceCount.html) and [currentInstanceIndex](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/currentInstanceIndex.html) properties in the [PdfTextSearchResult](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult-class.html) object can be used to identify if a complete cycle of text search is completed in the PDF document. That is, when the [nextInstance](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSearchResult/nextInstance.html) method is called, you can check if the `currentInstanceIndex` equals the `totalInstanceCount`, then it can be considered that a complete cycle of text search is completed. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="71 72 73 74 75" %}
+
+late PdfViewerController _pdfViewerController;
+late PdfTextSearchResult _searchResult;
+
+@override
+void initState() {
+    _pdfViewerController = PdfViewerController();
+    _searchResult = PdfTextSearchResult();
+    super.initState();
+}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+        actions: <Widget>[
+          IconButton(
+            icon: Icon(
+              Icons.search,
+              color: Colors.white,
+            ),
+            onPressed: () {
+              _searchResult = _pdfViewerController.searchText('the',
+                  searchOption: TextSearchOption.caseSensitive);
+              if (kIsWeb) {
+                setState(() {});
+              } else {
+                _searchResult.addListener(() {
+                  if (_searchResult.hasResult) {
+                    setState(() {});
+                  }
+                });
+              }
+            },
+          ),
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.clear,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                setState(() {
+                  _searchResult.clear();
+                });
+              },
+            ),
+          ),
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.keyboard_arrow_up,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                _searchResult.previousInstance();
+              },
+            ),
+          ),
+          Visibility(
+            visible: _searchResult.hasResult,
+            child: IconButton(
+              icon: Icon(
+                Icons.keyboard_arrow_down,
+                color: Colors.white,
+              ),
+              onPressed: () {
+                _searchResult.nextInstance();				
+                if (_searchResult.currentInstanceIndex ==
+                        _searchResult.totalInstanceCount &&
+                    _searchResult.isSearchCompleted) {
+                  print('No more occurrences found.');
+                }
+              },
+            ),
+          ),
+        ],
+      ),
+      body: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+          controller:_pdfViewerController));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Create and Display a Custom Search Toolbar with the Search Features?
+
+With the options available in the `SfPdfViewer` text search, you can easily create and display a custom search toolbar with the search features. The following code example explains the same.
+
+In this example, initially the main toolbar or AppBar will be displayed with a search button, and on pressing that, a custom search toolbar will be displayed with the following options:
+
+* **Back button** - To close the search toolbar.
+* **Text field entry** - To enter the text to be searched in the document.
+* **Close button** - To cancel the search progress.
+* **Busy indicator** - To indicate that the search is in progress. This will be visible only on mobile and desktop platforms.
+* **Instances information text** - Displays the current instance index and total instances count of the searched text.
+* **Previous instance search navigation button** - To navigate to the previous match instance.
+* **Next instance search navigation button** - To navigate to the next match instance.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'package:flutter/foundation.dart';
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() {
+  runApp(MaterialApp(
+    debugShowCheckedModeBanner: false,
+    home: HomePage(),
+  ));
+}
+
+/// Represents the Homepage for Navigation
+class HomePage extends StatefulWidget {
+  @override
+  _HomePage createState() => _HomePage();
+}
+
+class _HomePage extends State<HomePage> {
+  final PdfViewerController _pdfViewerController = PdfViewerController();
+  final GlobalKey<SearchToolbarState> _textSearchKey = GlobalKey();
+  late bool _showToolbar;
+  late bool _showScrollHead;
+
+  /// Ensure the entry history of Text search.
+  LocalHistoryEntry? _historyEntry;
+
+  @override
+  void initState() {
+    _showToolbar = false;
+    _showScrollHead = true;
+    super.initState();
+  }
+
+  /// Ensure the entry history of text search.
+  void _ensureHistoryEntry() {
+    if (_historyEntry == null) {
+      final ModalRoute<dynamic>? route = ModalRoute.of(context);
+      if (route != null) {
+        _historyEntry = LocalHistoryEntry(onRemove: _handleHistoryEntryRemoved);
+        route.addLocalHistoryEntry(_historyEntry!);
+      }
+    }
+  }
+  
+  /// Remove history entry for text search.
+  void _handleHistoryEntryRemoved() {
+    _textSearchKey.currentState?.clearSearch();
+    setState(() {
+      _showToolbar = false;
+    });
+    _historyEntry = null;
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: _showToolbar
+          ? AppBar(
+              flexibleSpace: SafeArea(
+                child: SearchToolbar(
+                  key: _textSearchKey,
+                  showTooltip: true,
+                  controller: _pdfViewerController,
+                  onTap: (Object toolbarItem) async {
+                    if (toolbarItem.toString() == 'Cancel Search') {
+                      setState(() {
+                        _showToolbar = false;
+                        _showScrollHead = true;
+                        if (Navigator.canPop(context)) {
+                          Navigator.maybePop(context);
+                        }
+                      });
+                    }
+                    if (toolbarItem.toString() == 'noResultFound') {
+                      setState(() {
+                        _textSearchKey.currentState?._showToast = true;
+                      });
+                      await Future.delayed(Duration(seconds: 1));
+                      setState(() {
+                        _textSearchKey.currentState?._showToast = false;
+                      });
+                    }
+                  },
+                ),
+              ),
+              automaticallyImplyLeading: false,
+              backgroundColor: Color(0xFFFAFAFA),
+            )
+          : AppBar(
+              title: Text(
+                'Flutter PDF Viewer',
+                style: TextStyle(color: Colors.black87),
+              ),
+              actions: [
+                IconButton(
+                  icon: Icon(
+                    Icons.search,
+                    color: Colors.black87,
+                  ),
+                  onPressed: () {
+                    setState(() {
+                      _showScrollHead = false;
+                      _showToolbar = true;
+                      _ensureHistoryEntry();
+                    });
+                  },
+                ),
+              ],
+              automaticallyImplyLeading: false,
+              backgroundColor: Color(0xFFFAFAFA),
+            ),
+      body: Stack(
+        children: [
+          SfPdfViewer.network(
+            'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+            controller: _pdfViewerController,
+            canShowScrollHead: _showScrollHead,
+          ),
+          Visibility(
+            visible: _textSearchKey.currentState?._showToast ?? false,
+            child: Align(
+              alignment: Alignment.center,
+              child: Flex(
+                direction: Axis.horizontal,
+                mainAxisAlignment: MainAxisAlignment.center,
+                children: <Widget>[
+                  Container(
+                    padding:
+                        EdgeInsets.only(left: 15, top: 7, right: 15, bottom: 7),
+                    decoration: BoxDecoration(
+                      color: Colors.grey[600],
+                      borderRadius: BorderRadius.all(
+                        Radius.circular(16.0),
+                      ),
+                    ),
+                    child: Text(
+                      'No result',
+                      textAlign: TextAlign.center,
+                      style: TextStyle(
+                          fontFamily: 'Roboto',
+                          fontSize: 16,
+                          color: Colors.white),
+                    ),
+                  ),
+                ],
+              ),
+            ),
+          ),
+        ],
+      ),
+    );
+  }
+}
+
+/// Signature for the [SearchToolbar.onTap] callback.
+typedef SearchTapCallback = void Function(Object item);
+
+/// SearchToolbar widget
+class SearchToolbar extends StatefulWidget {
+  ///it describe the search toolbar constructor
+  SearchToolbar({
+    this.controller,
+    this.onTap,
+    this.showTooltip = true,
+    Key? key,
+  }) : super(key: key);
+
+  /// Indicates whether the tooltip for the search toolbar items need to be shown or not.
+  final bool showTooltip;
+
+  /// An object that is used to control the [SfPdfViewer].
+  final PdfViewerController? controller;
+
+  /// Called when the search toolbar item is selected.
+  final SearchTapCallback? onTap;
+
+  @override
+  SearchToolbarState createState() => SearchToolbarState();
+}
+
+/// State for the SearchToolbar widget
+class SearchToolbarState extends State<SearchToolbar> {
+  /// Indicates whether search is initiated or not.
+  bool _isSearchInitiated = false;
+
+  /// Indicates whether search toast need to be shown or not.
+  bool _showToast = false;
+
+  ///An object that is used to retrieve the current value of the TextField.
+  final TextEditingController _editingController = TextEditingController();
+
+  /// An object that is used to retrieve the text search result.
+  PdfTextSearchResult _pdfTextSearchResult = PdfTextSearchResult();
+
+  ///An object that is used to obtain keyboard focus and to handle keyboard events.
+  FocusNode? focusNode;
+
+  @override
+  void initState() {
+    super.initState();
+    focusNode = FocusNode();
+    focusNode?.requestFocus();
+  }
+
+  @override
+  void dispose() {
+    // Clean up the focus node when the Form is disposed.
+    focusNode?.dispose();
+    _pdfTextSearchResult.removeListener(() {});
+    super.dispose();
+  }
+
+  ///Clear the text search result
+  void clearSearch() {
+    _isSearchInitiated = false;
+    _pdfTextSearchResult.clear();
+  }
+
+  ///Display the Alert dialog to search from the beginning
+  void _showSearchAlertDialog(BuildContext context) {
+    showDialog(
+      context: context,
+      builder: (BuildContext context) {
+        return AlertDialog(
+          insetPadding: EdgeInsets.all(0),
+          title: Text('Search Result'),
+          content: Container(
+              width: 328.0,
+              child: Text(
+                  'No more occurrences found. Would you like to continue to search from the beginning?')),
+          actions: <Widget>[
+            TextButton(
+              onPressed: () {
+                setState(() {
+                  _pdfTextSearchResult.nextInstance();
+                });
+                Navigator.of(context).pop();
+              },
+              child: Text(
+                'YES',
+                style: TextStyle(
+                    color: Color(0x00000000).withOpacity(0.87),
+                    fontFamily: 'Roboto',
+                    fontStyle: FontStyle.normal,
+                    fontWeight: FontWeight.w500,
+                    decoration: TextDecoration.none),
+              ),
+            ),
+            TextButton(
+              onPressed: () {
+                setState(() {
+                  _pdfTextSearchResult.clear();
+                  _editingController.clear();
+                  _isSearchInitiated = false;
+                  focusNode?.requestFocus();
+                });
+                Navigator.of(context).pop();
+              },
+              child: Text(
+                'NO',
+                style: TextStyle(
+                    color: Color(0x00000000).withOpacity(0.87),
+                    fontFamily: 'Roboto',
+                    fontStyle: FontStyle.normal,
+                    fontWeight: FontWeight.w500,
+                    decoration: TextDecoration.none),
+              ),
+            ),
+          ],
+        );
+      },
+    );
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Row(
+      children: <Widget>[
+        Material(
+          color: Colors.transparent,
+          child: IconButton(
+            icon: Icon(
+              Icons.arrow_back,
+              color: Color(0x00000000).withOpacity(0.54),
+              size: 24,
+            ),
+            onPressed: () {
+              widget.onTap?.call('Cancel Search');
+              _isSearchInitiated = false;
+              _editingController.clear();
+              _pdfTextSearchResult.clear();
+            },
+          ),
+        ),
+        Flexible(
+          child: TextFormField(
+            style: TextStyle(
+                color: Color(0x00000000).withOpacity(0.87), fontSize: 16),
+            enableInteractiveSelection: false,
+            focusNode: focusNode,
+            keyboardType: TextInputType.text,
+            textInputAction: TextInputAction.search,
+            controller: _editingController,
+            decoration: InputDecoration(
+              border: InputBorder.none,
+              hintText: 'Find...',
+              hintStyle: TextStyle(color: Color(0x00000000).withOpacity(0.34)),
+            ),
+            onChanged: (text) {
+              if (_editingController.text.isNotEmpty) {
+                setState(() {});
+              }
+            },
+            onFieldSubmitted: (String value) {
+              if (kIsWeb) {
+                _pdfTextSearchResult =
+                    widget.controller!.searchText(_editingController.text);
+                if (_pdfTextSearchResult.totalInstanceCount == 0) {
+                  widget.onTap?.call('noResultFound');
+                }
+                setState(() {});
+              } else {
+                _isSearchInitiated = true;
+                _pdfTextSearchResult =
+                    widget.controller!.searchText(_editingController.text);
+                _pdfTextSearchResult.addListener(() {
+                  if (super.mounted) {
+                    setState(() {});
+                  }
+                  if (!_pdfTextSearchResult.hasResult &&
+                      _pdfTextSearchResult.isSearchCompleted) {
+                    widget.onTap?.call('noResultFound');
+                  }
+                });
+              }
+            },
+          ),
+        ),
+        Visibility(
+          visible: _editingController.text.isNotEmpty,
+          child: Material(
+            color: Colors.transparent,
+            child: IconButton(
+              icon: Icon(
+                Icons.clear,
+                color: Color.fromRGBO(0, 0, 0, 0.54),
+                size: 24,
+              ),
+              onPressed: () {
+                setState(() {
+                  _editingController.clear();
+                  _pdfTextSearchResult.clear();
+                  widget.controller!.clearSelection();
+                  _isSearchInitiated = false;
+                  focusNode!.requestFocus();
+                });
+                widget.onTap!.call('Clear Text');
+              },
+              tooltip: widget.showTooltip ? 'Clear Text' : null,
+            ),
+          ),
+        ),
+        Visibility(
+          visible:
+              !_pdfTextSearchResult.isSearchCompleted && _isSearchInitiated,
+          child: Padding(
+            padding: const EdgeInsets.only(right: 10),
+            child: SizedBox(
+              width: 24,
+              height: 24,
+              child: CircularProgressIndicator(
+                color: Theme.of(context).primaryColor,
+              ),
+            ),
+          ),
+        ),
+        Visibility(
+          visible: _pdfTextSearchResult.hasResult,
+          child: Row(
+            children: [
+              Text(
+                '${_pdfTextSearchResult.currentInstanceIndex}',
+                style: TextStyle(
+                    color: Color.fromRGBO(0, 0, 0, 0.54).withOpacity(0.87),
+                    fontSize: 16),
+              ),
+              Text(
+                ' of ',
+                style: TextStyle(
+                    color: Color.fromRGBO(0, 0, 0, 0.54).withOpacity(0.87),
+                    fontSize: 16),
+              ),
+              Text(
+                '${_pdfTextSearchResult.totalInstanceCount}',
+                style: TextStyle(
+                    color: Color.fromRGBO(0, 0, 0, 0.54).withOpacity(0.87),
+                    fontSize: 16),
+              ),
+              Material(
+                color: Colors.transparent,
+                child: IconButton(
+                  icon: Icon(
+                    Icons.navigate_before,
+                    color: Color.fromRGBO(0, 0, 0, 0.54),
+                    size: 24,
+                  ),
+                  onPressed: () {
+                    setState(() {
+                      _pdfTextSearchResult.previousInstance();
+                    });
+                    widget.onTap!.call('Previous Instance');
+                  },
+                  tooltip: widget.showTooltip ? 'Previous' : null,
+                ),
+              ),
+              Material(
+                color: Colors.transparent,
+                child: IconButton(
+                  icon: Icon(
+                    Icons.navigate_next,
+                    color: Color.fromRGBO(0, 0, 0, 0.54),
+                    size: 24,
+                  ),
+                  onPressed: () {
+                    setState(() {
+                      if (_pdfTextSearchResult.currentInstanceIndex ==
+                              _pdfTextSearchResult.totalInstanceCount &&
+                          _pdfTextSearchResult.currentInstanceIndex != 0 &&
+                          _pdfTextSearchResult.totalInstanceCount != 0 &&
+                          _pdfTextSearchResult.isSearchCompleted) {
+                        _showSearchAlertDialog(context);
+                      } else {
+                        widget.controller!.clearSelection();
+                        _pdfTextSearchResult.nextInstance();
+                      }
+                    });
+                    widget.onTap!.call('Next Instance');
+                  },
+                  tooltip: widget.showTooltip ? 'Next' : null,
+                ),
+              ),
+            ],
+          ),
+        ),
+      ],
+    );
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/text-selection.md b/Document-Processing/PDF/PDF-Viewer/flutter/text-selection.md
new file mode 100644
index 000000000..471032d9f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/text-selection.md
@@ -0,0 +1,355 @@
+---
+layout: post
+title: Text selection in Flutter PDF Viewer widget | Syncfusion
+description: Learn here all about text selection feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text Selection in Flutter PDF Viewer (SfPdfViewer)
+
+On a touch device, the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to select text in the PDF page by long pressing on it, which in turn displays the selection handles or bubbles at the top-left and bottom-right corners of its bounds. You can then use the left handle to select text at the left and top, and the right handle to select text at the right and bottom directions.
+
+On a desktop web browser, text selection can also be performed using mouse dragging with the [`selection`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfInteractionMode.html) interaction mode enabled.
+
+N> Images in the document will not be selected, and multiple-page text selection is not supported for now. 
+
+## Enable or Disable Text Selection
+
+You can enable or disable text selection in the PDF page using the [enableTextSelection](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/enableTextSelection.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              enableTextSelection: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> On a desktop web browser, the `enableTextSelection` property will have no effect on the [`pan`](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfInteractionMode.html) interaction mode.
+
+## Customize the Text Selection and Its Handle Color
+
+The [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) allows you to customize the color used for text selection and its handle based on your requirements. The properties [selectionColor](https://api.flutter.dev/flutter/material/TextSelectionThemeData/selectionColor.html) and [selectionHandleColor](https://api.flutter.dev/flutter/material/TextSelectionThemeData/selectionHandleColor.html) of the [TextSelectionThemeData](https://api.flutter.dev/flutter/material/TextSelectionThemeData-class.html) class can be used to customize them. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="3 4 5 6" %}
+
+void main() => runApp(MaterialApp(
+      title: 'PDF Viewer Demo',
+      theme: ThemeData(
+        textSelectionTheme: TextSelectionThemeData(
+            selectionColor: Colors.red, selectionHandleColor: Colors.blue),
+      ),
+      home: HomePage(),
+    ));
+
+/// Represents Homepage for Navigation
+class HomePage extends StatefulWidget {
+  @override
+  _HomePageState createState() => _HomePageState();
+}
+
+class _HomePageState extends State<HomePage> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+        appBar: AppBar(
+          title: Text('Flutter PDF Viewer'),
+        ),
+        body: Container(
+            child: SfPdfViewer.network(
+          'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        )));
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the visibility of the text selection context menu
+
+The `canShowTextSelectionMenu` property allows the user to customize the visibility of the built-in text selection context menu. You can assign `false` to this property to disable the text selection context menu. The following code example explains how to disable the built-in text selection context menu in the PDF viewer.
+
+{% tabs %}
+{% highlight dart hl_lines="7" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    body: Container(
+      child: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/encrypted.pdf',
+        canShowTextSelectionMenu: false,
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Callbacks
+
+The `SfPdfViewer` text selection supports the [PdfTextSelectionChangedCallback](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSelectionChangedCallback.html) to notify the text selection changes.
+
+### Text Selection Changed Callback
+
+The [onTextSelectionChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onTextSelectionChanged.html) callback triggers when the text is selected or deselected in the SfPdfViewer. The [PdfTextSelectionChangedDetails](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSelectionChangedDetails-class.html) holds the [globalSelectedRegion](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSelectionChangedDetails/globalSelectedRegion.html) representing the global bounds information of the selected text region and the [selectedText](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfTextSelectionChangedDetails/selectedText.html) representing the selected text value. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="9 10 11 12 13" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      appBar: AppBar(
+        title: Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onTextSelectionChanged: (PdfTextSelectionChangedDetails details) {
+          if (details.selectedText != null) {
+            print(details.selectedText);
+          }
+        },
+      ));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Get the Selected Text Lines in the PDF Viewer?
+
+Using the [getSelectedTextLines](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewerState/getSelectedTextLines.html) method, you can get the selected text lines in the PDF viewer. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="10 11" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+    appBar: AppBar(
+      title: const Text('Flutter PDF Viewer'),
+      actions: <Widget>[
+        IconButton(
+          icon: const Icon(Icons.add),
+          onPressed: () async {
+            final List<PdfTextLine>? selectedTextLines =
+                _pdfViewerKey.currentState?.getSelectedTextLines();
+
+            if (selectedTextLines != null && selectedTextLines.isNotEmpty) {
+              // Creates a highlight annotation with the selected text lines.
+              final HighlightAnnotation highlightAnnotation =
+                  HighlightAnnotation(
+                textBoundsCollection: selectedTextLines,
+              );
+              // Adds the highlight annotation to the PDF document.
+              _pdfViewerController.addAnnotation(highlightAnnotation);
+            }
+          },
+        ),
+      ],
+    ),
+    body: SfPdfViewer.asset(
+      'assets/sample.pdf',
+      key: _pdfViewerKey,
+      controller: _pdfViewerController,
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Create and Display a Customized Text Selection Context Menu with Copy and Text Markup Options to Retrieve the Selected Text?
+
+With the options available in `SfPdfViewer` text selection, you can easily create and display a customized text selection context menu with various options such as **Copy, Highlight, Underline, Strikethrough, and Squiggly**, and perform operations with them. The following code example explains how to implement this functionality.
+
+In this example, we use the [OverlayEntry](https://api.flutter.dev/flutter/widgets/OverlayEntry-class.html) widget to create the customized context menu and add buttons for various options, such as Copy, Highlight, Underline, Strikethrough, and Squiggly. We are calling the method to display the customized context menu in the [onTextSelectionChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onTextSelectionChanged.html) callback. Whenever one of these options is pressed, the corresponding action is performed on the selected text.
+
+* For the copy operation, the selected text value is retrieved from the `selectedText` property of the [onTextSelectionChanged](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onTextSelectionChanged.html) callback details. We then copy the text to the clipboard using the [Clipboard.setData](https://api.flutter.dev/flutter/services/Clipboard/setData.html) method.
+The text selection is cleared after the Copy operation by calling the [clearSelection](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/clearSelection.html) controller method.
+
+* For the text markup options, we retrieve the selected text lines using the [getSelectedTextLines](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewerState/getSelectedTextLines.html) method and add the respective annotations using the [addAnnotation](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/PdfViewerController/addAnnotation.html) method on the `PdfViewerController`.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+
+void main() => runApp(const MaterialApp(
+      title: 'PDF Viewer Demo',
+      home: HomePage(),
+    ));
+
+/// Represents Homepage for Navigation
+class HomePage extends StatefulWidget {
+  const HomePage({super.key});
+
+  @override
+  State<HomePage> createState() => _HomePageState();
+}
+
+class _HomePageState extends State<HomePage> {
+  late PdfViewerController _pdfViewerController;
+  OverlayEntry? _overlayEntry;
+  final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
+
+  @override
+  void initState() {
+    _pdfViewerController = PdfViewerController();
+    super.initState();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Flutter PDF Viewer'),
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        onTextSelectionChanged: (PdfTextSelectionChangedDetails details) {
+          if (details.selectedText == null && _overlayEntry != null) {
+            _overlayEntry!.remove();
+            _overlayEntry = null;
+          } else if (details.selectedText != null && _overlayEntry == null) {
+            _showContextMenu(context, details);
+          }
+        },
+        key: _pdfViewerKey,
+        controller: _pdfViewerController,
+        canShowTextSelectionMenu: false,
+      ),
+    );
+  }
+
+  void _showContextMenu(
+      BuildContext context, PdfTextSelectionChangedDetails details) {
+    const double height = 250;
+    const double width = 150;
+    final OverlayState overlayState = Overlay.of(context);
+    final Size screenSize = MediaQuery.of(context).size;
+
+    double top = details.globalSelectedRegion!.top >= screenSize.height / 2
+        ? details.globalSelectedRegion!.top - height - 10
+        : details.globalSelectedRegion!.bottom + 20;
+    top = top < 0 ? 20 : top;
+    top = top + height > screenSize.height
+        ? screenSize.height - height - 10
+        : top;
+
+    double left = details.globalSelectedRegion!.bottomLeft.dx;
+    left = left < 0 ? 10 : left;
+    left =
+        left + width > screenSize.width ? screenSize.width - width - 10 : left;
+    _overlayEntry = OverlayEntry(
+      builder: (BuildContext context) => Positioned(
+        top: top,
+        left: left,
+        child: Container(
+          decoration: BoxDecoration(
+            color: Colors.white,
+            borderRadius: BorderRadius.circular(4),
+            boxShadow: const <BoxShadow>[
+              BoxShadow(
+                color: Colors.black26,
+                blurRadius: 4,
+                offset: Offset(2, 2),
+              ),
+            ],
+          ),
+          constraints:
+              const BoxConstraints.tightFor(width: width, height: height),
+          child: Column(
+            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+            children: <Widget>[
+              TextButton(
+                onPressed: () {
+                  if (details.selectedText != null) {
+                    Clipboard.setData(
+                        ClipboardData(text: details.selectedText!));
+                    print('Text copied to clipboard: ${details.selectedText}');
+                    _pdfViewerController.clearSelection();
+                  }
+                },
+                child: const Text('Copy', style: TextStyle(fontSize: 15)),
+              ),
+              TextButton(
+                onPressed: () {
+                  final List<PdfTextLine>? textLines =
+                      _pdfViewerKey.currentState?.getSelectedTextLines();
+                  if (textLines != null && textLines.isNotEmpty) {
+                    final HighlightAnnotation highlightAnnotation =
+                        HighlightAnnotation(
+                      textBoundsCollection: textLines,
+                    );
+                    _pdfViewerController.addAnnotation(highlightAnnotation);
+                  }
+                },
+                child: const Text('Highlight', style: TextStyle(fontSize: 15)),
+              ),
+              TextButton(
+                onPressed: () {
+                  final List<PdfTextLine>? textLines =
+                      _pdfViewerKey.currentState?.getSelectedTextLines();
+                  if (textLines != null && textLines.isNotEmpty) {
+                    final UnderlineAnnotation underLineAnnotation =
+                        UnderlineAnnotation(
+                      textBoundsCollection: textLines,
+                    );
+                    _pdfViewerController.addAnnotation(underLineAnnotation);
+                  }
+                },
+                child: const Text('Underline', style: TextStyle(fontSize: 15)),
+              ),
+              TextButton(
+                onPressed: () {
+                  final List<PdfTextLine>? textLines =
+                      _pdfViewerKey.currentState?.getSelectedTextLines();
+                  if (textLines != null && textLines.isNotEmpty) {
+                    final StrikethroughAnnotation strikethroughAnnotation =
+                        StrikethroughAnnotation(
+                      textBoundsCollection: textLines,
+                    );
+                    _pdfViewerController.addAnnotation(strikethroughAnnotation);
+                  }
+                },
+                child:
+                    const Text('Strikethrough', style: TextStyle(fontSize: 15)),
+              ),
+              TextButton(
+                onPressed: () {
+                  final List<PdfTextLine>? textLines =
+                      _pdfViewerKey.currentState?.getSelectedTextLines();
+                  if (textLines != null && textLines.isNotEmpty) {
+                    final SquigglyAnnotation squigglyAnnotation =
+                        SquigglyAnnotation(
+                      textBoundsCollection: textLines,
+                    );
+                    _pdfViewerController.addAnnotation(squigglyAnnotation);
+                  }
+                },
+                child: const Text('Squiggly', style: TextStyle(fontSize: 15)),
+              ),
+            ],
+          ),
+        ),
+      ),
+    );
+    overlayState.insert(_overlayEntry!);
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/ui-customization.md b/Document-Processing/PDF/PDF-Viewer/flutter/ui-customization.md
new file mode 100644
index 000000000..327186956
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/ui-customization.md
@@ -0,0 +1,89 @@
+---
+layout: post
+title: UI Customization in Flutter PDF Viewer | Syncfusion
+description: Learn here all about the UI customization options in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# UI Customization in Flutter PDF Viewer (SfPdfViewer)
+
+This section walks you through the UI customization options supported in the [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html) widget.
+
+## Customize the Space Displayed Between the PDF Pages
+
+By default, the `SfPdfViewer` displays spacing between the PDF pages with a value of **4 pixels**. You can customize the space being displayed using the [pageSpacing](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/pageSpacing.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              pageSpacing: 2));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the Visibility of Scroll Head and Scroll Status
+
+By default, the `SfPdfViewer` displays the scroll head and scroll status. You can customize the visibility of these items using the [canShowScrollHead](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowScrollHead.html) and [canShowScrollStatus](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowScrollStatus.html) properties. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6 7" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+              canShowScrollHead: false,
+              canShowScrollStatus: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> On a desktop or mobile web browser, this `canShowScrollHead` property will have no effect since the scroll head will not be displayed there.
+
+## Customize the Visibility of Page Navigation Dialog
+
+By default, the page navigation dialog will be displayed when the scroll head is tapped. You can customize the visibility of the page navigation dialog using the [canShowPaginationDialog](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowPaginationDialog.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              canShowPaginationDialog: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> On a desktop or mobile web browser, this `canShowPaginationDialog` property will have no effect since the pagination dialog will not be displayed there.
+
+## Customize the Visibility of Page Loading Busy Indicator
+
+By default, the `SfPdfViewer` displays the page loading busy indicator. You can customize the visibility of this using the [canShowPageLoadingIndicator](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowPageLoadingIndicator.html) property. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="6" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: SfPdfViewer.network(
+              'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', 
+              canShowPageLoadingIndicator: false));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/undo-redo.md b/Document-Processing/PDF/PDF-Viewer/flutter/undo-redo.md
new file mode 100644
index 000000000..1e6005b4d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/undo-redo.md
@@ -0,0 +1,79 @@
+---
+layout: post
+title: Undo and redo annotations in the Flutter PDF Viewer | Syncfusion
+description: Learn here all about Undo and Redo actions on the annotations in Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Undo and Redo Annotations in the Flutter PDF Viewer (SfPdfViewer)
+
+If you performed any undesired actions when adding, removing, or editing annotations, you can undo and redo the action to restore the previous state. This section will go through how to undo and redo the changes made to the annotations.
+
+For desktop platforms such as Windows, macOS, Linux, and desktop web, you can use the following shortcut keys to perform the actions.
+
+<table>
+<tr>
+<th>Action & Shortcut Keys</th>
+<th>Windows</th>
+<th>macOS</th>
+<th>Linux</th>
+</tr>
+<tr>
+<th>Undo</th>
+<td><code>Ctrl</code> + <code>z</code></td>
+<td><code>Command</code> + <code>z</code></td>
+<td><code>Ctrl</code> + <code>z</code></td>
+</tr>
+<tr>
+<th>Redo</th>
+<td><code>Ctrl</code> + <code>y</code></td>
+<td><code>Command</code> + <code>y</code></td>
+<td><code>Ctrl</code> + <code>y</code></td>
+</tr>
+</table>
+
+You can perform the undo and redo operations in the `SfPdfViewer` by assigning the `UndoHistoryController` instance to the `undoController` property of the `SfPdfViewer`. The UndoHistoryController class contains the `undo` and `redo` methods to perform the undo and redo operations, respectively. The `canUndo` and `canRedo` properties check whether the undo and redo operations can be performed, respectively. The following code example illustrates how to perform the undo and redo operations programmatically in the `SfPdfViewer` with the help of the UndoHistoryController class.
+
+{% tabs %}
+{% highlight dart hl_lines="12 13 21 22 29" %}
+
+final UndoHistoryController _undoController = UndoHistoryController();
+
+@override
+Widget build(BuildContext context) {
+  return MaterialApp(
+    home: Scaffold(
+      appBar: AppBar(actions: [
+        ValueListenableBuilder(
+            valueListenable: _undoController,
+            builder: (context, value, child) {
+              return IconButton(
+                onPressed:
+                    _undoController.value.canUndo ? _undoController.undo : null,
+                icon: const Icon(Icons.undo),
+              );
+            }),
+        ValueListenableBuilder(
+            valueListenable: _undoController,
+            builder: (context, value, child) {
+              return IconButton(
+                onPressed:
+                    _undoController.value.canRedo ? _undoController.redo : null,
+                icon: const Icon(Icons.redo),
+              );
+            }),
+      ]),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
+        undoController: _undoController,
+      ),
+    ),
+  );
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> This `undoController` is common for annotations and form fields. You do not need to create separate instances for both.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/flutter/viewing-password-protected-pdf-files.md b/Document-Processing/PDF/PDF-Viewer/flutter/viewing-password-protected-pdf-files.md
new file mode 100644
index 000000000..0e5f8daf9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/flutter/viewing-password-protected-pdf-files.md
@@ -0,0 +1,267 @@
+---
+layout: post
+title: Viewing password-protected PDFs in Flutter PDF Viewer | Syncfusion
+description: Learn here all about loading password-protected PDF feature of Syncfusion® Flutter PDF Viewer (SfPdfViewer) widget and more.
+platform: flutter
+control: SfPdfViewer
+documentation: ug
+---
+
+# Viewing Password-Protected PDFs in Flutter PDF Viewer (SfPdfViewer)
+
+To load a password-protected document without a password or with an invalid password in [SfPdfViewer](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer-class.html), use the [password](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/password.html) property. The default password dialog will be displayed.
+
+![Password dialog](images/password-dialog/password-dialog.png)
+
+## Customize the Visibility of Password Dialog
+
+The password-protected document can be loaded by providing the password in the [password](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/password.html) property of SfPdfViewer. The [canShowPasswordDialog](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowPasswordDialog.html) property allows the user to customize the password dialog visibility. The following code example explains the same.
+
+{% tabs %}
+{% highlight dart hl_lines="7 8" %}
+
+@override
+Widget build(BuildContext context) {
+  return Scaffold(
+      body: Container(
+          child: SfPdfViewer.network(
+            'https://cdn.syncfusion.com/content/PDFViewer/encrypted.pdf',
+            password:'syncfusion',
+            canShowPasswordDialog: false,)));
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Create and Display a Customized Password Dialog?
+
+The `SfPdfViewer` library allows you to create and display a customized password dialog. The following code example explains the same. In this example, we have disabled the built-in password dialog by setting the [canShowPasswordDialog](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/canShowPasswordDialog.html) property to false and created the customized password dialog with the [AlertDialog](https://api.flutter.dev/flutter/material/AlertDialog-class.html) widget. Whenever the `password` is empty or incorrect, the [onDocumentLoadFailed](https://pub.dev/documentation/syncfusion_flutter_pdfviewer/latest/pdfviewer/SfPdfViewer/onDocumentLoadFailed.html) callback is triggered, and this callback is used to display the customized password dialog.
+
+{% tabs %}
+{% highlight Dart %}
+
+import 'package:flutter/material.dart';
+import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
+import 'package:flutter/foundation.dart';
+
+void main() {
+  runApp(const MaterialApp(home: CustomPasswordDialog()));
+}
+
+class CustomPasswordDialog extends StatefulWidget {
+  const CustomPasswordDialog({Key? key}) : super(key: key);
+
+  @override
+  _CustomPasswordDialogState createState() => _CustomPasswordDialogState();
+}
+
+class _CustomPasswordDialogState extends State<CustomPasswordDialog> {
+  String? _password;
+  final GlobalKey<FormFieldState> _formKey = GlobalKey<FormFieldState>();
+  final TextEditingController _textFieldController = TextEditingController();
+  final FocusNode _passwordDialogFocusNode = FocusNode();
+  bool _hasPasswordDialog = false;
+  String _errorText = '';
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: AppBar(
+        title: const Text('Custom password dialog'),
+        toolbarHeight: 56,
+      ),
+      body: SfPdfViewer.network(
+        'https://cdn.syncfusion.com/content/PDFViewer/encrypted.pdf',
+        canShowPasswordDialog: false,
+        password: _password,
+        onDocumentLoaded: (details) {
+          if (_hasPasswordDialog) {
+            Navigator.pop(context);
+            _hasPasswordDialog = false;
+            _passwordDialogFocusNode.unfocus();
+            _textFieldController.clear();
+          }
+        },
+        onDocumentLoadFailed: (details) {
+          if (details.description.contains('password')) {
+            if (details.description.contains('password') &&
+                _hasPasswordDialog) {
+              _errorText = "Invalid password !!";
+              _formKey.currentState?.validate();
+              _textFieldController.clear();
+              _passwordDialogFocusNode.requestFocus();
+            } else {
+              _errorText = '';
+              /// Creating custom password dialog.
+              _showCustomPasswordDialog();
+              _passwordDialogFocusNode.requestFocus();
+              _hasPasswordDialog = true;
+            }
+          }
+        },
+      ),
+    );
+  }
+
+  /// Show the customized password dialog
+  Future<void> _showCustomPasswordDialog() async {
+    return showDialog<void>(
+        context: context,
+        builder: (BuildContext context) {
+          final Orientation orientation = kIsWeb
+              ? Orientation.portrait
+              : MediaQuery.of(context).orientation;
+          return AlertDialog(
+            scrollable: true,
+            insetPadding: EdgeInsets.zero,
+            contentPadding: orientation == Orientation.portrait
+                ? const EdgeInsets.all(24)
+                : const EdgeInsets.only(top: 0, right: 24, left: 24, bottom: 0),
+            buttonPadding: orientation == Orientation.portrait
+                ? const EdgeInsets.all(8)
+                : const EdgeInsets.all(4),
+            title: Row(
+              mainAxisAlignment: MainAxisAlignment.spaceBetween,
+              children: <Widget>[
+                Text(
+                  'Password required',
+                  style: TextStyle(
+                    fontFamily: 'Roboto',
+                    fontSize: 20,
+                    fontWeight: FontWeight.w500,
+                    color: Theme.of(context)
+                        .colorScheme
+                        .onSurface
+                        .withOpacity(0.87),
+                  ),
+                ),
+                SizedBox(
+                  height: 36,
+                  width: 36,
+                  child: RawMaterialButton(
+                    onPressed: () {
+                      _closePasswordDialog();
+                    },
+                    child: Icon(
+                      Icons.clear,
+                      color: Theme.of(context)
+                          .colorScheme
+                          .onSurface
+                          .withOpacity(0.6),
+                      size: 24,
+                    ),
+                  ),
+                ),
+              ],
+            ),
+            shape: const RoundedRectangleBorder(
+                borderRadius: BorderRadius.all(Radius.circular(4.0))),
+            content: SingleChildScrollView(
+                child: SizedBox(
+                    width: 326,
+                    child: Column(children: <Widget>[
+                      Align(
+                        alignment: Alignment.centerLeft,
+                        child: Padding(
+                          padding: const EdgeInsets.fromLTRB(0, 0, 0, 30),
+                          child: Text(
+                            'The document is password protected. Please enter a password.',
+                            style: TextStyle(
+                              fontFamily: 'Roboto',
+                              fontSize: 16,
+                              fontWeight: FontWeight.w400,
+                              color: Theme.of(context)
+                                  .colorScheme
+                                  .onSurface
+                                  .withOpacity(0.6),
+                            ),
+                          ),
+                        ),
+                      ),
+                      Form(
+                        child: TextFormField(
+                          key: _formKey,
+                          controller: _textFieldController,
+                          focusNode: _passwordDialogFocusNode,
+                          obscureText: true,
+                          decoration: const InputDecoration(
+                              hintText: 'Password hint: syncfusion',
+                              border: OutlineInputBorder(
+                                  borderSide: BorderSide(color: Colors.blue)),
+                              focusedBorder: OutlineInputBorder(
+                                  borderSide: BorderSide(color: Colors.blue))),
+                          obscuringCharacter: '#',
+                          onFieldSubmitted: (value) {
+                            _handlePasswordValidation(value);
+                          },
+                          validator: (value) {
+                            if (_errorText.isNotEmpty) {
+                              return _errorText;
+                            }
+                            return null;
+                          },
+                          onChanged: (value) {
+                            _formKey.currentState?.validate();
+                            _errorText = '';
+                          },
+                        ),
+                      )
+                    ]))),
+            actions: <Widget>[
+              TextButton(
+                onPressed: () {
+                  _handlePasswordValidation(_textFieldController.text);
+                },
+                child: Text(
+                  'OK',
+                  style: TextStyle(
+                    fontFamily: 'Roboto',
+                    fontSize: 14,
+                    fontWeight: FontWeight.w500,
+                    color: Theme.of(context).colorScheme.primary,
+                  ),
+                ),
+              ),
+              Padding(
+                padding: const EdgeInsets.fromLTRB(0, 0, 10, 0),
+                child: TextButton(
+                  onPressed: () {
+                    _closePasswordDialog();
+                  },
+                  child: Text(
+                    'CANCEL',
+                    style: TextStyle(
+                      fontFamily: 'Roboto',
+                      fontSize: 14,
+                      fontWeight: FontWeight.w500,
+                      color: Theme.of(context).colorScheme.primary,
+                    ),
+                  ),
+                ),
+              )
+            ],
+          );
+        });
+  }
+
+  /// Close the password dialog
+  void _closePasswordDialog() {
+    Navigator.pop(context, 'Cancel');
+    _hasPasswordDialog = false;
+    _passwordDialogFocusNode.unfocus();
+    _textFieldController.clear();
+  }
+
+  /// Validates the password entered in the text field.
+  void _handlePasswordValidation(String value) {
+    setState(() {
+      _password = value;
+      _passwordDialogFocusNode.requestFocus();
+    });
+  }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Custom Password dialog](images/password-dialog/custompassword-dialog.png)
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Add-Remove-Modify-Annotations.md b/Document-Processing/PDF/PDF-Viewer/maui/Add-Remove-Modify-Annotations.md
new file mode 100644
index 000000000..cdb62b5cf
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Add-Remove-Modify-Annotations.md
@@ -0,0 +1,192 @@
+---
+layout: post
+title: Add, Remove, and Edit Annotations in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here all about adding, removing and editing annotations in a PDF document using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Add, Remove, and Edit Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+This section will review the various functions in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) for adding, removing, and  editing annotations in a PDF document. 
+
+## Add annotations to a PDF document
+
+This section will go through how to add annotations to a PDF document programmatically.
+
+### Add annotations programmatically 
+
+You can add a new annotation to the PDF document programmatically by creating an annotation instance and providing it as a parameter to the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method. The following example shows how to create an instance of a circle annotation and add it to the PDF document. Similarly, you can create and add other types of annotations. 
+
+{% tabs %}
+{% highlight c# %}
+void AddCircleAnnotation()
+{
+    int pageNumber = 1;
+    // Define the bounds for the circle in the PDF coordinates.
+    RectF circleBounds = new RectF(10, 10, 100, 100);
+    
+    // Create a circle annotation.
+    CircleAnnotation annotation = new CircleAnnotation(circleBounds, pageNumber); 
+
+    // Set the appearance for the circle annotation.
+    annotation.Color = Colors.Red; //Stroke color
+    annotation.FillColor = Colors.Green; //Fill color
+    annotation.BorderWidth = 2; //Stroke thickness
+    annotation.Opacity = 0.75f; // 75% Opacity
+
+    // Add the annotation to the PDF document using the `AddAnnotation` method of `SfPdfViewer`.
+    PdfViewer.AddAnnotation(annotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### AnnotationAdded event
+
+The [AnnotationAdded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationAdded) event occurs when an annotation is added successfully to the PDF document. The following example explains how to wire and handle the event.
+
+{% tabs %}
+{% highlight c# %}
+void WireAnnotationAddedEvent()
+{
+    // Wire the annotation added event of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control.
+    PdfViewer.AnnotationAdded += OnAnnotationAdded;
+}
+
+private void OnAnnotationAdded(object sender, AnnotationEventArgs e)
+{
+    Annotation addedAnnotation = e.Annotation;
+    Debug.WriteLine("{0} is added to the document successfully", addedAnnotation.Name);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Remove annotations from the PDF document
+
+This section will go through different methods of removing annotations from a PDF document.
+
+### Remove a specific annotation
+
+You can remove an annotation from the document programmatically by providing the specific annotation instance as the parameter to the [RemoveAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example shows how to remove the first annotation in the annotation collection from a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+void RemoveFirstAnnotation()
+{
+    //Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+    //Obtain the first annotation in the annotation collection.
+    Annotation firstAnnotation = annotations[0];
+
+    //Remove the annotation using the RemoveAnnotation method of `SfPdfViewer`.
+    PdfViewer.RemoveAnnotation(firstAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Remove all the annotations
+
+You can remove all the annotations from a document programmatically by calling the [RemoveAllAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAllAnnotations) method. The following example shows how to remove all the annotations from a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+void RemoveAllAnnotations()
+{
+    // Removes all the annotations from a PDF document using [RemoveAllAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAllAnnotations) method of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+    PdfViewer.RemoveAllAnnotations();
+}		
+{% endhighlight %}
+{% endtabs %}
+
+### AnnotationRemoved event
+
+The [AnnotationRemoved](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationRemoved) event occurs when an annotation is removed successfully from the PDF document. The following example explains how to wire and handle the event.
+
+{% tabs %}
+{% highlight c# %}
+void WireAnnotationRemovedEvent()
+{
+    // Wire the annotation removed event of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+    PdfViewer.AnnotationRemoved += OnAnnotationRemoved;
+}
+
+private void OnAnnotationRemoved(object sender, AnnotationEventArgs e)
+{
+    Annotation removedAnnotation = e.Annotation;
+    Debug.WriteLine("{0} is removed from the document successfully", removedAnnotation.Name);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Edit annotations
+
+This section will go through different methods of editing annotations in a PDF document programmatically.
+
+### Edit a specific annotation
+
+You can edit the properties of an annotation from the document programmatically by accessing the specific annotation instance from the [Annotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Annotations) property of the SfPdfViewer. The following example shows how to edit the first annotation in the annotation collection. Similarly, you can also modify the other properties.
+
+{% tabs %}
+{% highlight c# %}
+void EditFirstAnnotation()
+{
+    // Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+    // Obtain the first annotation in the annotation collection.
+    Annotation annotation = annotations[0];
+
+    // Edit the annotation properties.
+    annotation.Color = Colors.Green; //Stroke color.
+    annotation.Opacity = 0.75f; // 75% Opacity
+
+    // Type cast to edit the properties of the specific annotation type. Here, the first annotation is a circle annotation.
+    if (annotation is CircleAnnotation circleAnnotation)
+    {
+        circleAnnotation.FillColor = Colors.Red; //Inner fill color.
+        circleAnnotation.BorderWidth = 2; //Stroke thickness.
+        circleAnnotation.Bounds = new RectF(10, 10, 100, 100); // Bounds in PDF coordinates.
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+### AnnotationEdited event
+
+The [AnnotationEdited](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationEdited) event occurs when an annotation is edited in the PDF document. The following example explains how to wire and handle the event.
+
+{% tabs %}
+{% highlight c# %}
+void WireAnnotationEditedEvent()
+{
+    // Wire the annotation edited event of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+    PdfViewer.AnnotationEdited += OnAnnotationEdited;
+}
+
+private void OnAnnotationEdited(object sender, AnnotationEventArgs e)
+{
+    Annotation editedAnnotation = e.Annotation;
+    Debug.WriteLine("The {0} is edited successfully", editedAnnotation.Name);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Adding custom information to an annotation
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to assign custom information to annotations. The [CustomData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_CustomData) property is utilized to store additional information about each annotation instance for reference. However, it's essential to note that these data are solely intended for reference purposes and will not be displayed in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) interface.
+
+The provided code sample illustrates how to set the [CustomData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_CustomData) property for an annotation. Within this code sample, we set the custom data to represent the creation date of the annotation.
+
+{% tabs %}
+{% highlight C# %}
+
+private void OnAnnotationAdded(object sender, AnnotationEventArgs e)
+{
+    e.Annotation.CustomData="Created Date is: " +DateTime.Now.ToString();
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Annotation-Collection.md b/Document-Processing/PDF/PDF-Viewer/maui/Annotation-Collection.md
new file mode 100644
index 000000000..fd8251661
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Annotation-Collection.md
@@ -0,0 +1,42 @@
+---
+layout: post
+title: Annotation Collection in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about annotation collection in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its uses.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Annotation Collection in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The existing annotations in a PDF document can be accessed using the [Annotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Annotations) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). This read only property will have the annotation collection information as soon as the document is loaded into the PDF Viewer. The following example explains how to use the property to obtain information about a square annotation that is the first on a specific document.
+
+{% tabs %}
+{% highlight c# %}
+public void WireDocumentLoadedEvent()
+{
+    // Wire the document loaded event of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to occur when a PDF document is loaded.
+    PdfViewer.DocumentLoaded += OnDocumentLoaded;
+}
+
+private void OnDocumentLoaded(object sender, EventArgs e)
+{
+    if (sender is SfPdfViewer pdfViewer)
+    {
+        // Obtain the annotation collection.
+        ReadOnlyObservableCollection<Annotation> annotations = pdfViewer.Annotations;
+        
+        if (annotations.Count > 0)
+        {
+            // Type cast the annotation to get the annotation-specific properties.
+            if (annotations[0] is SquareAnnotation squareAnnotation)
+            {
+                RectF bounds = squareAnnotation.Bounds;
+                Color color = squareAnnotation.Color;
+            }
+        }
+    }
+}
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Annotations-Overview.md b/Document-Processing/PDF/PDF-Viewer/maui/Annotations-Overview.md
new file mode 100644
index 000000000..cd0b33bed
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Annotations-Overview.md
@@ -0,0 +1,37 @@
+---
+layout: post
+title: About Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about introduction of Annotations in .NET MAUI PDF Viewer (SfPdfViewer) control, its functionalites and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove and modify annotations in the PDF documents. This section will go through the various types and functionalities available in PDF Viewer for working with annotations.
+
+## Supported Annotation Types
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) supports the following annotation types.
+
+1. Arrow
+2. Circle
+3. Free text
+4. Highlight
+5. Ink
+6. Ink eraser
+7. Line
+8. Polygon
+9. Polyline
+10. Square
+11. Squiggly
+12. Stamp
+13. Sticky notes
+14. Strikeout
+15. Underline
+
+To learn how to work with annotations, you can also check out our video tutorial below.
+
+<style>#MAUISfPdfViewerVideoTutorial{width : 90% !important; height: 400px !important }</style> <iframe id='MAUISfPdfViewerVideoTutorial' src='https://www.youtube.com/embed/Vom4I_xt--I'></iframe>
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Coordinates-Conversion.md b/Document-Processing/PDF/PDF-Viewer/maui/Coordinates-Conversion.md
new file mode 100644
index 000000000..770a1d967
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Coordinates-Conversion.md
@@ -0,0 +1,140 @@
+---
+layout: post
+title: Working with PDF coordinates systems in MAUI PDF Viewer | Syncfusion
+description: Learn here all about coordinates conversion in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control. 
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Working with PDF coordinate systems in .NET MAUI PDF Viewer
+
+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.
+
+## Client rectangle
+
+The [ClientRectangle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ClientRectangle) in the MAUI PdfViewer control is  a rectangular area that represents the dimensions of the client area or viewport. The client area denotes the visible portion of the PDF document within the control. In the MAUI PDF Viewer, this client rectangle is illustrated by the red rectangle in the following figure.
+
+![Client rectangle in .NET MAUI PDF Viewer](Images\Coordinates-Conversion\Client-Rectangle.png)
+
+The client rectangle can be obtained by the [ClientRectangle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ClientRectangle) property of the PDF Viewer. The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+//Retrieve the coordinates of the PDF Viewer's client area (viewport)
+Rect clientRectangle = PdfViewer.ClientRectangle;
+{% endhighlight %}
+{% endtabs %}
+
+## Client coordinates
+
+The MAUI PDF Viewer specifies the position of points in the client area(viewport) using client coordinates. The upper-left corner of the client area (viewport) of the control is the origin for client coordinates. The client coordinates in the MAUI PDF Viewer are shown in the following figure.
+
+![Client coordinates in .NET MAUI PDF Viewer](Images\Coordinates-Conversion\Client-Coordinates.png)
+
+### Get the page number from a client point
+
+You can obtain the page number of the client point using the [GetPageNumberFromClientPoint(Point clientPoint)](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GetPageNumberFromClientPoint_Microsoft_Maui_Graphics_Point_) method by passing the client point as an input parameter. The following code sample explains how to get the page number from the client point.
+
+{% tabs %}
+{% highlight c# %}
+//Subscribe to the Tapped event of the PDF Viewer
+PdfViewer.Tapped += PdfViewer_Tapped;  
+ 
+// Handle the tapped event.
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+    //Retrieve the tapped client area position.
+    Point clientPoint = e.Position;
+    //Retrieve the page number that corresponds to the client point.
+    int pageNumber = PdfViewer.GetPageNumberFromClientPoint(clientPoint);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## PDF page coordinates
+
+PDF page coordinates are represented in terms of a 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 coordinates 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.
+
+![Page coordinates in .NET MAUI PDF Viewer](Images\Coordinates-Conversion\Page-Coordinates.png)
+
+## Scroll coordinates
+
+Scroll coordinates in the MAUI PdfViewer denote pixel-based positions as pages are scrolled, indicating precise locations within the entire document. The coordinate system originates from the top-left corner of the visible area.
+
+## Convert PDF Viewer’s coordinates to PDF page coordinates
+
+You can obtain the PDF page coordinates using the [ConvertClientPointToPagePoint(clientPoint, pageNumber)](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ConvertClientPointToPagePoint_Microsoft_Maui_Graphics_Point_System_Int32_) method by passing the client 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# %}
+//Subscribe to the Tapped event of the PDF Viewer
+PdfViewer.Tapped += PdfViewer_Tapped;
+ 
+// Handle the tapped event.
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+    //Retrieve the tapped client area position.
+    Point clientPoint = e.Position;
+    //Retrieve the page number that corresponds to the client point.
+    int pageNumber = PdfViewer.GetPageNumberFromClientPoint(clientPoint);
+    //Retrieve the page point.
+    Point pagePoint = PdfViewer.ConvertClientPointToPagePoint(clientPoint, pageNumber);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Convert PDF page coordinates to PDF Viewer’s coordinates
+
+You can obtain the PDF Viewer’s coordinates using the [ConvertPagePointToClientPoint(pagePoint, pageNumber)](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ConvertPagePointToClientPoint_Microsoft_Maui_Graphics_Point_System_Int32_) method by passing the page point and page number as input parameters. The following code sample explains how to convert a square annotation’s position in the page coordinates to a client point.
+
+{% tabs %}
+{% highlight c# %}
+// Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+// Obtain the first annotation in the annotation collection.
+Annotation annotation = annotations[0];
+
+// Type cast to the specific annotation type. Here, the first annotation is a square annotation.
+if (annotation is SquareAnnotation squareAnnotation)
+{
+    //Get the annotation’s page number.
+    int pageNumber = squareAnnotation.PageNumber;
+    //Get the annotation bounds.
+    RectF annotationBounds = squareAnnotation.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 = PdfViewer.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)](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ConvertPagePointToScrollPoint_Microsoft_Maui_Graphics_Point_System_Int32_) method by passing the page point and page number as input parameters. The following code example explains how to convert a square annotation’s position in the page coordinates to a scroll point.
+
+{% tabs %}
+{% highlight c# %}
+// Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+// Obtain the first annotation in the annotation collection.
+Annotation annotation = annotations[0];
+
+// Type cast to the specific annotation type. Here, the first annotation is a square annotation.
+if (annotation is SquareAnnotation squareAnnotation)
+{
+    //Get the annotation bounds.
+    RectF annotationBounds = squareAnnotation.Bounds;
+    //Get the annotation’s page number.
+    int pageNumber = squareAnnotation.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 = PdfViewer.ConvertPagePointToScrollPoint(pagePoint, pageNumber);
+}
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Custom-Bookmark.md b/Document-Processing/PDF/PDF-Viewer/maui/Custom-Bookmark.md
new file mode 100644
index 000000000..89d4047e1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Custom-Bookmark.md
@@ -0,0 +1,286 @@
+---
+layout: post
+title: Custom Bookmarks in .NET MAUI PDF Viewer Control | Syncfusion
+description: Discover how to navigate using custom bookmark navigation in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Custom Bookmarks in .NET MAUI PDF Viewer
+
+PDF documents can include custom bookmarks that allow the user to bookmark pages and navigate to them. The PDF viewer control displays these custom bookmarks in outline view.
+
+## Showing/Hiding the Custom Bookmarks Pane
+
+The built-in custom bookmark view of the PDF Viewer displays the custom bookmarks, can be shown or hidden using the [IsOutlineViewVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_IsOutlineViewVisible) property. The default value of this property is `false`.
+
+{% tabs %}
+{% highlight XAML %}
+
+<pdfViewer:SfPdfViewer x:Name="pdfViewer" IsOutlineViewVisible="{Binding OutlineViewVisible}" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.IsOutlineViewVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Accessing the Custom Bookmarks Collection
+
+To retrieve the list of custom bookmarks in a PDF document, use the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) property.
+
+{% tabs %}
+{% highlight c# %}
+
+var customBookmarks = pdfViewer.CustomBookmarks;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add, Edit, and Remove Custom Bookmarks
+
+You can manage custom bookmarks in the PDF viewer using the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection. This property allows you to add, edit, or remove bookmarks that appear in the viewer’s bookmark pane.
+
+### Add Custom Bookmarks
+
+You can add custom bookmarks either through the UI or programmatically. You can also track additions using event handlers.
+
+#### Add via UI
+
+Use the floating action button in the bookmark pane to add a custom bookmark.
+
+![Custom bookmark floating button](Images\custom-bookmark.png)
+
+#### Add Programmatically
+
+Create a new instance of the Bookmark class and add it to the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection:
+
+{% tabs %}
+{% highlight c# %}
+
+Bookmark newBookmark = new Bookmark()
+{
+    Name = "New Bookmark",
+    PageNumber = 1, // Page number where the bookmark should navigate
+};
+
+pdfViewer.CustomBookmarks.Add(newBookmark);
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Track Bookmark Additions
+
+To track when a custom bookmark is added, subscribe to the [CollectionChanged](https://learn.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.observablecollection-1.collectionchanged?view=net-9.0) event of the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection inside the [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) event handler. 
+Within the [CollectionChanged](https://learn.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.observablecollection-1.collectionchanged?view=net-9.0) event handler, use the [NotifyCollectionChangedAction](https://learn.microsoft.com/en-us/dotnet/api/system.collections.specialized.notifycollectionchangedaction?view=net-9.0) enumeration to determine the type of change. If the action is `Add`, iterate through `e.NewItems` to access the newly added bookmarks and perform any necessary tracking or logging.
+
+{% tabs %}
+{% highlight c# %}
+
+// Event handler for when the PDF document is loaded
+private void PdfViewer_DocumentLoaded(object? sender, EventArgs? e)
+{
+    // Obtain the collection of custom bookmarks from the PDF viewer
+    ObservableCollection<Bookmark> bookmarks = pdfViewer.CustomBookmarks;
+
+    // Subscribe to collection change events on the bookmarks
+    bookmarks.CollectionChanged += Bookmarks_CollectionChanged;
+}
+
+// Event handler for changes in the bookmarks collection
+private void Bookmarks_CollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
+{
+    // Check if the change action is 'Add'
+    if (e.Action == NotifyCollectionChangedAction.Add && e.NewItems != null)
+    {
+        // Iterate through newly added bookmarks
+        foreach (Bookmark bookmark in e.NewItems)
+        {
+            Debug.WriteLine($"Added bookmark: {bookmark.Name} at page {bookmark.PageNumber}");
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Rename Custom Bookmarks
+
+You can rename custom bookmarks either through the UI or programmatically. You can also track rename changes using event handlers.
+
+#### Rename via Context Menu
+
+To rename a custom bookmark from the UI:
+1. Tap the context menu button on the desired custom bookmark.
+2. Select **Rename**.
+3. Enter the new name.
+
+![Custom bookmark context menu](Images\custom-bookmark-contextmenu.png)
+
+#### Rename Programmatically
+
+To rename an existing custom bookmark, retrieve it from the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection and update its Name property:
+
+{% tabs %}
+{% highlight c# %}
+
+Bookmark bookmarkToEdit = pdfViewer.CustomBookmarks.FirstOrDefault(b => b.Title == "Chapter 2");
+if (bookmarkToEdit != null)
+{
+    bookmarkToEdit.Name = "Edited Bookmark Title";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Track Bookmark Rename Changes
+
+To track when a bookmark is renamed, you need to handle the [PropertyChanged](https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.inotifypropertychanged.propertychanged?view=net-9.0#system-componentmodel-inotifypropertychanged-propertychanged) event of each bookmark. 
+
+##### For Newly Added Bookmarks
+
+Subscribe to the `PropertyChanged` event inside the [CollectionChanged](https://learn.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.observablecollection-1.collectionchanged?view=net-9.0) event handler when the action is **Add**:
+
+{% tabs %}
+{% highlight c# %}
+
+private void Bookmarks_CollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
+{
+    // Handle addition of new bookmarks
+    if (e.Action == NotifyCollectionChangedAction.Add && e.NewItems != null)
+    {
+        foreach (Bookmark bookmark in e.NewItems)
+        {
+            bookmark.PropertyChanged += Bookmark_PropertyChanged;
+        }
+    }
+}
+
+private void Bookmark_PropertyChanged(object? sender, PropertyChangedEventArgs e)
+{
+    if (sender is Bookmark changedBookmark)
+    {
+        if (e.PropertyName == nameof(Bookmark.Name))
+        {
+            Debug.WriteLine($"Bookmark updated: {e.PropertyName} changed to: " +
+            $"{changedBookmark.Name}");
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+##### For Existing Bookmarks
+
+To track rename changes for bookmarks that already exist when the document is loaded, wire the [PropertyChanged](https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.inotifypropertychanged.propertychanged?view=net-9.0#system-componentmodel-inotifypropertychanged-propertychanged) event for each bookmark in the [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) event handler:
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_DocumentLoaded(object? sender, EventArgs? e)
+{
+    // Obtain the collection of custom bookmarks from the PDF viewer
+    ObservableCollection<Bookmark> bookmarks = pdfViewer.CustomBookmarks;
+    // Attach event handlers to existing bookmarks in the collection
+   foreach (var bookmark in bookmarks)
+   {
+       bookmark.PropertyChanged += Bookmark_PropertyChanged;
+   }
+}
+
+private void Bookmark_PropertyChanged(object? sender, PropertyChangedEventArgs e)
+{
+    if (sender is Bookmark changedBookmark)
+    {
+        if (e.PropertyName == nameof(Bookmark.Name))
+        {
+            Debug.WriteLine($"Bookmark updated: {e.PropertyName} changed to: " +
+            $"{changedBookmark.Name}");
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Remove Custom Bookmarks
+
+You can remove custom bookmarks either through the UI or programmatically. You can also track bookmark removal using event handlers.
+
+#### Remove via Context Menu
+
+To remove a custom bookmark from the UI:
+1. Tap the context menu button on the custom bookmark you want to delete.
+2. Select Delete.
+
+#### Remove Programmatically
+
+To remove a custom bookmark programmatically, retrieve it from the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection and remove it:
+
+{% tabs %}
+{% highlight c# %}
+
+Bookmark bookmarkToRemove = pdfViewer.CustomBookmarks.FirstOrDefault(b => b.Title == "Chapter 2");
+if (bookmarkToRemove != null)
+{
+    pdfViewer.CustomBookmarks.Remove(bookmarkToRemove);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+#### Track Bookmark Removal
+
+To track when a custom bookmark is removed, handle the [CollectionChanged](https://learn.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.observablecollection-1.collectionchanged?view=net-9.0) event of the [CustomBookmarks](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_CustomBookmarks) collection. Use the [NotifyCollectionChangedAction](https://learn.microsoft.com/en-us/dotnet/api/system.collections.specialized.notifycollectionchangedaction?view=net-9.0) enum to check if the action is `Remove`. If so, iterate through `e.OldItems` to access the removed bookmarks:
+
+{% tabs %}
+{% highlight c# %}
+
+// Event handler for changes in the bookmarks collection
+private void Bookmarks_CollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
+{
+    // Check if the change action is 'Remove'
+    else if (e.Action == NotifyCollectionChangedAction.Remove && e.OldItems != null)
+    {
+        // Iterate through reomoved bookmarks
+        foreach (Bookmark bookmark in e.OldItems)
+        {
+            Debug.WriteLine($"Removed bookmark: {bookmark.Name} at page {bookmark.PageNumber}");
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to a Custom Bookmark
+
+You can navigate to custom bookmarks either through the UI or programmatically using the PDF viewer's built-in features.
+
+### Navigate Using UI
+
+To navigate using the UI:
+1. Ensure the outline view is visible by setting the [IsOutlineViewVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_IsOutlineViewVisible) property to `true`.
+2. Once the outline view is displayed, tap on any custom bookmark to navigate to the corresponding page. 
+
+![Custom bookmark in .NET MAUI PDF Viewer](Images\custom-bookmark.png)
+
+### Navigate Programmatically
+
+To navigate to a custom bookmark programmatically, use the [GoToBookmark](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToBookmark_Syncfusion_Maui_PdfViewer_Bookmark_) method. This method accepts a `Bookmark` object and navigates to the page associated with it.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the required custom bookmark
+Bookmark customBookmark = pdfViewer.CustomBookmarks.Where(x => x.Name.Contains("Chapter 2")).FirstOrDefault();
+
+if (customBookmark != null)
+   pdfViewer.GoToBookmark(customBookmark);
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Document-Link-Annotations.md b/Document-Processing/PDF/PDF-Viewer/maui/Document-Link-Annotations.md
new file mode 100644
index 000000000..c397ef980
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Document-Link-Annotations.md
@@ -0,0 +1,22 @@
+---
+layout: post
+title: Document link navigation in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here about document link navigation in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Document Link Navigation in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The PDF viewer allows navigating from one part of the PDF document to another using document link annotations. When a document link annotation is tapped, the PDF viewer scrolls to its destination. This type of link annotation is most often used to represent the table of contents of a PDF document. 
+
+The document link navigation can be turned on or off using the [EnableDocumentLinkNavigation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableDocumentLinkNavigation) property. The default value of this property is true. The code snippet below illustrates disabling the document link navigation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EnableDocumentLinkNavigation = false;
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Document-Outline.md b/Document-Processing/PDF/PDF-Viewer/maui/Document-Outline.md
new file mode 100644
index 000000000..c3e19ca6d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Document-Outline.md
@@ -0,0 +1,78 @@
+---
+layout: post
+title: Document outline in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here about the document outline and outline navigation in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Document outline in .NET MAUI PDF Viewer
+
+A PDF document may optionally have a document outline (also called bookmarks) which allows the user to navigate from one part of the document to another. The PDF viewer control displays the document outline in a tree-structured hierarchy of outline elements.
+
+## Showing/hiding the outline view
+
+The PDF viewer’s built-in outline view that displays the document outline in a tree like structure can be shown or hidden using the [IsOutlineViewVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_IsOutlineViewVisible) property. The default value of this property is `false`. 
+
+{% tabs %}
+{% highlight XAML %}
+
+<pdfViewer:SfPdfViewer x:Name="pdfViewer" IsOutlineViewVisible="{Binding OutlineViewVisible}" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.IsOutlineViewVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Accessing outline elements
+
+To access the document outline and its elements, you can use the [DocumentOutline](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentOutline) property. This property provides a list of outline elements. 
+
+{% tabs %}
+{% highlight c# %}
+
+var documentOutline = pdfViewer.DocumentOutline;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Accessing nested child elements
+
+The outline elements nested within each outline element can be accessed from the [OutlineElement.Children](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.OutlineElement.html#Syncfusion_Maui_PdfViewer_OutlineElement_Children) property. Below code snippet illustrates accessing the 2nd element in the document outline. And then accessing its 3rd child.
+
+{% tabs %}
+{% highlight c# %}
+
+OutlineElement outlineElement = pdfViewer.DocumentOutline[2];
+OutlineElement nestedElement = outlineElement.Children[3];
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigating to outline elements
+
+### Navigating using UI
+
+As mentioned above, you can show the outline view by setting the [IsOutlineViewVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_IsOutlineViewVisible) property to `true`. When the outline view is showing, you can tap on any element to navigate to the destination pointed by that element. 
+
+![Document outline in .NET MAUI PDF Viewer](Images\outline-view.png)
+
+### Navigating programmatically
+
+The PDF viewer allows the users to navigate to an outline element using the [GoToOutlineElement](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToOutlineElement_Syncfusion_Maui_PdfViewer_OutlineElement_) method. The below code snippet illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the required outline element
+OutlineElement outlineElement = pdfViewer.DocumentOutline.Where(x => x.Title.Contains("Chapter 2")).FirstOrDefault();
+
+if (outlineElement != null)
+   pdfViewer.GoToOutlineElement(outlineElement);
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/DocumentLoadNotifications.md b/Document-Processing/PDF/PDF-Viewer/maui/DocumentLoadNotifications.md
new file mode 100644
index 000000000..28079fe98
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/DocumentLoadNotifications.md
@@ -0,0 +1,109 @@
+---
+layout: post
+title: Document Load Events in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about events that notifies whether the document has been opened or not opened in the Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer).
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Document Load Events in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) supports the [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) and [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) events to notify whether the document has been opened and displayed in the view or not.
+
+## Document loaded event
+
+The [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) event triggers after the document is loaded in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). Refer to the following code example:
+
+{% tabs %}
+{% highlight XAML hl_lines="3" %}
+
+	<syncfusion:SfPdfViewer 
+		x:Name="PdfViewer" 
+		DocumentLoaded="PdfViewer_DocumentLoaded"/>
+
+{% endhighlight %}
+{% highlight C# %}
+
+	private void PdfViewer_DocumentLoaded(object sender, EventArgs e)
+	{
+	   DisplayAlert("Info", "Document loaded successfully", "OK");
+	}
+
+{% endhighlight %}
+{% endtabs %}
+
+If you want to perform any operation immediately after the document has loaded, you can handle the operations in this event. For example, if you want to initially open a document with a specific page number or zoom factor, then call the respective APIs in this event handler. The following code example explains opening a document with a specified page number of 4.
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfViewer_DocumentLoaded(object sender, EventArgs e) 
+{ 
+	pdfViewer.GoToPage(4); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Document load failures
+
+When a document fails to load in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), users are notified with a context-specific error message via the [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) event. This event helps developers identify the cause of the failure and implement custom error handling for a smoother user experience.
+
+### Document load failed event
+
+The [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) event alerts users when a document fails to load in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) due to one of the following conditions:
+* A corrupted document is loaded.
+* A password-protected document is provided with an invalid or empty password.
+* A non-PDF file is attempted to be loaded.
+* The document contains an XFA form, which is currently unsupported.
+* Exceptions occur during PDF loading or page rendering due to limitations or issues in platform-specific native PDF renderers.
+
+The [DocumentLoadFailedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html) will return the error [Message](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html#Syncfusion_Maui_PdfViewer_DocumentLoadFailedEventArgs_Message) and [Exception](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html#Syncfusion_Maui_PdfViewer_DocumentLoadFailedEventArgs_Exception) details for the failure. The following code example explains the same.
+
+{% tabs %}
+{% highlight XAML hl_lines="3" %}
+
+<syncfusion:SfPdfViewer 
+	x:Name="PdfViewer" 
+	DocumentLoadFailed="PdfViewer_DocumentLoadFailed"/>
+	
+{% endhighlight %}
+{% highlight C# %}
+
+private void PdfViewer_DocumentLoadFailed(object sender, DocumentLoadFailedEventArgs e)
+{
+	DisplayAlert( e.Message, e.Exception.StackTrace, "OK");
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Handling document load failures
+
+The [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) event allows you to handle the load failures at the application level in your own way. Set the [Handled](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html#Syncfusion_Maui_PdfViewer_DocumentLoadFailedEventArgs_Handled) property of the [DocumentLoadFailedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html) to `true` to disable the control’s default error messages and handle your logic with the error information.
+
+{% tabs %}
+{% highlight XAML hl_lines="3" %}
+
+<syncfusion:SfPdfViewer 
+	x:Name="PdfViewer"
+	DocumentLoadFailed="PdfDocumentLoadFailed"/>
+			
+{% endhighlight %}
+{% highlight C# hl_lines="4" %}
+
+public MainPage()
+{
+	InitializeComponent();
+	PdfViewer.DocumentLoadFailed += PdfDocumentLoadFailed;
+}
+
+private void PdfDocumentLoadFailed(object sender, DocumentLoadFailedEventArgs e)
+{
+	e.Handled = true;
+	// Handle your logic here.
+}
+	
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Form-Filling.md b/Document-Processing/PDF/PDF-Viewer/maui/Form-Filling.md
new file mode 100644
index 000000000..f56491bd9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Form-Filling.md
@@ -0,0 +1,765 @@
+---
+layout: post
+title: Form filling in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about PDF form filling feature of Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Form Filling in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to fill, edit, save, export, and import Acroform fields in a PDF document.
+
+## Supported form fields
+
+You can load and fill in the following form fields in a PDF document using the PDF viewer.
+
+* Text box
+* Checkbox
+* Radio button
+* Combo box
+* Signature
+* List box
+* Button
+
+### Loading PDFs with XFA forms
+
+The PDF viewer supports only Acroforms. PDF documents that contain an XFA form cannot be viewed in the PDF Viewer. When a PDF with an XFA form is attempted to be loaded, the PDF will not be loaded, and the [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) event will be raised. Refer to this [page](https://help.syncfusion.com/maui/pdf-viewer/documentloadnotifications#handling-document-load-failures) to know more about handling document load failure.
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfViewer_DocumentLoadFailed(object sender, DocumentLoadFailedEventArgs e)
+{
+    if (e.Message == "This PDF cannot be loaded because it contains XFA form.")
+    {
+        // Handle XFA loading failure.
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Retrieve form data from the PDF
+
+The form data in a PDF can be obtained from the [SfPdfViewer.FormFields](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FormFields) property. The form data will be available when the PDF completes loading, and the data can be retrieved from the [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) event. The following code snippet illustrates getting the total count of form fields in the PDF document.
+
+{% tabs %}
+{% highlight C# %}
+
+public void WireDocumentLoadedEvent()
+{
+    // Wire the document loaded event of the "SfPdfViewer" to occur when a PDF document is loaded.
+    PdfViewer.DocumentLoaded += OnDocumentLoaded;
+}
+
+private void OnDocumentLoaded(object? sender, EventArgs? e)
+{
+    // Get the form field count.
+    int fieldCount = PdfViewer.FormFields.Count;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Editing form fields programmatically
+
+### Editing text form fields
+
+A text form field can be modified using the [Text](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextFormField.html#Syncfusion_Maui_PdfViewer_TextFormField_Text) property. The following code snippet illustrates retrieving a text form field named "name" from the PDF Viewer. 
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = pdfViewer.FormFields.Where(x => x.Name == "name").FirstOrDefault();
+
+if (formField is TextFormField nameTextBox)
+{
+    // Modify the text entered in the Text Box field.
+    nameTextBox.Text = "Jonathan";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing checkbox form fields
+
+By modifying the [IsChecked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.CheckboxFormField.html#Syncfusion_Maui_PdfViewer_CheckboxFormField_IsChecked) property, the checkbox field can be checked or unchecked programmatically. The following code snippet illustrates retrieving a checkbox form field named "newsletter" from the PDF Viewer. 
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "newsletter").FirstOrDefault();
+
+if (formField is CheckboxFormField checkBox)
+{
+    // Mark the checkbox as checked.
+    checkBox.IsChecked = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing combo box form fields
+
+The [SelectedItem](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ComboBoxFormField.html#Syncfusion_Maui_PdfViewer_ComboBoxFormField_SelectedItem) property can be used to programmatically choose an item from the combo box. The [SelectedItem](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ComboBoxFormField.html#Syncfusion_Maui_PdfViewer_ComboBoxFormField_SelectedItem) should be one of the values from the [ComboBoxFormField.Items](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ComboBoxFormField.html#Syncfusion_Maui_PdfViewer_ComboBoxFormField_Items) array. The following code snippet illustrates retrieving a combobox form field named "state" from the PDF Viewer.  
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "state").FirstOrDefault();
+
+if (formField is ComboBoxFormField comboBox)
+{
+    // Select the desired item from the combo box.
+    comboBox.SelectedItem = comboBox.Items[4];
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing list box form fields
+
+The [SelectedItems](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ListBoxFormField.html#Syncfusion_Maui_PdfViewer_ListBoxFormField_SelectedItems) property can be used to programmatically choose an item from the list box. The [SelectedItems](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ListBoxFormField.html#Syncfusion_Maui_PdfViewer_ListBoxFormField_SelectedItems) should contain only the values from the [ListBoxFormFields.Items](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ListBoxFormField.html#Syncfusion_Maui_PdfViewer_ListBoxFormField_Items) array. One or more selections are supported by the list box. The below code snippet illustrates modifying a single-select list box form field named "courses" from the PDF Viewer.
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "courses").FirstOrDefault();
+
+if (formField is ListBoxFormField listBox)
+{
+    // Select the desired item from the list box.
+    listBox.SelectedItems = new ObservableCollection<string> { listBox.Items[0] };
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The below code snippet illustrates modifying a multi-select list box form field named "courses" from the PDF Viewer.
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "courses").FirstOrDefault();
+
+if (formField is ListBoxFormField listBox)
+{
+    // Select the desired item from the list box.
+    listBox.SelectedItems = new System.Collections.ObjectModel.ObservableCollection<string> { listBox.Items[1], listBox.Items[2], listBox.Items[3] };
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Editing radio button form fields
+
+Programmatically select an item from the radio buttons using the [SelectedItem](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.RadioButtonFormField.html#Syncfusion_Maui_PdfViewer_RadioButtonFormField_SelectedItem) property. The [SelectedItem](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.RadioButtonFormField.html#Syncfusion_Maui_PdfViewer_RadioButtonFormField_SelectedItem) should be one of the values from the [RadioButtonFormField.Items](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.RadioButtonFormField.html#Syncfusion_Maui_PdfViewer_RadioButtonFormField_Items) array. The following code snippet illustrates retrieving a radio button form field named "gender" from the PDF Viewer.
+
+{% tabs %}
+{% highlight C# %}
+
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "gender").FirstOrDefault();
+
+if (formField is RadioButtonFormField radioButton)
+{
+    // Select the desired item from the radio buttons.
+    radioButton.SelectedItem = radioButton.Items[0];
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing signature form fields
+
+Programmatically, add a signature to an unsigned signature field by creating and assigning an ink annotation to the [SignatureFormField.Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SignatureFormField.html#Syncfusion_Maui_PdfViewer_SignatureFormField_Signature) property. The following code snippet illustrates retrieving a signature form field named "signature" from the PDF Viewer. 
+
+{% tabs %}
+{% highlight C# %}
+
+SignatureFormField? signature = PdfViewer.FormFields.Where(x => x.Name == "signature").FirstOrDefault() as SignatureFormField;
+if (signature != null)
+{
+    List<List<float>> inkPointsCollection = new();
+    inkPointsCollection.Add(new List<float> { 10f, 10f, 10f, 20f, 20f, 20f, 30f, 30f, 30f, 40f, 40f, 40f, 50f, 60f });
+    InkAnnotation inkSignature = new InkAnnotation(inkPointsCollection, signature.PageNumber);
+    inkSignature.Color = Colors.Red;
+    // Add the created handwritten signature to the signature form field.
+    signature.Signature = inkSignature;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The [Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SignatureFormField.html#Syncfusion_Maui_PdfViewer_SignatureFormField_Signature) property is of type [InkAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html) and it will behave like an ink after signing. If the PDF document is saved, the signature will be preserved as an ink annotation in the saved document. 
+
+#### Suppressing the signature modal view
+
+The [Sfpdfviewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to suppress the signature modal view and use your own UI in its place. This can be achieved by setting the `FormFieldModalViewAppearingEventArgs.Cancel` property to `true` in the `SignatureModalViewAppearing` event handler. 
+
+The below code snippet illustrates supressing the signature modal view and using a UI implemented in the app in its place. In this illustration, it is assumed that the signature is produced in the form of an image stream when the user completes drawing the signature in the custom dialog. When the signing is completed using the custom dialog, a stamp annotation is created and assigned as the signature of the form field.   
+
+{% tabs %}
+{% highlight c# %}
+
+SignatureFormField? signatureFormField;
+pdfviewer.SignatureModalViewAppearing += PdfViewer_SignatureModalViewAppearing;
+
+private void PdfViewer_SignatureModalViewAppearing(object? Sender, FormFieldModalViewAppearingEventArgs e)
+{
+    e.Cancel = true;
+    signatureFormField = e.FormField as SignatureFormField;
+    
+    // Implement your own UI for creating a signature.
+    ShowCustomDialog();
+}
+
+Private void customDialogOkButton_Clicked(object sender, EventArgs e)
+{
+   //Get the signature in the form of a Stream instance (possibly converted from an image of the user's freehand drawing) 
+   signatureImageStream = GetSignatureImageStream();
+   
+   // Create a stamp annotation. The bounds values are not necessary since the stamp will be automatically fit over the signature form field. 
+   StampAnnotation signatureStamp = new StampAnnotation(signatureImageStream, signatureFormField.PageNumber, new RectF(0, 0, 0, 0));
+   
+   signatureFormField.Signature = signatureStamp;
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+### Button form fields
+
+Button form fields will be rendered in the PDF viewer. But the PDF viewer supports only the `GoTo` actions that navigates to a particular location in the PDF document alone. Other types of button actions are not supported.
+
+### Adding custom information to a form field
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to assign custom information to form fields. The [CustomData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormField.html#Syncfusion_Maui_PdfViewer_FormField_CustomData) property is utilized to store additional information about each form field instance for reference. However, it's essential to note that these data are solely intended for reference purposes and will not be displayed in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) interface.
+
+The following code sample demonstrates how to set the [CustomData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormField.html#Syncfusion_Maui_PdfViewer_FormField_CustomData) property for a form field. In this code sample, we set the custom data to represent the modification time of the form field.
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfViewer_FormFieldValueChanged(object sender, FormFieldValueChangedEventArgs e)
+{
+        e.FormField.CustomData="Modified Date is: " +DateTime.Now.ToString();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Show and Hide form fields 
+ 
+You can manage the visibility of form fields using the `IsHidden` property. It helps you to hide form fields containing confidential data when sharing documents externally or presenting documents, ensuring data privacy and security. Also, it makes it easier to read the documents that are cluttered with more form fields. Like other form field properties, you can undo and redo the hiding or showing actions. Additionally, when a form field is locked, it cannot be hidden. Form fields that are hidden will remain hidden during import, export, printing, and saving.
+
+### Hide form fields
+
+To hide form fields in the document, set the `IsHidden` property of the form fields to `true`.
+
+#### Hide all form fields
+
+While reviewing and presenting documents, all form fields can be hidden to improve the focus on the content and to avoid distraction caused by cluttered form fields. The following example explains how to hide all form fields in a PDF document. 
+
+{% tabs %}
+{% highlight C# %} 
+
+foreach(FormField  formfield in PdfViewer.FormFields) 
+{ 
+    formfield.IsHidden = true;  
+}
+ 
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to show all the form fields, set the `IsHidden` property value to `false`.
+
+### Hide specific form fields 
+
+While collaborating, the `IsHidden` property of form fields can be used to show and hide form fields from specific authors. The following example illustrates how to hide form fields for a TextFormField by accessing the text form field’s `IsHidden` property. 
+
+{% tabs %}
+{% highlight C# %}
+
+//The code searches for a form field named "name" in the PDF.
+FormField formField = PdfViewer.FormFields.Where(x => x.Name == "name").FirstOrDefault();
+
+//If the form field is a TextFormField, it hides that form field by setting its IsHidden property to true.
+if (formField is TextFormField nameTextBox)
+{
+    // Hide the Text Box field.
+    nameTextBox.IsHidden = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to show the form fields, set the `IsHidden` property value to `false`. 
+
+## Customize the form fields programmatically
+
+Customizing form fields allows you to control their appearance and behavior. You can modify properties like background color, border color, border width, and foreground color to adjust how fields such as text boxes, checkboxes, and radio buttons look in the PDF Viewer. These customizations can be undo and redo, but they cannot be changed when a field is locked. The customized colors and border width are preserved during import, export, printing, and saving, ensuring consistency across document operations.
+
+### Customize the background color of the form fields
+
+The [BackgroundColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Widget.html#Syncfusion_Maui_PdfViewer_Widget_BackgroundColor) property allows you to customize the appearance of form fields by setting their background color. The example below demonstrates how to apply a uniform background color to all form fields in the PDF document, regardless of their type. This approach can also be applied to specific form field types, such as checkboxes and radio buttons, by adjusting their respective properties individually.
+
+{% tabs %}
+{% highlight C# %}
+foreach (FormField formField in PdfViewer.FormFields)
+{
+    foreach (Widget widget in formField.Widgets)
+    {
+        //Set the background color of the widget to a semitransparent blue background with Rgba value of (204, 215, 255, 200)
+        widget.BackgroundColor = Color.FromRgba(204, 215, 255, 200);
+    }
+} 
+{% endhighlight %}
+{% endtabs %}
+
+### Customize the text color of the form fields
+
+The ForegroundColor property sets the text color within a form field, allowing customization to highlight important fields or messages. Here's an example of how to use it for a text form field, and it can be applied to other form fields like checkboxes and radio buttons by adjusting their properties. 
+
+
+{% tabs %}
+{% highlight C# %} 
+foreach (FormField formField in PdfViewer.FormFields)
+{
+    // Check if the current form field is a text form field 
+    if (formField is TextFormField textBoxField)
+    {
+        // Loop through all the widgets associated with the text box field
+        foreach (var widget in textBoxField.Widgets)
+        {
+            // Set the foreground color of each widget to Red
+            widget. ForegroundColor = Colors.Red;
+        }
+    }
+} 
+{% endhighlight %}
+{% endtabs %}
+
+
+
+### Customize the border color of the form fields
+
+The BorderColor property sets the color of the border around a form field, improving visibility, especially for users with color blindness. Here's an example of how to use it for a text form field, and it can be applied to other form fields like checkboxes and radio buttons by adjusting their properties. 
+ 
+
+{% tabs %}
+{% highlight C# %} 
+foreach (FormField formField in PdfViewer.FormFields)
+{
+     // Check if the current form field is a text form field 
+    if (formField is TextFormField textBoxField)
+    {
+         // Loop through all the widgets associated with the text box field
+        foreach (var widget in textBoxField.Widgets)
+        {
+            // Set the border color of each widget to Red
+            widget. BorderColor = Colors.Red;
+        }
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Customize the border width of the form fields
+
+The BorderWidth property sets the thickness of the border around a form field, improving accessibility for users with visual impairments. Here's an example of how to use it for a text form field, and it can be applied to other form fields like checkboxes and radio buttons by adjusting their properties. 
+ 
+
+{% tabs %}
+{% highlight C# %}
+foreach (FormField formField in PdfViewer.FormFields)
+{
+     // Check if the current form field is a text form field 
+    if (formField is TextFormField textBoxField)
+    {
+        // Loop through all the widgets associated with the text box field
+        foreach (var widget in textBoxField.Widgets)
+        {
+            // Set the border color of each widget to 2.0f
+            widget. BorderWidth = 2.0f;
+        }
+    }
+} 
+{% endhighlight %}
+{% endtabs %}
+
+N> In versions prior to v29.1.33, the PDF Viewer rendered all form fields with a default semitransparent blue background, without considering the background color defined within the PDF document.
+N> Starting with v29.1.33, the PDF Viewer now renders form fields using the background color specified in their appearance settings, ensuring the fields are displayed as intended by the document author.
+N> To maintain backward compatibility, support has been added to customize the background color of form fields programmatically. This allows you to restore the previous behavior or apply custom styling based on your application requirements.
+N> If you prefer to retain the original semitransparent blue background used in earlier versions, you can apply it by setting the background color to `Color.FromRgba(204, 215, 255, 200)`. For example, please refer to the section [Customize the background color of the form fields](https://help.syncfusion.com/maui/pdf-viewer/form-filling#customize-the-background-color-of-the-form-fields).
+
+## Property changed event for Form field Widgets
+
+The `PropertyChanged` event occurs when a property is changed in the PDF document. It is common for properties such as border color, background color, border width, and foreground color to trigger this event as well. The following example explains how to wire and handle the event.
+
+{% tabs %}
+{% highlight C# %}
+
+void FormFieldWidgetPropertyChangedEvent()
+{
+    // Loop through each FormField in the PdfViewer
+    foreach (FormField formField in pdfViewer.FormFields)
+    {
+        // Loop through each widget within the form field (e.g., text fields, checkboxes, etc.)
+        foreach (var widget in formField.Widgets)
+        {
+            // Subscribe to the PropertyChanged event for each widget
+            widget.PropertyChanged += Widget_PropertyChanged;
+        }
+    }
+}
+// This event handler is called whenever a property of a widget changes
+private void Widget_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
+{
+    // Ensure that the sender is of type Widget
+    if (sender is Widget widget)
+    {
+        // Check if the property that changed is the BorderWidth property of the widget
+        if (e.PropertyName == nameof(widget.BorderWidth))
+        {
+            // Retrieve the current border width of the widget
+            double width=widget.BorderWidth;
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Restrict form field editing
+
+The form fields can be prevented from being modified by setting the [ReadOnly](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormField.html#Syncfusion_Maui_PdfViewer_FormField_ReadOnly) property. The following example illustrates how to make all form fields read-only.
+
+{% tabs %}
+{% highlight C# %}
+
+// Restrict the editing of all the form fields.
+foreach (FormField formField in PdfViewer.FormFields)
+{
+    formField.ReadOnly = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Clearing form data
+
+The [ClearFormData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ClearFormData_System_Int32_) method will clear the data in all form fields in the PDF.
+
+{% tabs %}
+{% highlight C# %}
+
+// Clear all the form field data.
+PdfViewer.ClearFormData();
+
+{% endhighlight %}
+{% endtabs %}
+
+The [ClearFormData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ClearFormData_System_Int32_) method passed with the page number will clear all the form field data on the mentioned page of a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+
+// Clear all the form field data on the 2nd page.
+PdfViewer.ClearFormData(2);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Events to track form field interaction
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to track form field interactions using events.
+
+### Detecting the value change of form fields
+
+The [FormFieldValueChanged](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FormFieldValueChanged) event will be raised when the values of the form fields are changed. The below code snippet illustrates detecting the value change of a text form field.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldValueChanged="PdfViewer_FormFieldValueChanged"/>
+			
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfViewer_FormFieldValueChanged(object? sender, FormFieldValueChangedEventArgs? e)
+{
+    // Check whether the form field is a text field.
+    if (e != null && e.FormField is TextFormField textFormField)
+    {
+        //Get the value of the form field after the event occurs.    
+        string? newText = e.NewValue.ToString();
+
+        //Get the value of the form field before the event occurs.
+        string? oldText = e.OldValue.ToString();
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, the value changes of other form field types can also be detected using this event. The [OldValue](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormFieldValueChangedEventArgs.html#Syncfusion_Maui_PdfViewer_FormFieldValueChangedEventArgs_OldValue) and [NewValue](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormFieldValueChangedEventArgs.html#Syncfusion_Maui_PdfViewer_FormFieldValueChangedEventArgs_NewValue) properties should be cast to the expected type based on the type of the field. e.g. For a check box, they should be typecast to `bool` which indicates the checked state of the checkbox.
+
+### Detecting the focus and unfocus of form fields
+
+The [FormFieldFocusChanged](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FormFieldFocusChanged) event will be raised when a text or signature field is focused or unfocused.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldFocusChanged="PdfViewer_FormFieldFocusChanged"/>
+			
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfViewer_FormFieldFocusChanged(object? sender, FormFieldFocusChangedEvenArgs? e)
+{
+    if (e != null)
+    {
+        //Get the occurring form field.             
+        FormField? field = e.FormField;
+        //Get the hasFocus value of the form field.            
+        bool hasFocus = e.HasFocus;
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> * This event will be raised only for the text and signature form fields.
+
+## Import and Export form data
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to import and export form data to and from PDF documents. The import and export of form data support the following file data formats:
+
+* XFDF
+* FDF
+* JSON
+* XML
+
+The required file format can be chosen from the [DataFormat](https://help.syncfusion.com/cr/file-formats/Syncfusion.Pdf.Parsing.DataFormat.html) enumeration. In the following sections, only the `XFDF` file format is explained for brevity.
+
+N> The XFDF and FDF are the standard file data formats that can be used across global PDF viewers. Whereas, JSON and XML are the custom formats that can only be used across the Syncfusion<sup>®</sup> PDF Viewers supported on other platforms like WPF, Flutter, JavaScript, etc.
+
+### Import form data
+
+The form data can be imported into a PDF document using the [ImportFormData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ImportFormData_System_IO_Stream_Syncfusion_Pdf_Parsing_DataFormat_System_Boolean_) method. The stream of the file to be imported and the data format should be passed as parameters to the method. The following example explains how to import form data from an XFDF file, assuming that the file is in the application’s data directory.
+
+{% tabs %}
+{% highlight C# %}
+
+void ImportFormData()
+{
+    string fileName = Path.Combine(FileSystem.Current.AppDataDirectory, "FormDataInfo.xfdf");
+    Stream inputFileStream = File.OpenRead(fileName);
+    inputFileStream.Position = 0;
+
+    pdfViewer.ImportFormData(inputFileStream, Syncfusion.Pdf.Parsing.DataFormat.XFdf);
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+To ignore errors while importing a faulty file, you can pass the value `true` for the `continueImportOnError` parameter.
+
+{% tabs %}
+{% highlight C# %}
+
+PdfViewer.ImportFormData(inputFileStream, Syncfusion.Pdf.Parsing.DataFormat.XFdf, true);
+	
+{% endhighlight %}
+{% endtabs %}
+
+### Export form data
+
+The form data can be exported from a PDF document using the [ExportFormData](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportFormData_System_IO_Stream_Syncfusion_Pdf_Parsing_DataFormat_) method. The empty stream to write the exported data and the data format should be passed as parameters to the method. The following code explains how to export form field data from a PDF document into an XFDF file in the application’s data directory.
+
+{% tabs %}
+{% highlight C# %}
+
+void ExportFormData()
+{
+    // Create the target file
+    string targetFile = Path.Combine(FileSystem.Current.AppDataDirectory, "ExportedFormFile.xfdf");
+    FileStream fileStream = File.Create(targetFile);
+
+    pdfViewer.ExportFormData(fileStream, Syncfusion.Pdf.Parsing.DataFormat.XFdf);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to perform validation over the form field data?
+
+In the PDF viewer, form validations can be done by obtaining the values from the form fields using the [FormFields](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FormFields) property and comparing them with the expected values. Below is an example that illustrates retrieving form fields by their names and checking whether they meet the expected values, before saving the document. 
+ 
+In this example, the form field values are checked whether they meet the below criteria. If the criteria are satisfied, the PDF will be saved along with the form data. Otherwise, an error dialogue will be shown.
+
+<table>
+<tr>
+<td>
+<b>Field name</b>
+</td>
+<td>
+<b>Validation messages</b>
+</td>
+</tr>
+<tr>
+<td>
+Name
+</td>
+<td>
+* Name is required.<br>
+* Name should have at least 3 characters.<br>
+* Name should not exceed 30 characters.<br>
+* Name should not contain numbers.<br>
+* Name should not contain special characters.<br>
+</td>
+</tr>
+<tr>
+<td>
+Email
+</td>
+<td>
+* Email is required.<br>
+* Email should be in the correct format.<br>
+</td>
+</tr>
+<tr>
+<td>
+Date of birth
+</td>
+<td>
+* Date of birth is required.<br>
+* Date of birth should be in dd/mm/yyyy format.<br>
+</td>
+</tr>
+<tr>
+<td>
+Course
+</td>
+<td>
+* At least one course should be selected.
+</td>
+</tr>
+<tr>
+<td>
+Signature
+</td>
+<td>
+* Signature is required.
+</td>
+</tr>
+</table>
+
+{% tabs %}
+{% highlight C# %}
+
+async void ValidateAndSaveForm()
+{
+    ReadOnlyObservableCollection<FormField> _formFields = PdfViewer.FormFields;
+
+    if (_formFields == null || _formFields.Count == 0)
+    {
+        return;
+    }
+
+    List<string> errors = new List<string>();
+
+    foreach (FormField formField in _formFields)
+    {
+        if (formField is TextFormField textFormField)
+        {
+            // Handle text form fields
+            if (textFormField.Name == "Name")
+            {
+                // Validation for the 'name' field
+                if (string.IsNullOrEmpty(textFormField.Text))
+                {
+                    errors.Add("Name is required.");
+                }
+                else if (textFormField.Text.Length < 3)
+                {
+                    errors.Add("Name should have at least 3 characters.");
+                }
+                else if (textFormField.Text.Length > 30)
+                {
+                    errors.Add("Name should not exceed 30 characters.");
+                }
+                else if (Regex.IsMatch(textFormField.Text, @"[0-9]"))
+                {
+                    errors.Add("Name should not contain numbers.");
+                }
+                else if (Regex.IsMatch(textFormField.Text, @"[!@#$%^&*(),.?""{}|<>]"))
+                {
+                    errors.Add("Name should not contain special characters.");
+                }
+            }
+            else if (textFormField.Name == "dob")
+            {
+                // Validation for the 'dob' field
+                if (string.IsNullOrEmpty(textFormField.Text))
+                {
+                    errors.Add("Date of birth is required.");
+                }
+                else if (!DateTime.TryParseExact(textFormField.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out _))
+                {
+                    errors.Add("Date of birth should be in dd/mm/yyyy format.");
+                }
+            }
+            else if (textFormField.Name == "email")
+            {
+                if (string.IsNullOrEmpty(textFormField.Text))
+                {
+                    errors.Add("Email is required.");
+                }
+                else if (!Regex.IsMatch(textFormField.Text, @"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"))
+                {
+                    errors.Add("Email should be in correct format.");
+                }
+            }
+        }
+        else if (formField is ListBoxFormField listBoxFormField)
+        {
+            if (listBoxFormField.SelectedItems.Count == 0)
+            {
+                errors.Add("Please select at least one item from the list.");
+            }
+        }
+        else if (formField is SignatureFormField signatureFormField)
+        {
+            if (signatureFormField.Signature == null)
+            {
+                errors.Add("Please sign in the signature field.");
+            }
+        }
+    }
+
+    if (errors.Count > 0)
+    {
+        await DisplayAlert("Errors", string.Join("\n", errors), "Try Again");
+    }
+    else
+    {
+        string fileName = Path.Combine(FileSystem.Current.AppDataDirectory, "FilledForm.pdf");
+        using FileStream fileStream = File.Create(fileName);
+        pdfViewer.SaveDocument(fileStream);
+        await DisplayAlert("Success", "Form submitted successfully.", "OK");
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Free-Text.md b/Document-Processing/PDF/PDF-Viewer/maui/Free-Text.md
new file mode 100644
index 000000000..c9cf004e1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Free-Text.md
@@ -0,0 +1,248 @@
+---
+layout: post
+title: Free Text Annotation in .NET MAUI PDF Viewer Control | Syncfusion
+description: Learn here about Free Text Annotation in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its functions.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Free Text Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove, and modify free text annotation in the PDF document. This is useful for adding text notes, comments, or feedback to the PDF pages. This section will go through the functions available in PDF Viewer for working with free text annotations.
+
+## Add free text annotations
+
+This section will go through how to add free text annotations to a PDF page using toolbar as well as programmatically.
+
+### Add the free text annotations using the toolbar  
+
+On the built-in toolbar, a free text annotation tool is available. Using that, you can add the free text annotation to the tapped position. Additionally, the toolbar shows the option to modify the properties of existing or new free text annotations.
+
+The following image represents how to add the free text annotations using the toolbar on the desktop.
+
+![Free text Built-in toolbar](Images/desktopfreetext.gif)
+
+The following image represents how to add the free text annotation using the toolbar on mobile.
+
+![Free text Built-in toolbar](Images/mobilefreetext.gif)
+ 
+### Add free text annotation without using the toolbar
+
+You can add free text annotation to a PDF document by tapping with a touch (or mouse down) on a PDF page. The following steps explain how to add free text annotation in a PDF.
+
+1.	Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html) property of the SfPdfViewer to [FreeText](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_FreeText). It activates the free text annotation mode.
+2.	Tap (or mouse down) on a PDF page, where you want to add the free text annotation. This will add a text box with a default style and allow you to write your text inline on the Desktop platforms. In mobile, a popup will be displayed to write and submit the text.
+3.	You can add multiple free text annotations in this mode in a similar manner.
+4.	Once you have done this, set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). It will disable the annotation mode. 
+5.	You can later select and edit the annotations if required.
+
+The following code explains how to enable the free text annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Enable or activate the free text mode.
+void EnableFreetextMode()
+{
+    // Set the annotation mode to FreeText using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.FreeText;
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the free text annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Disable or deactivate the free text mode.
+void DisableFreetextMode()
+{
+    // Set the annotation mode to none using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.None;
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Adding Annotations Programmatically
+
+You can create and add a free Text annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create a free text annotation and add it to the first page of a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+// Create a free text annotation. 
+FreeTextAnnotation CreateFreeTextAnnotation() 
+{ 
+   int pageNumber = 1;  
+   // Set the text for the free text.
+   string text = "Free Text Annotation";
+   // Set the bounds of the free text annotation.
+   RectF bounds = new RectF(100,100,100,28);
+   // Create a free text annotation.
+   FreeTextAnnotation annotation = new FreeTextAnnotation(text, pageNumber, bounds);
+   // Set the appearance of the free text annotation (if required).
+   annotation.FontSize = 16; // Font size
+   annotation.BorderColor = Colors.Yellow; // Border color
+   annotation.BorderWidth = 4; // Border thickness
+   annotation.Color = Colors.White; // Text color
+   annotation.FillColor= Colors.Black; // Background fill color
+   // Return the annotation. 
+   return annotation;
+} 
+ 
+void AddFreeTextAnnotation() 
+{ 
+    Annotation freeTextAnnotation = CreateFreeTextAnnotation (); 
+ 
+    // Add the free text annotation to the PDF document using the `AddAnnotation` method of the `SfPdfViewer` instance. 
+    PdfViewer.AddAnnotation(freeTextAnnotation); 
+} 
+{% endhighlight %}
+{% endtabs %}
+
+## Free text annotation settings
+
+In the free text annotation mode, the annotation will be added with a default appearance. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance before adding free text annotation on the document, you can change its default settings using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). For that, you need to obtain the default free text annotation settings.
+
+The following example explains how to obtain the default free text annotation settings and modify some of its properties. Similarly, you can modify all the other properties.
+
+{% tabs %}
+{% highlight C# %}
+void CustomizeDefaultFreeTextSettings() 
+{ 
+   // Obtain the default free text annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance. 
+   FreeTextAnnotationSettings freeTextSettings = PdfViewer.AnnotationSettings.FreeText; 
+ 
+   // Modify the default appearance properties. 
+   freeTextSettings.Color = Colors.White; // Text color 
+   freeTextSettings.BorderWidth = 2; // Border thickness 
+   freeTextSettings.FillColor = Colors.Black; // Fill color
+   freeTextSettings.BorderColor = Colors.Yellow; // Border Color
+   freeTextSettings.FontSize = 16; // Font size
+   freeTextSettings.Opacity = 0.75f; // 75% opacity 
+}
+{% endhighlight %}
+{% endtabs %}
+
+### How to create a borderless free text annotation?
+
+The PDF Viewer allows you to customize annotation properties using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html) property. By default, free text annotations include a visible border. To create a borderless free text annotation, set the [BorderWidth](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FreeTextAnnotationSettings.html#Syncfusion_Maui_PdfViewer_FreeTextAnnotationSettings_BorderWidth) property to 0 using the [FreeTextAnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FreeTextAnnotationSettings.html#properties).
+
+The following example demonstrates how to create a borderless free text annotation:
+
+{% tabs %}
+{% highlight C# %}
+// Access the default free text annotation settings
+FreeTextAnnotationSettings freeTextSettings = pdfViewer.AnnotationSettings.FreeText;
+
+// Set the border width to zero to remove the border
+freeTextSettings.BorderWidth = 0;
+{% endhighlight %}
+{% endtabs %}
+
+## Edit the selected free text annotation
+
+### Edit the text with UI interaction
+
+Double-tapping the selected free text annotation will allow you to edit its text content.
+
+* In the desktop platforms (Windows and macOS), double tapping the selected annotation will activate editing mode, which lets you type text directly into the annotation.
+* In the mobile platforms (Android and iOS), double tapping the selected annotation will open a text editor where you can make changes to the text and save it.
+
+### Edit free text annotation properties programmatically
+
+You can also edit the properties of the selected free text annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit some of the properties of the selected free text annotation. Similarly, you can modify the other free text properties.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Edit the selected free text annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void EditSelectedFreeTextAnnotation(Annotation selectedAnnotation) 
+{ 
+    // Typecast the selected annotation as a free text annotation. 
+    if (selectedAnnotation is FreeTextAnnotation freeTextAnnotation) 
+    { 
+       freeTextAnnotation.Color = Colors.White;    
+       freeTextAnnotation.BorderWidth = 6;       
+       freeTextAnnotation.Opacity = 0.75f;       
+       freeTextAnnotation.FillColor = Colors.Black; 
+       freeTextAnnotation.BorderColor = Colors.Yellow; 
+       freeTextAnnotation.FontSize = 16;
+       freeTextAnnotation.Text = "Modified content";
+    } 
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Free text modal view
+
+The free text modal view appears when text needs to be input by the user for creating and editing free text annotations in Android and iOS platforms. The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) notifies when the modal view is appearing and disappearing through events. The events help you in hiding and showing elements that are part of the app UI that are not necessary as long as the modal view is visible.
+
+![Free text modal view](Images/Annotations/free-text-modal-view.png)
+
+The `SfPdfViewer.FreeTextModalViewAppearing` event is triggered whenever the modal view opens for either creating or editing a free text annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.FreeTextModalViewAppearing += PdfViewer_FreeTextModalViewAppearing;
+
+private void PdfViewer_FreeTextModalViewAppearing(object? Sender, AnnotationModalViewAppearingEventArgs e)
+{
+    // Implement the logic to hide unwanted UI elements such as toolbar items added to the app UI. 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `SfPdfViewer.FreeTextModalViewDisappearing` event is triggered when the modal view is closing.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.FreeTextModalViewDisappearing += PdfViewer_FreeTextModalViewDisappearing;
+
+Private void PdfViewer_FreeTextModalViewDisappearing(object? Sender, EventArgs e)
+{
+    // Implement the logic to show the UI elements that were hidden from the FreeTextModalViewAppearing event handler.
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+### Suppressing the free text modal view and implementing your own UI
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to suppress the free text modal view and use your own UI in its place. This can be achieved by setting the [AnnotationModalViewAppearingEventArgs.Cancel](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ModalViewAppearingEventArgs.html#Syncfusion_Maui_PdfViewer_ModalViewAppearingEventArgs_Cancel) property to `true` in the [FreeTextModalViewAppearing](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FreeTextModalViewAppearing) event handler. 
+
+The below code snippet illustrates suppressing the free text modal view and using a UI implemented in the app in its place. The free text annotation instance that is created or edited can be obtained from the event args. Once the user enters the text in the custom dialog and confirms, the text can be assigned to this free text annotation instance. 
+
+{% tabs %}
+{% highlight c# %}
+
+Annotation editedAnnotation;
+pdfviewer.FreeTextModalViewAppearing += PdfViewer_FreeTextModalViewAppearing;
+
+private void PdfViewer_FreeTextModalViewAppearing(object? Sender, AnnotationModalViewAppearingEventArgs e)
+{
+    e.Cancel = true;
+    editedAnnotation = e.Annotation;
+    // Implement your own UI for free text editor and show it.
+    ShowCustomDialog();
+}
+
+Private void customDialogOkButton_Clicked(object sender, EventArgs e)
+{
+   //Get the typed text from the custom dialog 
+   string newText = customDialog.Text; 
+   if(editedAnnotation is FreeTextAnnotation freeText)
+   {
+      freeText.Text = newText;
+   }
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+N> For WinUI and MacCatalyst platforms, there is no separate modal view to receive text input from the users. As a result, the [FreeTextModalViewAppearing](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FreeTextModalViewAppearing) and [FreeTextModalViewDisappearing](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FreeTextModalViewDisappearing) events are not applicable for these platforms. 
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Gesture-Events.md b/Document-Processing/PDF/PDF-Viewer/maui/Gesture-Events.md
new file mode 100644
index 000000000..e3a9605f6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Gesture-Events.md
@@ -0,0 +1,64 @@
+---
+layout: post
+title: Gesture events in .NET MAUI PDF Viewer control | Syncfusion
+description: This guide discusses about the gesture events provided by Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Gesture Events in .NET MAUI PDF Viewer (SfPdfViewer)
+
+## Tapped event
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) provides a [Tapped](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Tapped) event that occurs when a tap gesture is detected in the control and allows you to perform custom actions when a tap occurs. This event provides information about the page number and position at the tapped location through the [GestureEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html). 
+The following code example demonstrates how to subscribe to the [Tapped](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Tapped) event.
+
+{% tabs %}
+{% highlight xaml %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer" Tapped="PdfViewer_Tapped"/>
+{% endhighlight %}
+
+{% highlight c# %}
+SfPdfViewer PdfViewer = new SfPdfViewer();
+PdfViewer.Tapped += PdfViewer_Tapped;
+{% endhighlight %}
+{% endtabs %}
+
+In the above example, the `PdfViewer_Tapped` method is registered as the event handler for the Tapped event of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The `PdfViewer_Tapped` method will be invoked whenever a tap occurs on the PDF Viewer. You can handle the custom action in the method as demonstrated in the following code example.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+	// Handle the tap event here.
+}
+{% endhighlight %}
+{% endtabs %}
+
+### GestureEventArgs
+
+The [GestureEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html) provides information available on the tapped location, and it includes the following properties.
+
+1.	[PageNumber](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html#Syncfusion_Maui_PdfViewer_GestureEventArgs_PageNumber) – This property returns the page number on which the tap took place. The value ranges from 1 to the total number of pages in the PDF document. If the tap occurs outside of any PDF page boundaries, the result will be -1.
+2.	[PagePosition](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html#Syncfusion_Maui_PdfViewer_GestureEventArgs_PagePosition) – The property returns the page’s tapped position in the PDF coordinates. The coordinates have their origin at the top-left of the page. The number of the tapped page is identified by the [PageNumber](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html#Syncfusion_Maui_PdfViewer_GestureEventArgs_PageNumber) property. If the tap occurs outside of any PDF page boundaries, the result will be (-1, -1).
+3.	[Position](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html#Syncfusion_Maui_PdfViewer_GestureEventArgs_Position) – This property returns the tapped position on the PDF Viewer control. The coordinate space starts at the top left of the control.
+
+The following code example demonstrates how to retrieve information from the [GestureEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.GestureEventArgs.html) and handle the tapped event.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+	// To get the pointer position on the control where the tap occurred.
+	var pointerPosition = e.Position;
+	// To get the page number where the tap occurred.
+	var pageNumber = e.PageNumber;
+	// To get the page position where the tap occurred.
+	var pagePoistion = e.PagePosition;
+
+	// Handle the tap event here with the above information if required.
+}
+{% endhighlight %}
+{% endtabs %}	
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md
new file mode 100644
index 000000000..0f6c49eb0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md
@@ -0,0 +1,466 @@
+---
+layout: post
+title: Getting Started with .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here about getting started with Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control, its elements, and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting Started with .NET MAUI PDF Viewer
+
+This section guides you through setting up and configuring PDF Viewer in your .NET MAUI application. Follow the steps below to add the PDF viewer to your project and load a PDF document.
+
+To get started quickly, you can also check out our video tutorial below. 
+
+<style>#MAUISfPdfViewerVideoTutorial{width : 90% !important; height: 400px !important }</style> <iframe id='MAUISfPdfViewerVideoTutorial' src='https://www.youtube.com/embed/KdXoeL5wvkA'></iframe>
+
+{% tabcontents %}
+{% tabcontent Visual Studio %}
+
+## Prerequisites
+
+Before proceeding, ensure the following are in place:
+
+1.	Install [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) or later.
+2.	Set up a .NET MAUI environment with Visual Studio 2022 (v17.3 or later).
+
+## Step 1: Create a New MAUI Project
+
+1.  Go to **File > New > Project** and choose the **.NET MAUI App** template.
+2.  Name the project and choose a location, then click **Next**.
+3.  Select the .NET Framework version and click **Create**.
+
+## Step 2: Install the Syncfusion<sup>®</sup> MAUI PDF Viewer NuGet Package
+
+1.  In **Solution Explorer**, right-click the project and choose **Manage NuGet Packages**.
+2.  Search for [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer) and install the latest version.`
+3.  Ensure the necessary dependencies are installed correctly and the project is restored.
+
+## Step 3: Register the Syncfusion<sup>®</sup> Core Handler
+
+[Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) is a dependency for all MAUI Syncfusion controls. This package will be automatically installed as a dependency when [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer) NuGet is installed. Register the Syncfusion<sup>®</sup> core handler in the `MauiProgram.cs` file.
+
+{% tabs %}
+{% highlight c# tabtitle="MauiProgram.cs" hl_lines="1 17" %}
+
+using Syncfusion.Maui.Core.Hosting;
+
+namespace PdfViewerExample
+{
+    public class MauiProgram 
+    {
+        public static MauiApp CreateMauiApp()
+        {
+            var builder = MauiApp.CreateBuilder();
+            builder
+                .UseMauiApp<App>()
+                .ConfigureFonts(fonts =>
+                {
+                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
+                });
+
+           builder.ConfigureSyncfusionCore();
+           return builder.Build();
+        }
+    }
+}
+{% endhighlight %} 
+{% endtabs %}
+
+## Step 4: Add PDF Viewer to the Project
+
+Open the `MainPage.xaml` file and follow the steps below. 
+
+1.  Import the control namespace `Syncfusion.Maui.PdfViewer`, and then add the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control inside the `<ContentPage.Content>` tag as follows.
+2.  Name the PDF viewer control as `pdfViewer`.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer"
+             x:Class="PdfViewerExample.MainPage">
+
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer">
+        </syncfusion:SfPdfViewer>
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+
+## Step 5: Load a PDF Document
+
+1.  From the solution explorer of the project, add a new folder to the project named `Assets` and add the PDF document you need to load into the PDF viewer. Here, a PDF document named `PDF_Succinctly.pdf` is used.
+2.  In Visual Studio, right-click the added PDF document and set its `Build Action` as `Embedded Resource`. 
+3.  In this example, we will load the PDF document through MVVM binding. Create a new C# file named `PdfViewerViewModel.cs` and add the following code snippet.
+
+{% tabs %}
+{% highlight c# tabtitle="PdfViewerViewModel.cs" %}
+
+using System.Reflection;
+using System.ComponentModel;
+
+namespace PdfViewerExample
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream pdfDocumentStream;
+
+        /// <summary>
+        /// Occurs when a property value changes.
+        /// </summary>
+        public event PropertyChangedEventHandler? PropertyChanged;
+
+        /// <summary>
+        /// Gets or sets the stream of the currently loaded PDF document.
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return pdfDocumentStream;
+            }
+            set
+            {
+                pdfDocumentStream = value;
+                OnPropertyChanged(nameof(PdfDocumentStream));
+            }
+        }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="PdfViewerViewModel"/> class.
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            // Load the embedded PDF document stream.
+            pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("PdfViewerExample.Assets.PDF_Succinctly.pdf");
+        }
+
+        /// <summary>
+        /// Raises the <see cref="PropertyChanged"/> event for the specified property name.
+        /// </summary>
+        /// <param name="name">The name of the property that changed.</param>
+        public void OnPropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        } 
+    }
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+4.  Open the `MainPage.xaml` file again and add the default namespace of the created .NET MAUI project and name it as `local`. Here the default namespace of the demo sample `PdfViewerExample` is used.
+5.  Set an instance of the `PdfViewerViewModel` class as the `BindingContext` of the `ContentPage`.
+6.  Bind the PDF viewer's [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) to the `PdfDocumentStream` property of the `PdfViewerViewModel` class.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer"
+             x:Class="PdfViewerExample.MainPage">
+
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel x:Name="viewModel" />
+    </ContentPage.BindingContext>
+
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer" DocumentSource="{Binding PdfDocumentStream}">
+        </syncfusion:SfPdfViewer>
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+
+N> 1. While changing or opening different documents on the same page, the previously loaded document will be unloaded automatically by the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). 
+N> 2. And, if you are using multiple pages in your application, then make sure to unload the document from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) while leaving the page that has it to release the memory and resources consumed by the PDF document that is loaded.  The unloading of documents can be done by calling the [UnloadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UnloadDocument) method. 
+
+## Step 6: Running the Application
+
+1.  Select the target framework, device or emulator.
+2.  Press `F5` to run the application.
+3.  The PDF document will be loaded in the PDF viewer control as shown in the following screenshot.
+
+{% endtabcontent %}
+{% tabcontent Visual Studio Code %}
+
+## Prerequisites
+
+Before proceeding, ensure the following are in place:
+
+1.	Install [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) or later.
+2.	Set up a .NET MAUI environment with Visual Studio Code. 
+3.  Ensure that the .NET MAUI workload is installed and configured as described [here](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-8.0&tabs=visual-studio-code).
+
+## Step 1: Create a New MAUI Project
+
+1.  Open the command palette by pressing `Ctrl+Shift+P` and type **.NET:New Project** and enter.
+2.  Choose the **.NET MAUI App** template.
+3.  Select the project location, type the project name and press enter.
+4.  Then choose **Create project**.
+
+## Step 2: Install the Syncfusion<sup>®</sup> MAUI PDF Viewer NuGet Package
+
+1.  In **Solution Explorer**, right-click the project and choose **Add NuGet Package**.
+2.  Search for [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer) and install the latest version.`
+3.  Ensure the necessary dependencies are installed correctly, and the project is restored.
+
+## Step 3: Register the Syncfusion<sup>®</sup> Core Handler
+
+[Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) is a dependency for all MAUI Syncfusion controls. This package will be automatically installed as a dependency when [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer) NuGet is installed. Register the Syncfusion<sup>®</sup> core handler in the `MauiProgram.cs` file.
+
+{% tabs %}
+{% highlight c# tabtitle="MauiProgram.cs" hl_lines="1 17" %}
+
+using Syncfusion.Maui.Core.Hosting;
+
+namespace PdfViewerExample
+{
+    public class MauiProgram 
+    {
+        public static MauiApp CreateMauiApp()
+        {
+            var builder = MauiApp.CreateBuilder();
+            builder
+                .UseMauiApp<App>()
+                .ConfigureFonts(fonts =>
+                {
+                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
+                });
+
+           builder.ConfigureSyncfusionCore();
+           return builder.Build();
+        }
+    }
+}
+{% endhighlight %} 
+{% endtabs %}
+
+## Step 4: Add PDF Viewer to the Project
+
+Open the `MainPage.xaml` file and follow the steps below. 
+
+1.  Import the control namespace `Syncfusion.Maui.PdfViewer`, and then add the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control inside the `<ContentPage.Content>` tag as follows.
+2.  Name the PDF viewer control as `pdfViewer`.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer"
+             x:Class="PdfViewerExample.MainPage">
+
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer">
+        </syncfusion:SfPdfViewer>
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+
+## Step 5: Load a PDF Document
+
+1.  From the solution explorer of the project, add a new folder to the project named `Assets` and add the PDF document you need to load into the PDF viewer. Here, a PDF document named `PDF_Succinctly.pdf` is used.
+2.  Open the `.csproj` file and add the following code snippet to embed the PDF document as a resource.
+
+{% tabs %}
+{% highlight xml tabtitle="PdfViewerExample.csproj" %}
+
+<ItemGroup>
+	<EmbeddedResource Include="Assets\PDF_Succinctly.pdf" />
+</ItemGroup>
+
+{% endhighlight %} 
+{% endtabs %}
+
+3.  In this example, we will load the PDF document through MVVM binding. Create a new C# file named `PdfViewerViewModel.cs` and add the following code snippet.
+
+{% tabs %}
+{% highlight c# tabtitle="PdfViewerViewModel.cs" %}
+
+using System.Reflection;
+using System.ComponentModel;
+
+namespace PdfViewerExample
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream pdfDocumentStream;
+
+        /// <summary>
+        /// Occurs when a property value changes.
+        /// </summary>
+        public event PropertyChangedEventHandler? PropertyChanged;
+
+        /// <summary>
+        /// Gets or sets the stream of the currently loaded PDF document.
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return pdfDocumentStream;
+            }
+            set
+            {
+                pdfDocumentStream = value;
+                OnPropertyChanged(nameof(PdfDocumentStream));
+            }
+        }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="PdfViewerViewModel"/> class.
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            // Load the embedded PDF document stream.
+            pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("PdfViewerExample.Assets.PDF_Succinctly.pdf");
+        }
+
+        /// <summary>
+        /// Raises the <see cref="PropertyChanged"/> event for the specified property name.
+        /// </summary>
+        /// <param name="name">The name of the property that changed.</param>
+        public void OnPropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        } 
+    }
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+4.  Open the `MainPage.xaml` file again and add the default namespace of the created .NET MAUI project and name it as `local`. Here the default namespace of the demo sample `PdfViewerExample` is used.
+5.  Set an instance of the `PdfViewerViewModel` class as the `BindingContext` of the `ContentPage`.
+6.  Bind the PDF viewer's [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) to the `PdfDocumentStream` property of the `PdfViewerViewModel` class.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer"
+             x:Class="PdfViewerExample.MainPage">
+
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel x:Name="viewModel" />
+    </ContentPage.BindingContext>
+
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer" DocumentSource="{Binding PdfDocumentStream}">
+        </syncfusion:SfPdfViewer>
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+
+N> 1. While changing or opening different documents on the same page, the previously loaded document will be unloaded automatically by the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). 
+N> 2. And, if you are using multiple pages in your application, then make sure to unload the document from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) while leaving the page that has it to release the memory and resources consumed by the PDF document that is loaded.  The unloading of documents can be done by calling the [UnloadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UnloadDocument) method. 
+
+## Step 6: Running the Application
+
+1.  Select the target framework, device or emulator.
+2.  Press `F5` to run the application.
+3.  The PDF document will be loaded in the PDF viewer control as shown in the following screenshot.
+
+{% endtabcontent %}
+
+{% tabcontent JetBrains Rider %}
+
+## Prerequisites
+
+Before proceeding, ensure the following are set up:
+
+1. Ensure you have the latest version of JetBrains Rider.
+2. Install [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) or later.
+3. Make sure the MAUI workloads are installed and configured as described [here.](https://www.jetbrains.com/help/rider/MAUI.html#before-you-start)
+
+## Step 1: Create a new .NET MAUI Project
+
+1. Go to **File > New Solution,** Select .NET (C#), and choose the .NET MAUI App template.
+2. Enter the Project Name, Solution Name, and Location.
+3. Select the .NET Framework version and click Create.
+
+## Step 2: Install the Syncfusion<sup>®</sup> MAUI PDF Viewer NuGet Package
+
+1. In **Solution Explorer,** right-click the project and choose **Manage NuGet Packages.**
+2. Search for [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer/) and install the latest version.
+3. Ensure the necessary dependencies are installed correctly, and the project is restored. If not, open the Terminal in Rider and manually run: `dotnet restore`.
+
+## Step 3: Register the Syncfusion<sup>®</sup> Core Handler
+
+[Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) is a dependency for all MAUI Syncfusion controls. This package will be automatically installed as a dependency when [Syncfusion.Maui.PdfViewer](https://www.nuget.org/packages/Syncfusion.Maui.PdfViewer) NuGet is installed. Register the Syncfusion<sup>®</sup> core handler in the `MauiProgram.cs` file.
+
+{% tabs %}
+{% highlight c# tabtitle="MauiProgram.cs" hl_lines="1 17" %}
+
+using Syncfusion.Maui.Core.Hosting;
+
+namespace PdfViewerExample
+{
+    public class MauiProgram 
+    {
+        public static MauiApp CreateMauiApp()
+        {
+            var builder = MauiApp.CreateBuilder();
+            builder
+                .UseMauiApp<App>()
+                .ConfigureFonts(fonts =>
+                {
+                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
+                });
+
+           builder.ConfigureSyncfusionCore();
+           return builder.Build();
+        }
+    }
+}
+{% endhighlight %} 
+{% endtabs %}
+
+## Step 4: Add PDF Viewer to the Project
+
+Open the `MainPage.xaml` file and follow the steps below. 
+
+1.  Import the control namespace `Syncfusion.Maui.PdfViewer`, and then add the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control inside the `<ContentPage.Content>` tag as follows.
+2.  Name the PDF viewer control as `pdfViewer`.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer"
+             x:Class="PdfViewerExample.MainPage">
+
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer">
+        </syncfusion:SfPdfViewer>
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+{% endtabcontent %}
+{% endtabcontents %}
+![Getting started with .NET MAUI PDF Viewer](Images\Getting-Started\maui-pdf-viewer-getting-started.png)
+
+The **Getting Started** example project for the .NET MAUI PDF Viewer can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples). 
+
+N> You can refer to our [.NET MAUI PDF Viewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [.NET MAUI PDF Viewer Example](https://github.com/syncfusion/maui-demos/tree/master/MAUI/PdfViewer) that shows you how to render the PDF Viewer in .NET MAUI.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Hyperlink-Navigation.md b/Document-Processing/PDF/PDF-Viewer/maui/Hyperlink-Navigation.md
new file mode 100644
index 000000000..14412b42e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Hyperlink-Navigation.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title: Hyperlink navigation in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about how to perform hyperlink navigation in the PDF documents using the Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer).
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Hyperlink navigation in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) lets you open URLs or website links in the default browser. When a user taps or clicks a hyperlink on a PDF page, the SfPdfViewer recognizes the link and prompts a hyperlink dialog asking the user if they want to open the link.
+
+## Handling hyperlink navigation
+
+The [HyperlinkClicked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_HyperlinkClicked) event occurs when a hyperlink is tapped or clicked and allows you to handle the hyperlink navigation at the application level in your own way. Set the [Handled](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.HyperlinkClickedEventArgs.html#Syncfusion_Maui_PdfViewer_HyperlinkClickedEventArgs_Handled) property of the [HyperlinkClickedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.HyperlinkClickedEventArgs.html) to `true` to suppress the default hyperlink dialog and handle your logic with the hyperlink information. The following example explains how to open a link directly in the system's default browser without confirmation prompts.
+
+{% tabs %}
+{% highlight XAML hl_lines="3" %}
+
+<syncfusion:SfPdfViewer 
+	x:Name="PdfViewer"
+	HyperlinkClicked="PdfHyperlinkClicked"/>
+			
+{% endhighlight %}
+{% highlight C# hl_lines="4" %}
+
+public MainPage()
+{
+	InitializeComponent();
+	PdfViewer.HyperlinkClicked += PdfHyperlinkClicked;
+}
+
+private async void PdfHyperlinkClicked(object sender, HyperlinkClickedEventArgs e)
+{
+	e.Handled = true;
+	await Browser.Default.OpenAsync(e.Uri, BrowserLaunchMode.SystemPreferred);
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+## Enable or disable hyperlink navigation
+
+Enable or disable the recognition of hyperlinks in PDF documents using the [EnableHyperlinkNavigation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableHyperlinkNavigation) property. The following code explains the same.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer 
+	x:Name="PdfViewer" 
+	EnableHyperlinkNavigation="False"/>
+			
+{% endhighlight %}
+{% highlight C# %}
+
+PdfViewer.EnableHyperlinkNavigation = false;
+	
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationDesktop.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationDesktop.gif
new file mode 100644
index 000000000..66035d628
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationDesktop.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationMobile.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationMobile.gif
new file mode 100644
index 000000000..2af70b7bc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/CircleAnnotationMobile.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkDesktop.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkDesktop.gif
new file mode 100644
index 000000000..b749232d0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkDesktop.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserDesktop.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserDesktop.gif
new file mode 100644
index 000000000..6ba8b6772
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserDesktop.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserMobile.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserMobile.gif
new file mode 100644
index 000000000..314b2d082
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkEraserMobile.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkMobile.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkMobile.gif
new file mode 100644
index 000000000..295e46a57
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/InkMobile.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/approved-stamp.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/approved-stamp.png
new file mode 100644
index 000000000..e94df232d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/approved-stamp.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-desktop.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-desktop.png
new file mode 100644
index 000000000..52b1adbcf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-desktop.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-mobile.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-mobile.png
new file mode 100644
index 000000000..c67e26890
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/custom-stamp-modal-view-mobile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/desktop-cloud.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/desktop-cloud.gif
new file mode 100644
index 000000000..1e770ea47
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/desktop-cloud.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/free-text-modal-view.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/free-text-modal-view.png
new file mode 100644
index 000000000..319a5809a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/free-text-modal-view.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/ink-eraser.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/ink-eraser.gif
new file mode 100644
index 000000000..30e80cf01
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/ink-eraser.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/markup-from-selection.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/markup-from-selection.png
new file mode 100644
index 000000000..a06f382be
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/markup-from-selection.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/mobile-cloud.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/mobile-cloud.gif
new file mode 100644
index 000000000..0d1487157
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/mobile-cloud.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-circle.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-circle.png
new file mode 100644
index 000000000..79e585c89
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-circle.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-locked.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-locked.png
new file mode 100644
index 000000000..fac9de072
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-locked.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-unlocked.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-unlocked.png
new file mode 100644
index 000000000..d9c527b65
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/selected-unlocked.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-desktop.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-desktop.png
new file mode 100644
index 000000000..bece64f5f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-desktop.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-mobile.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-mobile.png
new file mode 100644
index 000000000..c4050a2e6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/signature-pad-modal-view-mobile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-icon-types.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-icon-types.png
new file mode 100644
index 000000000..4026b108d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-icon-types.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-modal-view.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-modal-view.png
new file mode 100644
index 000000000..d128a6205
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-note-modal-view.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-notes-edit.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-notes-edit.gif
new file mode 100644
index 000000000..1d7aeeaaf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/sticky-notes-edit.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/text-markups.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/text-markups.png
new file mode 100644
index 000000000..8b40c1835
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Annotations/text-markups.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Coordinates.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Coordinates.png
new file mode 100644
index 000000000..6ec8df6a9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Coordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Rectangle.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Rectangle.png
new file mode 100644
index 000000000..f62cc27e9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Client-Rectangle.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Page-Coordinates.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Page-Coordinates.png
new file mode 100644
index 000000000..80b1cb3a1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Coordinates-Conversion/Page-Coordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopCustomStamp.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopCustomStamp.gif
new file mode 100644
index 000000000..5463e3161
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopCustomStamp.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopStamp.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopStamp.gif
new file mode 100644
index 000000000..36a46ea75
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/DesktopStamp.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Getting-Started/maui-pdf-viewer-getting-started.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Getting-Started/maui-pdf-viewer-getting-started.png
new file mode 100644
index 000000000..09e45a666
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Getting-Started/maui-pdf-viewer-getting-started.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/BuildAction.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/BuildAction.png
new file mode 100644
index 000000000..9e345edb0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/BuildAction.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/NewItem.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/NewItem.png
new file mode 100644
index 000000000..0ecb42adf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/NewItem.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resources.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resources.png
new file mode 100644
index 000000000..5c293052c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resources.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resx.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resx.png
new file mode 100644
index 000000000..58f77834e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Localization/Resx.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileCustomStamp.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileCustomStamp.gif
new file mode 100644
index 000000000..45183f6ac
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileCustomStamp.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileStamp.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileStamp.gif
new file mode 100644
index 000000000..f1b5075d8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/MobileStamp.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/PageNavigationUsingScrollHead.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/PageNavigationUsingScrollHead.gif
new file mode 100644
index 000000000..d61d18dec
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/PageNavigationUsingScrollHead.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Print/print.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/Print/print.png
new file mode 100644
index 000000000..f398d3b98
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Print/print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/ScrollHead.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/ScrollHead.png
new file mode 100644
index 000000000..812629844
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/ScrollHead.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection.gif
new file mode 100644
index 000000000..6b162dd99
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection_mouse.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection_mouse.gif
new file mode 100644
index 000000000..a04340faf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/Text-Selection/text_selection_mouse.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/ZoomModeforMobile.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/ZoomModeforMobile.gif
new file mode 100644
index 000000000..74b25b405
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/ZoomModeforMobile.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark-contextmenu.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark-contextmenu.png
new file mode 100644
index 000000000..0ca540a4b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark-contextmenu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark.png
new file mode 100644
index 000000000..9def68a5f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/custom-bookmark.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/desktopfreetext.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/desktopfreetext.gif
new file mode 100644
index 000000000..7a56a6041
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/desktopfreetext.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/mobilefreetext.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/mobilefreetext.gif
new file mode 100644
index 000000000..e5228b44a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/mobilefreetext.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/outline-view.png b/Document-Processing/PDF/PDF-Viewer/maui/Images/outline-view.png
new file mode 100644
index 000000000..756d28fe2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/outline-view.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/stick.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/stick.gif
new file mode 100644
index 000000000..90d972437
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/stick.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/stickymobile.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/stickymobile.gif
new file mode 100644
index 000000000..b53d03389
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/stickymobile.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Images/windowszoom.gif b/Document-Processing/PDF/PDF-Viewer/maui/Images/windowszoom.gif
new file mode 100644
index 000000000..abff1f265
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/maui/Images/windowszoom.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Import-Export-Annotations.md b/Document-Processing/PDF/PDF-Viewer/maui/Import-Export-Annotations.md
new file mode 100644
index 000000000..2bc5d580d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Import-Export-Annotations.md
@@ -0,0 +1,101 @@
+---
+layout: post
+title: Import and Export annotations in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here all about importing and exporting annotations using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Import and Export Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+This section will go through the various functions available in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to import and export annotations in a PDF document.
+
+The import and export of annotations support the following file data formats:
+
+* XFDF
+* FDF
+* JSON
+
+The required file format can be chosen from the [AnnotationDataFormat](https://help.syncfusion.com/cr/file-formats/Syncfusion.Pdf.Parsing.AnnotationDataFormat.html) enumeration. In the following sections, only the `XFDF` file format is explained for brevity.
+
+N> The XFDF and FDF are the standard file data formats that can be used across global PDF viewers. Whereas, JSON is the custom format that can only be used across the Syncfusion<sup>®</sup> PDF Viewers supported on other platforms like WPF, Flutter, JavaScript, etc.
+
+## Import annotations
+
+You can add annotations to a PDF document by importing them from FDF and XFDF files by using the [ImportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ImportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_) method. You need to provide the stream of the file containing the annotations and the data format information as parameters to the method. The following example explains how to import annotations from an XFDF file, assuming that the file is in the application’s data directory. 
+
+{% tabs %}
+{% highlight C# %}
+void ImportAnnotations()
+{
+    // Create a file stream from the XFDF file containing the annotations information. Here, a file named "AnnotationsInfo.xfdf" is read from the application's data directory.
+    string fileName = Path.Combine(FileSystem.Current.AppDataDirectory, "AnnotationsInfo.xfdf");
+    Stream inputFileStream = File.OpenRead(fileName);
+    inputFileStream.Position = 0;
+    
+    // Provide the file stream and the data format information as parameters to the [ImportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ImportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_) method of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance to import the annotations.
+    PdfViewer.ImportAnnotations(inputFileStream, Syncfusion.Pdf.Parsing.AnnotationDataFormat.XFdf);
+}
+{% endhighlight %}
+{% endtabs %}
+
+To import the annotations asynchronously, you may use the [ImportAnnotationsAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ImportAnnotationsAsync_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Threading_CancellationToken_) method.
+
+## Export annotations
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to export annotations from a PDF document into FDF and XFDF files. This will help you to save the annotation information in a separate file rather than the complete PDF file. You need to provide the FDF or XFDF file stream as a parameter to the [ExportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__) method to achieve the same. The annotation information will be exported to the given file stream. The following code explains how to export annotations from a PDF document into an XFDF file in the application’s data directory.
+
+{% tabs %}
+{% highlight C# %}
+private void ExportAnnotations()
+{
+    // Create a file stream to export the annotations. Here, a file named "ExportedFile.xfdf" is created in the application's data directory.
+    string targetFile = Path.Combine(FileSystem.Current.AppDataDirectory, "ExportedFile.xfdf");
+    FileStream fileStream = File.Create(targetFile);
+
+    // Export the annotations to the file stream by passing stream to the `ExportAnnotations` method of the `SfPdfViewer` instance.
+    PdfViewer.ExportAnnotations(fileStream, Syncfusion.Pdf.Parsing.AnnotationDataFormat.XFdf);
+}
+{% endhighlight %}
+{% endtabs %}
+
+To import the annotations asynchronously, you may use the [ExportAnnotationsAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotationsAsync_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__System_Threading_CancellationToken_) method.
+
+### Export a specific list of annotations
+
+You can export only a specific list of annotations from a PDF document by providing the list of annotations as an additional parameter to the [ExportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__) method. You may use the Annotations property of the SfPdfViewer to obtain a specific list of annotations from the total annotations. The following example explains how to export the first five annotations in a PDF document into an XFDF file.
+
+{% tabs %}
+{% highlight C# %}
+List<Annotation> GetAnnotations(int count)
+{
+    // Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+    // Create a list of annotations to be exported.
+    List<Annotation> annotationsToBeExported = new List<Annotation>();
+
+    // Add the annotations in the list.
+    for (int i = 0; i < count; i++)
+    {
+        annotationsToBeExported.Add(annotations[i]);
+    }
+    return annotationsToBeExported;
+}
+
+void ExportSpecificAnnotations()
+{
+    // Create a file stream to export the annotations. Here, a file named "ExportedFile.xfdf" is created in the application's data directory.
+    string targetFile = Path.Combine(FileSystem.Current.AppDataDirectory, "ExportedFile.xfdf");
+    FileStream fileStream = File.Create(targetFile);
+
+    // Get the first five annotations in the PDF document
+    List<Annotation> annotationsToBeExported = GetAnnotations(5);
+
+    // Export the annotations to the file stream using [ExportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__) method of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+    PdfViewer.ExportAnnotations(fileStream, Syncfusion.Pdf.Parsing.AnnotationDataFormat.XFdf, annotationsToBeExported);
+}
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Ink-Eraser.md b/Document-Processing/PDF/PDF-Viewer/maui/Ink-Eraser.md
new file mode 100644
index 000000000..d27ba8b07
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Ink-Eraser.md
@@ -0,0 +1,86 @@
+---
+layout: post
+title: Ink Eraser in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Ink Eraser in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its functionalities.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Ink or Freehand Drawing Eraser in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to erase all or portions of an ink annotation, which will help correct mistakes in freehand drawings.
+
+![Ink eraser](Images/Annotations/ink-eraser.gif)
+
+## Enabling the ink eraser
+
+Enable the ink eraser by setting the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to [InkEraser](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_InkEraser). In the ink eraser mode, drag the pointer over the portions of the ink annotations you want to erase.
+
+{% tabs %}
+{% highlight C# %}
+
+void EnableInkEraserMode() 
+{ 
+	// Set the annotation mode to ink eraser using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance. 
+	PdfViewer.AnnotationMode = AnnotationMode.InkEraser; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Disabling the ink eraser
+
+Once you have erased the ink, disable the ink eraser by setting the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None).
+
+{% tabs %}
+{% highlight C# %}
+
+void DisableInkEraserMode() 
+{ 
+	PdfViewer.AnnotationMode = AnnotationMode.None; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to erase ink annotation and customize the ink eraser thickness using the toolbar
+
+On the built-in toolbar, an ink eraser tool is available. Using that, you can easily erase all or portions of the ink annotation. Additionally, the toolbar shows the option to customize the ink eraser thickness.
+
+The following image demonstrates how to use the ink eraser tool from the toolbar on the desktop to remove ink annotations.
+
+![Ink annotation desktop](Images/Annotations/InkEraserDesktop.gif)
+
+## How to erase ink annotation only using a stylus
+
+The ink eraser operation can be customized so that the ink strokes can be added only using a stylus by setting the [AnnotationSettings.Ink.TouchScreenInputMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TouchScreenInputMode.html) property to TouchScreenInputMode.Stylus. When TouchScreenInputMode is set to TouchScreenInputMode.Stylus, users can easily erase ink strokes using a stylus. However, zooming and scrolling functionality will still be available using their fingers.
+
+By default, the TouchScreenInputMode property is set to TouchScreenInputMode.FingerAndStylus, where both finger and stylus inputs are recognized as ink-erasing operations.
+
+{% tabs %}
+{% highlight C# %}
+
+PdfViewer.AnnotationSettings.Ink.TouchScreenInputMode = TouchScreenInputMode.Stylus;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> * At present, this feature is available only in iOS and Android.
+
+## Customize the ink eraser thickness
+
+The default thickness of the ink eraser is 40. You can adjust the thickness using the [InkEraser.Thickness](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkEraserSettings.html#Syncfusion_Maui_PdfViewer_InkEraserSettings_Thickness) property in the annotation settings.  
+
+{% tabs %}
+{% highlight C# %}
+
+PdfViewer.AnnotationSettings.InkEraser.Thickness = 50;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> When the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) is [InkEraser](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_InkEraser)., only the ink annotations will be erased. Other types of annotations will not be erased. 
+
+
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Ink.md b/Document-Processing/PDF/PDF-Viewer/maui/Ink.md
new file mode 100644
index 000000000..5d24b095c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Ink.md
@@ -0,0 +1,186 @@
+---
+layout: post
+title: Ink Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Ink Annotations in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its functionalities.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Ink annotation in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The ink annotation feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove, and modify freehand drawings (ink) in the PDF document. This is useful for making corrections or emphasizing important points in the document. This section will go through the various functions available in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) for working with ink annotations.
+
+## Add ink annotations
+
+This section will cover how to add ink annotations to a PDF document using a toolbar as well as programmatically.
+
+## Add an ink annotation using the toolbar
+
+On the built-in toolbar, an ink annotation tool is available. Using that, you can add ink annotations by drawing on the PDF document. Additionally, the toolbar shows the option to modify the properties of existing or new ink annotations.
+
+The following image represents how to add the ink annotations using the toolbar on the desktop.
+
+![Ink annotation desktop](Images/Annotations/InkDesktop.gif)
+
+The following image represents how to add the ink annotations using the toolbar on mobile.
+
+![Ink annotation mobile](Images/Annotations/InkMobile.gif)
+
+## Add an ink annotation without using the toolbar
+
+You can draw and add ink annotations to a PDF document with UI interaction using touch or mouse. The following steps explains how to draw ink annotation on a PDF.
+
+1.	Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the SfPdfViewer to [Ink](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Ink). It activates the ink drawing mode on the control.
+2.	Place your finger (or mouse) on the screen, where you want to start drawing the ink stroke.
+3.	Draw the stroke by dragging the finger (or cursor) across the screen.
+4.	Finish the stroke by releasing the finger (or cursor).
+5.	Repeat steps 2-4 if you want to create multiple strokes on other areas during the ink drawing mode.
+6.	Once you have done that, set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). It will disable the drawing mode and save the drawn strokes to the PDF page as a single ink annotation.
+7.	You can later move, resize, or edit the annotation.
+
+
+The following code explains how to enable the ink annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Enable or activate the ink drawing mode.
+void EnableInkDrawingMode()
+{
+    // Set the annotation mode to ink using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.Ink;
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the ink annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Disable or deactivate the ink drawing mode.
+void DisableInkDrawingMode()
+{
+    // Set the annotation mode to none using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.None;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Add ink annotations programmatically
+
+You can create and add an ink annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create an ink annotation and add it to the first page of a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+// Create an ink annotation
+InkAnnotation CreateInkAnnotation()
+{
+    int pageNumber = 1;
+    
+    // Provide the points collection to draw a stroke. Here, a single stroke is created.
+    List<List<float>> pointsCollection = new List<List<float>>()
+    {
+        new List<float> { 40, 300, 60, 100, 40, 50, 40, 300 }
+    };
+
+    // Create an ink annotation.
+    InkAnnotation annotation = new InkAnnotation(pointsCollection, pageNumber);
+
+    // Set the appearance for the ink annotation.
+    annotation.Color = Colors.Red; //Stroke color
+    annotation.BorderWidth = 2; //Stroke thickness.
+    annotation.Opacity = 0.75f; // 75% opacity
+
+    // return the annotation.
+    return annotation;
+}
+
+void AddInkAnnotation()
+{
+    Annotation inkAnnotation = CreateInkAnnotation();
+
+    // Add the ink annotation to the PDF document using the `AddAnnotation` method of the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(inkAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Annotation settings
+
+In the ink annotation mode, the ink annotation will be drawn with a default appearance and behavior. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance and behavior before drawing on the document, you can change its default settings using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+### Customize the default appearance
+
+You can customize the default appearance of ink annotation using the [InkAnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html). The following example explains how to obtain the default ink annotation settings and modify their appearance properties. Similarly, you can also modify other available properties.
+
+{% tabs %}
+{% highlight C# %}
+void CustomizeDefaultInkSettings()
+{
+    // Obtain the default ink annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    InkAnnotationSettings inkSettings = PdfViewer.AnnotationSettings.Ink;
+
+    // Modify the default appearance properties
+    inkSettings.Color = Colors.Blue; // Stroke color
+    inkSettings.BorderWidth = 2; // Stroke thickness
+    inkSettings.Opacity = 0.75f; // 75% opacity
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Consider each stroke as a separate ink annotation
+
+When drawing ink annotations on a PDF document interactively, all the strokes that are created during a session are treated as a single ink annotation. The session here refers to the duration between enabling and disabling the ink drawing mode. However, if you wish to consider each stroke as an individual ink annotation, set the [AggregateInkStrokes](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html#Syncfusion_Maui_PdfViewer_InkAnnotationSettings_AggregateInkStrokes) property of the default ink annotation settings to `false`. This allows you to access and modify individual strokes. The following example explains how to access the default ink annotation settings and set the property to `false`.
+
+{% tabs %}
+{% highlight C# %}
+void DisableAggregateInkStrokes()
+{
+    // Obtain the default ink annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    InkAnnotationSettings inkSettings = PdfViewer.AnnotationSettings.Ink;
+
+    // Disable aggregating the ink strokes
+    inkSettings.AggregateInkStrokes = false;
+}
+{% endhighlight %}
+{% endtabs %}
+
+### How to draw an ink annotation only using a stylus
+
+The ink annotation operation can be customized so that the ink strokes can be added only using a stylus by setting the [AnnotationSettings.Ink.TouchScreenInputMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html#Syncfusion_Maui_PdfViewer_InkAnnotationSettings_TouchScreenInputMode) property to TouchScreenInputMode.Stylus. When TouchScreenInputMode is set to TouchScreenInputMode.Stylus, users can easily draw ink strokes using a stylus. However, zooming and scrolling functionality will still be available using their fingers.
+
+By default, the TouchScreenInputMode property is set to TouchScreenInputMode.FingerAndStylus, where both finger and stylus inputs are recognized as ink operations.
+
+{% tabs %}
+{% highlight C# %}
+
+PdfViewer.AnnotationSettings.Ink.TouchScreenInputMode = TouchScreenInputMode.Stylus;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> * At present, this feature is available only in iOS and Android.
+
+## Edit the selected ink annotation
+
+You can edit the properties of the selected ink annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit some of the properties of the selected ink annotation. Similarly, you can modify the other properties.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Edit the selected ink annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void EditSelectedInkAnnotation(Annotation selectedAnnotation)
+{
+    // Typecast the selected annotation as an ink annotation.
+    if(selectedAnnotation is InkAnnotation inkAnnotation)
+    {
+        inkAnnotation.Color = Colors.Blue; // Change the color to blue.
+        inkAnnotation.BorderWidth = 1; // Change the stroke thickness to 1.
+        inkAnnotation.Opacity = 0.75f; // Change the opacity to 75%.
+    }
+}
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Keyboard-Shortcuts.md b/Document-Processing/PDF/PDF-Viewer/maui/Keyboard-Shortcuts.md
new file mode 100644
index 000000000..7c96ca49b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Keyboard-Shortcuts.md
@@ -0,0 +1,150 @@
+---
+layout: post
+title: Keyboard shortcuts in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here about performing actions using keyboard shortcuts in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Keyboard shortcuts in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [.NET MAUI PDF viewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) allows the users to perform certain operations such as page navigation using keyboard shortcuts in Windows and macOS platforms. The below table lists the available shortcuts and the corresponding operations.
+
+<table>
+<tr>
+<th>Key combination</th>
+<th>Operation</th>
+</tr>
+<tr>
+<td>Mouse wheel scroll up</td>
+<td>Vertically scrolls towards the top</td>
+</tr>
+<tr>
+<td>Mouse wheel scroll down</td>
+<td>Vertically scrolls towards the bottom</td>
+</tr>
+<tr>
+<td>Mouse left button down + drag</td>
+<td>Omni directional dragging (pan)</td>
+</tr>
+<tr>
+<td><code>Shift</code> + Mouse wheel scroll up</td>
+<td>Horizontally scrolls towards the left</td>
+</tr>
+<tr>
+<td><code>Shift</code> + Mouse wheel scroll down</td>
+<td>Horizontally scrolls towards the right</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + Mouse wheel scroll up</td>
+<td>Zoom in</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + Mouse wheel scroll down</td>
+<td>Zoom out</td>
+</tr>
+<tr>
+<td>Down arrow</td>
+<td>Step scrolling from top to bottom</td>
+</tr>
+<tr>
+<td>Up arrow</td>
+<td>Step scrolling from bottom to top</td>
+</tr>
+<tr>
+<td>Right arrow</td>
+<td>Step scrolling from left to right</td>
+</tr>
+<tr>
+<td>Left arrow</td>
+<td>Step scrolling from right to left</td>
+</tr>
+<tr>
+<td><code>Page up</code></td>
+<td>Scrolls up the current View</td>
+</tr>
+<tr>
+<td><code>Page down</code></td>
+<td>Scrolls down the current view</td>
+</tr>
+<tr>
+<td><code>Enter</code></td>
+<td>Submits the password entered in the built-in password dialog. Ignored if the password dialog is not showing</td>
+</tr>
+<tr>
+<td><code>Home</code></td>
+<td>Scrolls to the top.</td>
+</tr>
+<tr>
+<td><code>End</code></td>
+<td>Scrolls to the bottom.</td>
+</tr>
+<tr>
+<td><code>Shift</code> + <code>Home</code></td>
+<td>Scrolls to the left end</td>
+</tr>
+<tr>
+<td><code>Shift</code> + <code>End</code></td>
+<td>Scrolls to the right end</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>+</code></td>
+<td>Zooms in</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>-</code></td>
+<td>Zooms out</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>Page down</code></td>
+<td>Goes to the next page</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>Page up</code></td>
+<td>Goes to the previous page</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>Home</code></td>
+<td>Goes to the first page</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>End</code></td>
+<td>Goes to the last page</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>C</code></td>
+<td>Copies the selected text to the clipboard</td>
+</tr>
+<tr>
+<td><code>Delete</code></td>
+<td>Removes the selected annotation from a PDF document</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>z</code></td>
+<td>Undo - Reverse the most recent action performed on the annotations</td>
+</tr>
+<tr>
+<td><code>Ctrl</code> + <code>y</code></td>
+<td>Redo – Restores the last undone action</td>
+</tr>
+<tr>
+<td><code>Esc</code></td>
+<td>
+   <ul>
+    <li>Resets the `AnnotationMode` to `None`.</li>   
+    <li>Closes the currently showing built-in dialog.</li>
+    <li>Deselects the currently selected annotation.</li>
+    <li>Unfocus the built-in page entry.</li>
+   </ul>
+</td>
+</tr>
+</table>
+
+### Limitations
+
+* The `Ctrl` + mouse wheel combinations for zooming are applicable only for Windows. There is no support for this combination in macOS.
+* In Windows, it is the default behavior of UI elements to receive notification of the key pressed event only when they are focused. So, while using keyboard shortcuts in Windows, please make sure that the PDF viewer control is focused by either tapping or clicking on it. 
+
+N> Use the `Command` key instead of the `Ctrl` key in macOS.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Localization.md b/Document-Processing/PDF/PDF-Viewer/maui/Localization.md
new file mode 100644
index 000000000..3d4907793
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Localization.md
@@ -0,0 +1,618 @@
+---
+layout: post
+title: Localization in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about to localize the static text used in the Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control to other languages .
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Localization in .NET MAUI PDF Viewer (SfPdfViewer)
+
+Localization is the process of translating the application resources into a different language for specific cultures. [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) is set up by default with the language code `en-US`. However, by including a resource file (.resx) in the application with the language code, the static text used in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) can be localized to a different language. 
+
+Follow the instructions given to apply localization to the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+## Change the current user interface culture
+
+Set the [CurrentUICulture](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentuiculture?view=net-7.0) property in the `App.xaml.cs` file to the desired user interface culture. Refer to the following code sample to change the current culture to `French`.
+
+{% tabs %}
+{% highlight C# tabtitle="App.xaml.cs"  hl_lines="10" %}
+
+using System.Globalization;
+
+namespace PdfViewerLocalization;
+
+public partial class App : Application
+{
+	public App()
+	{
+		InitializeComponent();
+        CultureInfo.CurrentUICulture = new CultureInfo("fr-FR");
+        MainPage = new AppShell();
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Create and add the resource file to the application
+
+Follow the given steps to create and add the resource file to the application.
+
+1. Right-click on the `Resources` folder in the application.
+
+    ![Resources folder in the .NET MAUI PDF Viewer application.](Images/Localization/Resources.png)
+
+2. Click the `Add` option and then select `NewItem`.
+
+    ![Add new item in the .NET MAUI PDF Viewer application.](Images/Localization/NewItem.png)
+
+3. In the `Add New Item` wizard, select the `Resource File` option and name the file in the format `<control name>.<culture name>.resx`. For example, name the file as SfPdfViewer.fr.resx for `French` culture.
+
+    ![Adding resource file in the .NET MAUI PDF Viewer application.](Images/Localization/Resx.png)
+
+4. Click the `Add` option to add the resource file in the Resources folder.
+
+5. Change the `Build Action` of the resource file to `Embedded resource`.
+
+    ![Build action of resource file](Images/Localization/BuildAction.png)
+
+6. Double tap on the resource file to add the name and value details to the Resource Designer.
+	
+7. Set the `ResourceManager` as shown in the following code example, that looks up the resource file with the specified root name.
+ 
+{% tabs %}
+{% highlight C# tabtitle="App.xaml.cs"  hl_lines="13 14" %}
+
+using System.Resources;
+using System.Globalization;
+using Syncfusion.Maui.PdfViewer;
+
+namespace PdfViewerLocalization;
+
+public partial class App : Application
+{
+	public App()
+	{
+		InitializeComponent();
+        CultureInfo.CurrentUICulture = new CultureInfo("fr-FR");
+        SfPdfViewerResources.ResourceManager = new ResourceManager("PdfViewerLocalization.Resources.SfPdfViewer", 
+			Application.Current.GetType().Assembly);
+        MainPage = new AppShell();
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> When localizing multiple Syncfusion MAUI controls in a .NET MAUI application, it's important to understand that these controls support only a single [ResourceManager](https://learn.microsoft.com/en-us/dotnet/api/system.resources.resourcemanager?view=net-9.0) instance for localization. If you assign different [ResourceManager](https://learn.microsoft.com/en-us/dotnet/api/system.resources.resourcemanager?view=net-9.0) instances for separate resource (.resx) files, the last assigned ResourceManager will override the others. This can result in incomplete or incorrect localization across your controls. To ensure consistent and accurate localization, consolidate all localization keys (name-value pairs) into a single resource (.resx) file and assign the [ResourceManager](https://learn.microsoft.com/en-us/dotnet/api/system.resources.resourcemanager?view=net-9.0) using that unified resource file, as shown below:
+N>
+N>```csharp
+N> using Syncfusion.Maui.Core.Localization;
+N>
+N> // Assign the ResourceManager using the unified .resx file 
+N> LocalizationResourceAccessor.ResourceManager = new ResourceManager("Localization.Resources.SyncfusionControls", Application.Current.GetType().Assembly);
+N> // Replace the above string with your resource file's actual namespace and name.
+N> ```
+
+## Default names and values
+
+The following table contains the default name and value details used in the SfPdfViewer in the `en-US` 
+
+<table>
+<tr>
+<th>Name</th>
+<th>Value</th>
+</tr>
+<tr>
+<td>Cancel</td>
+<td>Cancel</td>
+</tr>
+<tr>
+<td>CanOpenWebPage</td>
+<td>Do you want to open</td>
+</tr>
+<tr>
+<td>Close</td>
+<td>CLOSE</td>
+</tr>
+<tr>
+<td>DocumentLoadFailed</td>
+<td>Failed to load the PDF document.</td>
+</tr>
+<tr>
+<td>EnterPassword</td>
+<td>Enter Password</td>
+</tr>
+<tr>
+<td>Error</td>
+<td>Error</td>
+</tr>
+<tr>
+<td>NoOutline</td>
+<td>No outline</td>
+</tr>
+<tr>
+<td>Ok</td>
+<td>OK</td>
+</tr>
+<tr>
+<td>Open</td>
+<td>OPEN</td>
+</tr>
+<tr>
+<td>OpenWebPage</td>
+<td>Open Web Page</td>
+</tr>
+<tr>
+<td>Outline</td>
+<td>Outline</td>
+</tr>
+<tr>
+<td>PasswordErrorHint</td>
+<td>Check your password</td>
+</tr>
+<tr>
+<td>RequestPassword</td>
+<td>This PDF file is protected. Please enter the password to open it.</td>
+</tr>
+<tr>
+<td>Copy</td>
+<td>Copy</td>
+</tr>
+<tr>
+<td>Highlight</td>
+<td>Highlight</td>
+</tr>
+<tr>
+<td>Save</td>
+<td>Save</td>
+</tr>
+<tr>
+<td>Squiggly</td>
+<td>Squiggly</td>
+</tr>
+<tr>
+<td>Strikeout</td>
+<td>Strikeout</td>
+</tr>
+<tr>
+<td>Underline</td>
+<td>Underline</td>
+</tr>
+<tr>
+<td>StickyNoteEditorPlaceholder</td>
+<td>Write Your Note...</td>
+</tr>
+<tr>
+<td>FreeTextEditorPlaceHolder</td>
+<td>Text...</td>
+</tr>
+<tr>
+<td>AddFreeTextToastMessage</td>
+<td>Tap on the page to add the free text annotation</td>
+</tr>
+<tr>
+<td>Draw your signature</td>
+<td>Draw your signature</td>
+</tr>
+<tr>
+<td>Color</td>
+<td>Color</td>
+</tr>
+<tr>
+<td>Clear</td>
+<td>Clear</td>
+</tr>
+<tr>
+<td>Add Signature</td>
+<td>Add Signature</td>
+</tr>
+<tr>
+<td>Draw</td>
+<td>Draw</td>
+</tr>
+<tr>
+<td>Type</td>
+<td>Type</td>
+</tr>
+<tr>
+<td>Upload</td>
+<td>Upload</td>
+</tr>
+<tr>
+<td>Type your signature</td>
+<td>Type your signature</td>
+</tr>
+<tr>
+<td>Signature</td>
+<td>Signature</td>
+</tr>
+<tr>
+<td>Create</td>
+<td>Create</td>
+</tr>
+<tr>
+<td>Insert</td>
+<td>Insert</td>
+</tr>
+<tr>
+<td>Upload an image</td>
+<td>Upload an image</td>
+</tr>
+<tr>
+<td>Drag and drop an image here</td>
+<td>Drag and drop an image here</td>
+</tr>
+<tr>
+<td>AddHighlightToastMessage</td>
+<td>Drag over a text to highlight it</td>
+</tr>
+<tr>
+<td>AddSignature</td>
+<td>Add signature</td>
+</tr>
+<tr>
+<td>AddSignatureToastMessage</td>
+<td>Tap to add the signature</td>
+</tr>
+<tr>
+<td>AddSquigglyToastMessage</td>
+<td>Drag over a text to add a squiggly underline</td>
+</tr>
+<tr>
+<td>AddStampToastMessage</td>
+<td>Tap to add the stamp</td>
+</tr>
+<tr>
+<td>AddStickyNoteToastMessage</td>
+<td>Tap to add a sticky note</td>
+</tr>
+<tr>
+<td>AddStrikeoutToastMessage</td>
+<td>Drag over a text to strike it through</td>
+</tr>
+<tr>
+<td>AddUnderlineToastMessage</td>
+<td>Drag over a text to underline it</td>
+</tr>
+<tr>
+<td>Apply</td>
+<td>Apply</td>
+</tr>
+<tr>
+<td>Annotations</td>
+<td>Annotations</td>
+</tr>
+<tr>
+<td>Arrow</td>
+<td>Arrow</td>
+</tr>
+<tr>
+<td>Border</td>
+<td>Border</td>
+</tr>
+<tr>
+<td>Circle</td>
+<td>Circle</td>
+</tr>
+<tr>
+<td>Cloud</td>
+<td>Cloud</td>
+</tr>
+<tr>
+<td>ColorPicker</td>
+<td>Color picker</td>
+</tr>
+<tr>
+<td>Comment</td>
+<td>Comment</td>
+</tr>
+<tr>
+<td>ContinuousPage</td>
+<td>Continuous page</td>
+</tr>
+<tr>
+<td>CreateStamps</td>
+<td>Create Stamps</td>
+</tr>
+<tr>
+<td>Delete</td>
+<td>Delete</td>
+</tr>
+<tr>
+<td>DragAndDropImage</td>
+<td>Drag and drop an image here.</td>
+</tr>
+<tr>
+<td>DrawArrowToastMessage</td>
+<td>Drag to draw an arrow</td>
+</tr>
+<tr>
+<td>DrawCircleToastMessage</td>
+<td>Drag to draw a circle</td>
+</tr>
+<tr>
+<td>DrawCloudToastMessage</td>
+<td>Tap to begin drawing a cloud</td>
+</tr>
+<tr>
+<td>DrawInkToastMessage</td>
+<td>Drag to draw an ink</td>
+</tr>
+<tr>
+<td>DrawLineToastMessage</td>
+<td>Drag to draw a line</td>
+</tr>
+<tr>
+<td>DrawPolygonToastMessage</td>
+<td>Tap to begin drawing a polygon</td>
+</tr>
+<tr>
+<td>DrawPolylineToastMessage</td>
+<td>Tap to begin drawing a polyline</td>
+</tr>
+<tr>
+<td>DrawSquareToastMessage</td>
+<td>Drag to draw a square</td>
+</tr>
+<tr>
+<td>EraseInkToastMessage</td>
+<td>Drag over an ink to erase it</td>
+</tr>
+<tr>
+<td>Fill</td>
+<td>Fill</td>
+</tr>
+<tr>
+<td>FitToPage</td>
+<td>Fit to Page</td>
+</tr>
+<tr>
+<td>FitToWidth</td>
+<td>Fit to Width</td>
+</tr>
+<tr>
+<td>FontSize</td>
+<td>Font size</td>
+</tr>
+<tr>
+<td>FreeText</td>
+<td>Free text</td>
+</tr>
+<tr>
+<td>FreeTextEditorPlaceHolder</td>
+<td>Text…</td>
+</tr>
+<tr>
+<td>Help</td>
+<td>Help</td>
+</tr>
+<tr>
+<td>Ink</td>
+<td>Ink</td>
+</tr>
+<tr>
+<td>InkEraser</td>
+<td>Ink eraser</td>
+</tr>
+<tr>
+<td>InvalidPageNumber</td>
+<td>Invalid page number</td>
+</tr>
+<tr>
+<td>Key</td>
+<td>Key</td>
+</tr>
+<tr>
+<td>Line</td>
+<td>Line</td>
+</tr>
+<tr>
+<td>MatchCase</td>
+<td>Match Case</td>
+</tr>
+<tr>
+<td>NewParagraph</td>
+<td>New Paragraph</td>
+</tr>
+<tr>
+<td>NextPage</td>
+<td>Next page</td>
+</tr>
+<tr>
+<td>NoBookmarks</td>
+<td>No Bookmarks</td>
+</tr>
+<tr>
+<td>NoColor</td>
+<td>No Color</td>
+</tr>
+<tr>
+<td>NoMatchesWereFoundToastMessage</td>
+<td>No matches were found.</td>
+</tr>
+<tr>
+<td>NoMoreMatchesWereFoundToastMessage</td>
+<td>No more matches were found</td>
+</tr>
+<tr>
+<td>Note</td>
+<td>Note</td>
+</tr>
+<tr>
+<td>Opacity</td>
+<td>Opacity</td>
+</tr>
+<tr>
+<td>PageByPage</td>
+<td>Page by page</td>
+</tr>
+<tr>
+<td>PageCount</td>
+<td>Page count</td>
+</tr>
+<tr>
+<td>PageLayoutMode</td>
+<td>Page layout mode</td>
+</tr>
+<tr>
+<td>PageNumberEntry</td>
+<td>Page number entry</td>
+</tr>
+<tr>
+<td>PageNumberHint</td>
+<td>Enter page number here</td>
+</tr>
+<tr>
+<td>Paragraph</td>
+<td>Paragraph</td>
+</tr>
+<tr>
+<td>Polygon</td>
+<td>Polygon</td>
+</tr>
+<tr>
+<td>Polyline</td>
+<td>Polyline</td>
+</tr>
+<tr>
+<td>PreviousPage</td>
+<td>Previous page</td>
+</tr>
+<tr>
+<td>Print</td>
+<td>Print</td>
+</tr>
+<tr>
+<td>Redo</td>
+<td>Redo</td>
+</tr>
+<tr>
+<td>Rename</td>
+<td>Rename</td>
+</tr>
+<tr>
+<td>Search</td>
+<td>Search</td>
+</tr>
+<tr>
+<td>Shapes</td>
+<td>Shapes</td>
+</tr>
+<tr>
+<td>Square</td>
+<td>Square</td>
+</tr>
+<tr>
+<td>Stamps</td>
+<td>Stamps</td>
+</tr>
+<tr>
+<td>StickyNote</td>
+<td>Sticky note</td>
+</tr>
+<tr>
+<td>StickyNoteIcons</td>
+<td>Sticky note icons</td>
+</tr>
+<tr>
+<td>Stroke</td>
+<td>Stroke</td>
+</tr>
+<tr>
+<td>SaveSignature</td>
+<td>Save Signature</td>
+</tr>
+<tr>
+<td>SearchPlaceholder</td>
+<td>Find in the document</td>
+</tr>
+<tr>
+<td>Text</td>
+<td>Text</td>
+</tr>
+<tr>
+<td>TextMarkups</td>
+<td>Text markups</td>
+</tr>
+<tr>
+<td>Thickness</td>
+<td>Thickness</td>
+</tr>
+<tr>
+<td>TypeSignaturePlaceHolder</td>
+<td>Type your signature</td>
+</tr>
+<tr>
+<td>Undo</td>
+<td>Undo</td>
+</tr>
+<tr>
+<td>UploadImage</td>
+<td>Upload an image</td>
+</tr>
+<tr>
+<td>ZoomMode</td>
+<td>Zoom mode</td>
+</tr>
+<tr>
+<td>CustomStamps</td>
+<td>Custom Stamps</td>
+</tr>
+<tr>
+<td>Enter</td>
+<td>Enter</td>
+</tr>
+<tr>
+<td>StandardStamps</td>
+<td>Standard Stamps</td>
+</tr>
+<tr>
+<td>AddBookmark</td>
+<td>Add bookmark</td>
+</tr>
+<tr>
+<td>Back</td>
+<td>Back</td>
+</tr>
+<tr>
+<td>MoreItems</td>
+<td>More items</td>
+</tr>
+<tr>
+<td>TextColor</td>
+<td>Text color</td>
+</tr>
+<tr>
+<td>TextFillColor</td>
+<td>Text fill color</td>
+</tr>
+<tr>
+<td>Bookmarks</td>
+<td>Bookmarks</td>
+</tr>
+<tr>
+<td>of</td>
+<td>of</td>
+</tr>
+<tr>
+<td>GoToPage</td>
+<td>Go to Page</td>
+</tr>
+<tr>
+<td>CreateSignature</td>
+<td>Create Signature</td>
+</tr>
+<tr>
+<td>XFAFormNotSupportedMessage</td>
+<td>This PDF cannot be loaded because it contains an XFA form.</td>
+</tr>
+<tr>
+<td>InvalidPasswordError</td>
+<td>Can't open an encrypted document. The password is invalid.</td>
+</tr>
+</table>
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Lock-Unlock.md b/Document-Processing/PDF/PDF-Viewer/maui/Lock-Unlock.md
new file mode 100644
index 000000000..2d3ecf5f9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Lock-Unlock.md
@@ -0,0 +1,93 @@
+---
+layout: post
+title: Locking and Unlocking annotations in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here all about locking and unlocking annotations using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Lock and Unlock Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+You can lock an annotation to prevent it from being edited. The annotation that has been locked cannot be removed or edited further until it is unlocked. This section will go through the process of locking and unlocking annotations in a PDF document.
+
+## Lock all annotations in a document
+
+To lock all annotations in a document, set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.BaseAnnotationSettings.html#Syncfusion_Maui_PdfViewer_BaseAnnotationSettings_IsLocked) property of the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html) to `true`. The following example explains how to lock all annotations in a document.
+
+{% tabs %}
+{% highlight C# %}
+void LockAllAnnotations()
+{
+    // Lock all the annotations in a PDF document using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationSettings.IsLocked = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock all the annotations, set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.BaseAnnotationSettings.html#Syncfusion_Maui_PdfViewer_BaseAnnotationSettings_IsLocked) property value to `false`.
+
+
+## Lock specific annotation
+
+To lock a specific annotation in a document, access the annotation instance and set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_IsLocked) property of the annotation to `true`. The following example explains how to lock the first annotation in a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+void LockFirstAnnotation()
+{
+    // Obtain the annotation collection using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+
+    // Obtain the first annotation in the annotation collection.
+    Annotation firstAnnotation = annotations[0];
+
+    // Lock the annotation.
+    firstAnnotation.IsLocked = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the annotation, set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_IsLocked) property value to `false`.
+
+
+## Lock specific annotation types
+
+You can also use the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) property to lock a specific annotation type in a document. The following example explains how to lock all the circle annotations in a document by accessing the circle annotation settings. Similarly, you can lock other types of annotations.
+
+{% tabs %}
+{% highlight C# %}
+void LockCircleAnnotations()
+{
+    // Obtain the default circle annotation settings using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ShapeAnnotationSettings circleAnnotationSettings = PdfViewer.AnnotationSettings.Circle;
+    
+    // Lock all the circle annotations.
+    circleAnnotationSettings.IsLocked = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the specific annotation types, set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_IsLocked) property value to `false`.
+
+
+## Lock the selected annotation
+
+To lock the selected annotation, access the selected annotation instance and set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_IsLocked) property of the annotation to `true`. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example explains how to lock the selected annotation in a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Locks the selected annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event<</param>
+void LockSelectedAnnotation(Annotation selectedAnnotation)
+{
+    // Lock the annotation.
+    selectedAnnotation.IsLocked = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to unlock the selected annotation, set the [IsLocked](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_IsLocked) property value to `false`.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Magnification.md b/Document-Processing/PDF/PDF-Viewer/maui/Magnification.md
new file mode 100644
index 000000000..4a25d764d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Magnification.md
@@ -0,0 +1,113 @@
+---
+layout: post
+title: Magnification in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn to use magnification in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer including zoom factor control and zoom mode options.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Magnification .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control supports intuitive magnification features, allowing users to zoom in and out of PDF content using gestures or programmatic controls.
+
+## Adjusting the Zoom Factor
+
+You can control the zoom level using the [ZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ZoomFactor) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight xaml %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer" DocumentSource="{Binding PdfDocumentStream}" ZoomFactor ="3" />
+{% endhighlight %}
+
+{% highlight c# %}
+PdfViewer.ZoomFactor = 3;
+{% endhighlight %}
+{% endtabs %}
+
+You can also retrieve the current zoom level using the same property.
+
+### Setting Minimum and Maximum Zoom Limits
+
+By default, the zoom range varies by platform:
+* **Mobile (Android/iOS):** 1.0 to 4.0
+* **Desktop (Windows/macOS):** 0.25 to 4.0
+
+To restrict zoom levels, use the [MinZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MinZoomFactor) and [MaxZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MaxZoomFactor) properties.
+
+The following code example explains restricting the zoom factor between 0.5 and 2.
+
+{% tabs %}
+{% highlight xaml %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer" DocumentSource="{Binding PdfDocumentStream}"  MinZoomFactor = “0.5” MaxZoomFactor ="2" />
+{% endhighlight %}
+
+{% highlight c# %}
+PdfViewer.MinZoomFactor = 0.5;
+PdfViewer.MaxZoomFactor = 2;
+{% endhighlight %}
+{% endtabs %}
+
+N> If the [ZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ZoomFactor)  is set outside the defined [MinZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MinZoomFactor) and [MaxZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MaxZoomFactor) range, it will be ignored.
+
+You can download a sample project demonstrating magnification features [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples).
+
+## Zoom Modes 
+
+The PDF Viewer supports the following zoom modes via the [ZoomMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#fields) property:
+
+1. **Fit to Page** – Displays the entire page within the viewport.
+2. **Fit to Width** – Expands the page to fill the width of the viewer.
+
+The default value is [ZoomMode.Default](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#Syncfusion_Maui_PdfViewer_ZoomMode_Default)
+
+### Zoom Mode via Built-In Toolbar
+
+#### Desktop Toolbar
+
+The built-in toolbar includes a magnification dropdown showing the current zoom percentage. Users can select predefined zoom levels or choose **Fit to Page** / **Fit to Width**.
+
+![Desktop Zoom Mode Combo Box](Images/windowszoom.gif)
+
+#### Mobile Toolbar
+
+On mobile, the magnification tool appears only after the zoom factor changes. Users can then select **Fit to Page** or **Fit to Width**. Once selected, the icon disappears until the zoom factor changes again.
+
+![Mobile Zoom Mode Combo box](Images/ZoomModeforMobile.gif)
+
+### Programmatically Setting Zoom Mode 
+
+#### Fit to Page
+
+You can change the [SfPdfViewer.ZoomMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#fields) using the [ZoomMode.FitToPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#Syncfusion_Maui_PdfViewer_ZoomMode_FitToPage) enumeration. It will magnify the PDF document so that the entire PDF page is visible in the view port. 
+Refer to the following code example: 
+
+{% tabs %}
+{% highlight xaml %}
+<Syncfusion:PdfViewer x:Name="pdfViewer" ZoomMode="FitToPage"/> 
+{% endhighlight %}
+
+{% highlight c# %}
+// To apply fit-to-page zoom mode. 
+pdfViewer.ZoomMode = ZoomMode.FitToPage; 
+{% endhighlight %}
+{% endtabs %}
+
+#### Fit to Width
+
+You can change the [SfPdfViewer.ZoomMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#fields) using the [ZoomMode.FitToWidth](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ZoomMode.html#Syncfusion_Maui_PdfViewer_ZoomMode_FitToWidth) enumeration. It will magnify the PDF document so that the widest page of the PDF document fits the width of the view port. 
+Refer to the following code example:
+
+{% tabs %}
+{% highlight xaml %}
+<Syncfusion:PdfViewer x:Name="pdfViewer" ZoomMode="FitToWidth"/> 
+{% endhighlight %}
+
+{% highlight c# %}
+// To apply fit-to-page zoom mode. 
+pdfViewer.ZoomMode = ZoomMode.FitToWidth; 
+{% endhighlight %}
+{% endtabs %}
+
+N> When the `ZoomFactor` is manually changed, the `ZoomMode` resets to `Default`. You can reapply the desired zoom mode afterward. 
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Migration.md b/Document-Processing/PDF/PDF-Viewer/maui/Migration.md
new file mode 100644
index 000000000..437d82c84
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Migration.md
@@ -0,0 +1,589 @@
+---
+layout: post
+title: Migrate from Xamarin SfPdfViewer to .NET MAUI SfPdfViewer | Syncfusion
+description: Learn here all about migrating from Syncfusion<sup>®</sup> Xamarin SfPdfViewer to Syncfusion<sup>®</sup> .NET MAUI SfPdfViewer control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Migrate from Xamarin.Forms SfPdfViewer to .NET MAUI SfPdfViewer
+
+To make migration from [Xamarin SfPdfViewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) to [.NET MAUI SfPdfViewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) easier, we kept most of the APIs from Xamarin SfPdfViewer in MAUI SfPdfViewer. However, to maintain the consistency of API naming in MAUI SfPdfViewer, we renamed some of the APIs. The APIs that have been changed in MAUI SfPdfViewer from Xamarin SfPdfViewer are detailed as follows.
+
+## Namespaces 
+
+<table>
+<tr>
+<th>Xamarin SfPdfViewer</th>
+<th>.NET MAUI SfPdfViewer</th></tr>
+<tr>
+<td>Syncfusion.SfPdfViewer.XForms</td>
+<td>Syncfusion.Maui.PdfViewer</td></tr>
+</table>
+
+## Properties
+
+<table>
+<tr>
+<th>Xamarin SfPdfViewer</th>
+<th>.NET MAUI SfPdfViewer</th>
+<th>Description</th></tr>
+<tr>
+<td>{{'[InputFileStream](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InputFileStream)'| markdownify }}</td>
+<td>{{'[DocumentSource  ](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource)'| markdownify }}</td>
+<td>Represents the source object to load PDF files from the stream or byte array. This property helps to load a PDF document during control initialization and switch the documents dynamically.</td>
+</tr>
+<tr>
+<td>{{'[ZoomPercentage](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ZoomPercentage)'| markdownify }}</td>
+<td>{{'[ZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ZoomFactor)'| markdownify }}</td>
+<td>Returns and sets the zoom factor. The default value is 1, which represents 100% zoom. This value can be between 1 and 4.</td>
+</tr>
+<tr>
+<td>{{'[MinimumZoomPercentage](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_MinimumZoomPercentage)'| markdownify }}</td>
+<td>{{'[MinZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MinZoomFactor)'| markdownify }}</td>
+<td>Returns and sets the minimum zoom factor. The default value is 0.25. This value should not exceed `MaxZoomFactor`.</td>
+</tr>
+<tr>
+<td>{{'[MaximumZoomPercentage](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_MaximumZoomPercentage)'| markdownify }}</td>
+<td>{{'[MaxZoomFactor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_MaxZoomFactor)'| markdownify }}</td>
+<td>Returns and sets the maximum zoom factor. The default value is 4. This value should not be lower than `MinZoomFactor`.</td>
+</tr>
+<tr>
+<td>{{'[EnableScrollHead](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_EnableScrollHead)'| markdownify }}</td>
+<td>{{'[ShowScrollHead](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ShowScrollHead)'| markdownify }}</td>
+<td>Returns and sets the value indicating whether the scroll head can be shown or not.</td>
+</tr>
+<tr>
+<td>{{'[BookmarkPaneVisible](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_BookmarkPaneVisible)'| markdownify}}</td>
+<td>{{'[IsOutlineViewVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_IsOutlineViewVisible)'| markdownify}}</td>
+<td>Gets or sets a value indicating whether the outline view is visible.</td>
+</tr>
+<tr>
+<td>{{'[EnableDocumentLinkAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_EnableDocumentLinkAnnotation)'| markdownify}}</td>
+<td>{{'[EnableDocumentLinkNavigation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableDocumentLinkNavigation)'| markdownify}}</td>
+<td>Gets or sets a value that indicates whether document link annotations (TOC) in the PDF can be interacted with.</td>
+</tr>
+<tr>
+<td>{{'[AllowHyperlinkNavigation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AllowHyperlinkNavigation)'| markdownify}}</td>
+<td>{{'[EnableHyperlinkNavigation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableHyperlinkNavigation)'| markdownify}}</td>
+<td>Gets or sets a value that indicates whether document link annotations (TOC) in the PDF can be interacted with.</td>
+</tr>
+<tr>
+<td>{{'[Bookmarks](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Bookmarks)'| markdownify}}</td>
+<td>{{'[DocumentOutline](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentOutline)'| markdownify}}</td>
+<td>Gets the outline for the document.</td>
+</tr>
+<tr>
+<td>{{'[IsTextSelectionEnabled](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_IsTextSelectionEnabled)'| markdownify}}</td>
+<td>{{'[EnableTextSelection](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableTextSelection)'| markdownify}}</td>
+<td>Gets or sets a value that indicates whether the text selection is enabled or not. The default value is true.</td>
+</tr>
+<tr>
+<td>{{'[TextSelectionColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionSettings.html#Syncfusion_SfPdfViewer_XForms_TextSelectionSettings_TextSelectionColor)'| markdownify}}</td>
+<td>{{'[HighlightColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionSettings.html#Syncfusion_Maui_PdfViewer_TextSelectionSettings_HighlightColor)'| markdownify}}</td>
+<td>Gets or sets the color to highlight the selected text. The default value is <code>Color.FromRgba(0, 0, 205, 80)</code>.</td>
+</tr>
+<tr>
+<td>{{'[CurrentInstanceColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSearchSettings.html#Syncfusion_SfPdfViewer_XForms_TextSearchSettings_CurrentInstanceColor)'| markdownify}}</td>
+<td>{{'[CurrentMatchHighlightColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchSettings.html#Syncfusion_Maui_PdfViewer_TextSearchSettings_CurrentMatchHighlightColor)'| markdownify}}</td>
+<td>Gets or sets the color for highlighting the current match of the searched text. The default value is <code>Color.FromRgba(249, 125, 0, 80)</code>.
+</td>
+</tr>
+<tr>
+<td>{{'[OtherInstanceColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSearchSettings.html#Syncfusion_SfPdfViewer_XForms_TextSearchSettings_OtherInstanceColor)'| markdownify}}</td>
+<td>{{'[OtherMatchesHighlightColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchSettings.html#Syncfusion_Maui_PdfViewer_TextSearchSettings_OtherMatchesHighlightColor)'| markdownify}}</td>
+<td>Gets or sets the color for highlighting the other matches of the searched text. The default value is <code>Color.FromRgba(255, 255, 0, 50)</code>.
+</td>
+</tr>
+<tr>
+<td>{{'[AnnotationMode](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AnnotationMode)'| markdownify}}</td>
+<td>{{'[AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode)'| markdownify}}</td>
+<td>Gets or sets a value indicating the type of annotation that should be drawn using UI interaction on the PDF pages.</td>
+</tr>
+<tr>
+<td>{{'[Annotations](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AnnotationSettings)'| markdownify}}</td>
+<td>{{'[Annotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Annotations)'| markdownify}}</td>
+<td>Gets the list of annotations in the PDF.</td>
+</tr>
+<tr>
+<td>{{'[AnnotationSettings](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AnnotationSettings)'| markdownify}}</td>
+<td>{{'[AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings)'| markdownify}}</td>
+<td>Gets or sets the default annotation settings.</td>
+</tr>
+<tr>
+<td>{{'[ClearAllAnnotationsCommand](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ClearAllAnnotationsCommand)'| markdownify}}</td>
+<td>{{'[RemoveAllAnnotationsCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAllAnnotationsCommand)'| markdownify}}</td>
+<td>The command that removes all annotations from the PDF document.</td>
+</tr>
+<tr>
+<td>{{'[PerformUndoCommand](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PerformUndoCommand)'| markdownify}}</td>
+<td>{{'[UndoCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UndoCommand)'| markdownify}}</td>
+<td>The command that performs the undo operation.</td>
+</tr>
+<tr>
+<td>{{'[PerformRedoCommand](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PerformRedoCommand)'| markdownify}}</td>
+<td>{{'[RedoCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RedoCommand)'| markdownify}}</td>
+<td>The command that performs the redo operation.</td>
+</tr>
+<tr>
+<td>{{'[InkPointsCollection](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html#Syncfusion_SfPdfViewer_XForms_InkAnnotation_InkPointsCollection)'| markdownify}}</td>
+<td>{{'[PointsCollection](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html#Syncfusion_Maui_PdfViewer_InkAnnotation_PointsCollection)'| markdownify}}</td>
+<td>Gets or sets the series of coordinates that represent the ink points of an ink annotation.</td>
+</tr>
+<tr>
+<td>{{'[InkAnnotationSettings.Thickness](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_InkAnnotationSettings_Thickness)'| markdownify}}</td>
+<td>{{'[InkAnnotationSettings.BorderWidth](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html#Syncfusion_Maui_PdfViewer_InkAnnotationSettings_BorderWidth)'| markdownify}}</td>
+<td>Gets or sets the border thickness of an ink annotation.</td>
+</tr>
+<tr>
+<td>{{'[ShapeAnnotationSettings.Thickness](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_ShapeAnnotationSettings_Thickness)'| markdownify }}</td>
+<td>{{'[ShapeAnnotationSettings.BorderWidth](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ShapeAnnotationSettings.html#Syncfusion_Maui_PdfViewer_ShapeAnnotationSettings_BorderWidth)'| markdownify}}</td>
+<td>Gets or sets the border thickness of the shape annotation.</td>
+</tr>
+<tr>
+<td>{{'[InkAnnotationSettings.EnableSeparateAttributesForEachStroke](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_InkAnnotationSettings_EnableSeparateAttributesForEachStroke)'| markdownify}}</td>
+<td>{{'[InkAnnotationSettings.AggregateInkStrokes](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html#Syncfusion_Maui_PdfViewer_InkAnnotationSettings_AggregateInkStrokes)'| markdownify}}</td>
+<td>Gets or sets a value indicating whether each ink stroke should be treated as a separate ink annotation.</td>
+</tr>
+<tr>
+<td>{{'[ShapeAnnotationSettings.StrokeColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_ShapeAnnotationSettings_StrokeColor)'| markdownify}}</td>
+<td>{{'[ShapeAnnotationSettings.Color](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationAppearanceSettings.html#Syncfusion_Maui_PdfViewer_AnnotationAppearanceSettings_Color)'| markdownify}}</td>
+<td>Gets or sets the default stroke color of shape annotation.</td>
+</tr>
+<tr>
+<td>{{'[SelectorSettings.StrokeColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SelectorSettings.html#Syncfusion_SfPdfViewer_XForms_SelectorSettings_StrokeColor)'| markdownify }}</td>
+<td>{{'[AnnotationSelectorSettings.Color](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSelectorSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSelectorSettings_Color)'| markdownify}}</td>
+<td>Gets or sets the default color of the annotation selector.</td>
+</tr>
+<tr>
+<td>{{'[LockedStrokeColor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SelectorSettings.html#Syncfusion_SfPdfViewer_XForms_SelectorSettings_LockedStrokeColor)'| markdownify}}</td>
+<td>{{'[LockedColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSelectorSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSelectorSettings_LockedColor)'| markdownify}}</td>
+<td>Gets or sets the default color of the annotation selector when the selected annotation is locked.</td>
+</tr>
+<tr>
+<td>{{'[LinePoints](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotation.html#Syncfusion_SfPdfViewer_XForms_ShapeAnnotation_LinePoints)'| markdownify}}</td>
+<td>{{'[LineAnnotation.Points](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.LineAnnotation.html#Syncfusion_Maui_PdfViewer_LineAnnotation_Points)'| markdownify}}</td>
+<td>Gets or sets the series of coordinates that represent the starting point and ending point of a line annotation.</td>
+</tr>
+<tr>
+<td>{{'[Rectangle](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Rectangle)'| markdownify}}</td>
+<td>{{'[ShapeAnnotationSettings.Square](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Square)'| markdownify}}</td>
+<td>Gets or sets the default settings for square annotations.</td>
+</tr>
+<tr>
+<td>{{'[Circle](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Circle)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Circle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Circle)'| markdownify}}</td>
+<td>Gets or sets the default settings for circle annotations.</td>
+</tr>
+<tr>
+<td>{{'[Line](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Line)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Line](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Line)'| markdownify}}</td>
+<td>Gets or sets the default settings for line annotations.</td>
+</tr>
+<tr>
+<td>{{'[Arrow](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Arrow)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Arrow](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Arrow)'| markdownify}}</td>
+<td>Gets or sets the default settings for arrow annotations.</td>
+</tr>
+<tr>
+<td>{{'[Ink](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Ink)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Ink](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Ink)'| markdownify}}</td>
+<td>Gets or sets the default settings for ink annotations.</td>
+</tr>
+<tr>
+<td>{{'[Stamp](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Stamp)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Stamp](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Stamp)'| markdownify}}</td>
+<td>Gets or sets the default settings for stamp annotations.</td>
+</tr>
+<tr>
+  <td>{{'[AnnotationMode.HandwrittenSignature](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationMode.html#Syncfusion_SfPdfViewer_XForms_AnnotationMode_HandwrittenSignature)'| markdownify}}</td> 
+  <td>{{'[AnnotationMode.Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Signature)'| markdownify}}</td> 
+  <td>This will display the signature dialog, allowing the user to create a signature. The created signature can then be added at the tapped location in the PDF Viewer.</td>
+</tr>
+<tr>
+<td>{{'[Selector](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_Selector)'| markdownify}}</td>
+<td>{{'[AnnotationSettings.Selector](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html#Syncfusion_Maui_PdfViewer_AnnotationSettings_Selector)'| markdownify}}</td>
+<td>Gets or sets the default settings for the annotation selector.</td>
+</tr>
+<tr>
+<td>{{'[FormField.CanEdit](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.FormField.html#Syncfusion_SfPdfViewer_XForms_FormField_CanEdit)'| markdownify}}</td>
+<td>{{'[FormField.ReadOnly](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormField.html#Syncfusion_Maui_PdfViewer_FormField_ReadOnly)'| markdownify}}</td>
+<td>Gets or sets a value that indicates whether the form field can be edited or not.</td>
+</tr>
+<tr>
+<td>{{'[SignatureFormField.HandwrittenSignature](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SignatureFormField.html#Syncfusion_SfPdfViewer_XForms_SignatureFormField_HandwrittenSignature)'| markdownify}}</td>
+<td>{{'[SignatureFormField.Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SignatureFormField.html#Syncfusion_Maui_PdfViewer_SignatureFormField_Signature)'| markdownify}}</td>
+<td>Gets or sets the ink annotation signature in the signature field.</td>
+</tr>
+<tr>
+<td>{{'[PageViewMode](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PageViewMode)'| markdownify}}</td>
+<td>{{'[PageLayoutMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PageLayoutMode)'| markdownify}}</td>
+<td>Gets or sets the layout mode in which the pages will be displayed.</td>
+</tr>
+<tr>
+<td>{{'[InkAnnotationSettings.TouchMode](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_InkAnnotationSettings_TouchMode)'| markdownify}}</td>
+<td>{{'[InkAnnotationSettings.TouchScreenInputMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotationSettings.html#Syncfusion_Maui_PdfViewer_InkAnnotationSettings_TouchScreenInputMode)'| markdownify}}</td>
+<td>Gets or sets a value that indicates the input mode in which the ink strokes should be allowed to be drawn.</td>
+</tr>
+<tr>
+<td>{{'[TouchMode.Direct](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchMode.html#Syncfusion_SfPdfViewer_XForms_TouchMode_Direct)'| markdownify}}</td>
+<td>{{'[TouchScreenInputMode.FingerAndStylus](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TouchScreenInputMode.html#Syncfusion_Maui_PdfViewer_TouchScreenInputMode_FingerAndStylus)'| markdownify}}</td>
+<td>Allows drawing ink using both finger and stylus.</td>
+</tr>
+<tr>
+  <td>{{'[IsToolbarVisible](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_IsToolbarVisible)'| markdownify}}</td> 
+  <td>{{'[ShowToolbars](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ShowToolbars)'| markdownify}}</td> 
+  <td>Backing store for the ShowToolbars property.</td>
+</tr>
+<tr>
+  <td>{{'[AnnotationSettings.HandwrittenSignature](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationSettings.html#Syncfusion_SfPdfViewer_XForms_AnnotationSettings_HandwrittenSignature)'| markdownify}}</td> 
+  <td>API Unavailable</td> 
+  <td>In .NET MAUI PDF Viewer, there is no API to configure common settings for handwritten signatures. However, you can achieve this by handling the {{'[SignatureCreated](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SignatureCreated)'| markdownify }} event, which allows you to access and customize each handwritten signature when it is created using the built-in signature dialog.
+  <br>
+  Refer to the {{'[Signature Created Event user guide](https://help.syncfusion.com/maui/pdf-viewer/signature#signature-created-event)'| markdownify }} for instructions on accessing the handwritten signature and setting values like color and border width.
+  </td>
+</tr>
+</table>
+
+## Events
+
+<table>
+<tr>
+<th>Xamarin SfPdfViewer</th>
+<th>.NET MAUI SfPdfViewer</th>
+<th>Description</th></tr>
+<tr>
+<td>{{'[UnhandledConditionOccurred](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_UnhandledConditionOccurred)'| markdownify }}</td>
+<td>{{'[DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed)'| markdownify }}</td>
+<td>Occurs when the PDF Viewer fails to load a PDF document. That is, when any corrupted document is loaded, when any password-protected document is loaded with an invalid or empty password, or when any non-PDF document is loaded.</td>
+</tr>
+<tr>
+<td>{{'[SearchInitiated](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SearchInitiated)'| markdownify}}, {{'[SearchCompleted](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SearchCompleted)'| markdownify}}</td>
+<td>{{'[TextSearchProgress](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_TextSearchProgress)'| markdownify }}</td>
+<td>Occurs when the text search is in progress.</td>
+</tr>
+<tr>
+<td>{{'[TextSelectionCompleted](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextSelectionCompleted)'| markdownify}}</td>
+<td>{{'[TextSelectionChanged](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_TextSelectionChanged)'| markdownify}}</td>
+<td>Occurs when the text is selected or when the selected text is changed.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationAdded)'| markdownify }},</div>
+<div>{{'[StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationAdded)'| markdownify }},</div>
+<div>{{'[PopupAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PopupAnnotationAdded)'| markdownify }} </div>
+<div>{{'[FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationAdded)'| markdownify }} </div>
+<div>{{'[TextMarkupAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupAdded)'| markdownify }} </div>
+</td>
+<td>{{'[AnnotationAdded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationAdded)'| markdownify }}</td>
+<td>Occurs when an annotation is added to a page.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[InkDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkDeselected)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationDeselected)'| markdownify }},</div>
+<div>{{'[StampAnnotationDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationDeselected)'| markdownify }},</div>
+<div>{{'[PopupAnnotationDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PopupAnnotationDeselected)'| markdownify }},</div>
+<div>{{'[FreeTextAnnotationDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationDeselected)'| markdownify }},</div>
+<div>{{'[TextMarkupDeselected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupDeselected)'| markdownify }} </div>
+</td>
+<td>{{'[AnnotationDeselected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationDeselected)'| markdownify }}</td>
+<td>Occurs when a selected annotation gets deselected.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[InkEdited](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkEdited)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationEdited](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationEdited)'| markdownify }},</div>
+<div>{{'[StampAnnotationMovedOrResized](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationMovedOrResized)'| markdownify }},</div>
+<div>{{'[PopupAnnotationEdited](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PopupAnnotationEdited)'| markdownify }},</div>
+<div>{{'[FreeTextAnnotationEdited](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationEdited)'| markdownify }},</div>
+<div>{{'[TextMarkupEdited](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupEdited)'| markdownify }} </div>
+</td>
+<td>{{'[AnnotationEdited](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationEdited)'| markdownify }}</td>
+<td>Occurs when an annotation is modified.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[InkRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkRemoved)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationRemoved)'| markdownify }},</div>
+<div>{{'[StampAnnotationRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationRemoved)'| markdownify }},</div>
+<div>{{'[PopupAnnotationRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PopupAnnotationRemoved)'| markdownify }},</div>
+<div>{{'[FreeTextAnnotationRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationRemoved)'| markdownify }},</div>
+<div>{{'[TextMarkupRemoved](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupRemoved)'| markdownify }} </div>
+</td>
+<td>{{'[AnnotationRemoved](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationRemoved)'| markdownify }}</td>
+<td>Occurs when an annotation is removed from the page.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[InkSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkSelected)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationSelected)'| markdownify }},</div>
+<div>{{'[StampAnnotationSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationSelected)'| markdownify }},</div>
+<div>{{'[PopupAnnotationSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PopupAnnotationSelected)'| markdownify }},</div>
+<div>{{'[FreeTextAnnotationSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationSelected)'| markdownify }},</div>
+<div>{{'[TextMarkupSelected](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupSelected)'| markdownify }} </div>
+</td>
+<td>{{'[AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected)'| markdownify }}</td>
+<td>Occurs when an annotation is selected.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[PageChanged](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PageChanged)'| markdownify }}</div>
+
+</td>
+<td>{{'[PropertyChanged](https://learn.microsoft.com/en-us/dotnet/api/microsoft.maui.controls.bindableobject.propertychanged)'| markdownify }}</td>
+<td> Occurs when a property in the PDF Viewer is modified. It allows you to detect page changes that occurred in the PDF Viewer. The example below demonstrates how to implement this:
+
+{% highlight c# %}
+
+// Create an instance of the SfPdfViewer control
+SfPdfViewer pdfViewer = new SfPdfViewer();
+// Subscribe to the PropertyChanged event
+pdfViewer.PropertyChanged += PdfViewer_PropertyChanged;
+
+// Event handler for the PropertyChanged event
+private void PdfViewer_PropertyChanged(object? sender, PropertyChangedEventArgs e)
+{
+   // Typecast the sender to SfPdfViewer
+   if (sender is SfPdfViewer pdfViewer)
+   {
+      // Check if the changed property is PageNumber
+      if (e.PropertyName == nameof(SfPdfViewer.PageNumber))
+      {
+         // Get the current page number
+         int currentPageNumber = pdfViewer.PageNumber;
+      }
+   }
+}
+{% endhighlight %}
+
+</td>
+</tr>
+<tr>
+<td>
+{{'[DocumentSaveInitiated](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DocumentSaveInitiated)'| markdownify }}
+</td>
+<td>API Unavailable</td>
+<td> In Xamarin, clicking the Save button in the built-in toolbar raises the {{'[DocumentSaveInitiated](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DocumentSaveInitiated)'| markdownify }} event. However, in .NET MAUI, a Save button is not provided in the built-in toolbar, so the {{'[DocumentSaveInitiated](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DocumentSaveInitiated)'| markdownify }} event is not available. To save documents from the PDF viewer in .NET MAUI, you can use the {{'[SaveDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SaveDocument_System_IO_Stream_)'| markdownify }} method. The PdfViewer control exposes this method as an API, which can be easily integrated into your application. For more details on using the SaveDocument method, refer to the relevant UG Documentation {{'[Save a Document](https://help.syncfusion.com/maui/pdf-viewer/save-a-document)'| markdownify }}.
+<br>
+In .NET MAUI PDF Viewer, you can implement custom save logic at the application level. If you would like to include a Save button in the built-in toolbar, this can be achieved by customizing the toolbar items. Refer to the {{'[Customize toolbar items user guide](https://help.syncfusion.com/maui/pdf-viewer/toolbar#customize-toolbar-items)'| markdownify }} for instructions on adding a custom Save button.
+</td>
+</tr>
+<tr>
+<td>
+<div>{{'[CanUndoModified](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CanUndoModified)'| markdownify }},</div>
+<div>{{'[CanRedoModified](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CanRedoModified)'| markdownify }},</div>
+<div>{{'[CanRedoInkModified](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CanRedoInkModified)'| markdownify }},</div>
+<div>{{'[CanUndoInkModified](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CanUndoInkModified)'| markdownify }},</div>
+</td>
+<td>API Unavailable</td>
+<td>In the .NET MAUI PDF Viewer, there are no public APIs available to determine whether undo or redo actions are available, unlike in Xamarin.
+However, undo and redo actions are typically triggered when changes are made to the PDF document such as adding, editing, or removing annotations, or modifying form field values. These types of modifications can be detected using the annotation and form field events provided by the PDF Viewer. These events include:
+<br><br>
+{{'[AnnotationAdded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationAdded)'| markdownify }}- Occurs when an annotation is added to a page.
+{{'[AnnotationEdited](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationEdited)'| markdownify }} - Occurs when annotation is modified.
+{{'[AnnotationRemoved](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationRemoved)'| markdownify }} - Occurs when an annotation is removed from the page.
+{{'[FormFieldValueChanged](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_FormFieldValueChanged)'| markdownify }} - Occurs when when the values of the form fields are changed in the PDF.
+<br><br>
+By handling these events, you can determine whether any modifications have been made to the PDF document.
+</td>
+</tr>
+</table>
+
+## Methods
+
+<table>
+<tr>
+<th>Xamarin SfPdfViewer</th>
+<th>.NET MAUI SfPdfViewer</th>
+<th>Description</th></tr>
+<tr>
+<td>{{'[Unload](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Unload)'| markdownify }}</td>
+<td>{{'[UnloadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UnloadDocument)'| markdownify }}</td>
+<td>Unload the current PDF document.</td>
+</tr>
+<tr>
+<td>{{'[GoToBookmark](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_GoToBookmark_Syncfusion_Pdf_Interactive_PdfBookmark_)'| markdownify}}</td>
+<td>{{'[GoToOutlineElement](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToOutlineElement_Syncfusion_Maui_PdfViewer_OutlineElement_)'| markdownify}}</td>
+<td>Navigates to the location of the given outline element.</td>
+</tr>
+<tr>
+<td>{{'[SearchText](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SearchText_System_String_)'| markdownify}}</td>
+<td>{{'[SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_)'| markdownify}}</td>
+<td>Finds and highlights all occurrences of the given text in the PDF document asynchronously.</td>
+</tr>
+<tr>
+<td>{{'[CancelSearch](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CancelSearch)'| markdownify}}</td>
+<td>{{'[Clear](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_Clear)'| markdownify}}</td>
+<td>Clears the highlighted searched text in the PDF document and the search information from the results. Also, it cancels the progress while the text search is running.
+</td>
+</tr>
+<tr>
+<td>{{'[SearchNext](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SearchNext)'| markdownify}}</td>
+<td>{{'[GoToNextMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToNextMatch)'| markdownify}}</td>
+<td>Navigates to the next match of the searched text.</td>
+</tr>
+<tr>
+<td>{{'[SearchPrevious](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SearchPrevious)'| markdownify}}</td>
+<td>{{'[GoToPreviousMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToPreviousMatch)'| markdownify}}</td>
+<td>Navigates to the previous match of the searched text.</td>
+</tr>
+<tr>
+<td>{{'[ClearAllAnnotations](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ClearAllAnnotations)'| markdownify}}</td>
+<td>{{'[RemoveAllAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAllAnnotations)'| markdownify}}</td>
+<td>Removes all annotations from the PDF document.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[AddAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AddAnnotation_Syncfusion_SfPdfViewer_XForms_IAnnotation_)'| markdownify}}</div>
+<div>{{'[AddStamp](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AddStamp_Xamarin_Forms_View_System_Int32_)'| markdownify}}</div>
+</td>
+<td>{{'[AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_)'| markdownify}}</td>
+<td>Adds the given annotation to the page represented by the annotation’s PageNumber property.</td>
+</tr>
+<tr>
+<td>{{'[DeselectAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DeselectAnnotation_Syncfusion_SfPdfViewer_XForms_IAnnotation_)'| markdownify}}</td>
+<td>{{'[DeselectAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DeselectAnnotation_Syncfusion_Maui_PdfViewer_Annotation_)'| markdownify}}</td>
+<td>Deselects the given annotation.</td>
+</tr>
+<tr>
+<td>{{'[ExportAnnotations](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ExportAnnotations_Syncfusion_Pdf_Parsing_AnnotationDataFormat_)'| markdownify}}</td>
+<td>{{'[ExportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__)'| markdownify}}</td>
+<td>Exports the annotations in the PDF document to the specified format and writes the exported data to the given output stream.</td>
+</tr>
+<tr>
+<td>{{'[ExportAnnotationsAsync](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ExportAnnotationsAsync_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Threading_CancellationToken_)'| markdownify}}</td>
+<td>{{'[ExportAnnotationsAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ExportAnnotationsAsync_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Collections_Generic_List_Syncfusion_Maui_PdfViewer_Annotation__System_Threading_CancellationToken_)'| markdownify}}</td>
+<td>Exports the annotations in the PDF document to the specified format and writes the exported data to the given output stream.</td>
+</tr>
+<tr>
+<td>{{'[ImportAnnotations](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ImportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_)'| markdownify}}</td>
+<td>{{'[ImportAnnotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ImportAnnotations_System_IO_Stream_Syncfusion_Pdf_Parsing_AnnotationDataFormat_)'| markdownify}}</td>
+<td>Imports annotation data into the PDF document. </td>
+</tr>
+<tr>
+<td>{{'[RemoveAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_RemoveAnnotation_Syncfusion_SfPdfViewer_XForms_IAnnotation_)'| markdownify}}</td>
+<td>{{'[RemoveAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAnnotation_Syncfusion_Maui_PdfViewer_Annotation_)'| markdownify}}</td>
+<td>Removes the given annotation from the page. </td>
+</tr>
+<tr>
+<td>{{'[SaveDocument](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SaveDocument)'| markdownify}}</td>
+<td>{{'[SaveDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SaveDocument_System_IO_Stream_)'| markdownify}}</td>
+<td>Saves the PDF document and writes the final document into the given output stream.</td>
+</tr>
+<tr>
+<td>{{'[SaveDocumentAsync](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SaveDocumentAsync_System_Threading_CancellationToken_)'| markdownify}}</td>
+<td>{{'[SaveDocumentAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SaveDocumentAsync_System_IO_Stream_System_Threading_CancellationToken_)'| markdownify}}</td>
+<td>Saves the PDF document and writes the final document into the given output stream.</td>
+</tr>
+<tr>
+<td>{{'[SelectAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SelectAnnotation_Syncfusion_SfPdfViewer_XForms_IAnnotation_)'| markdownify}}</td>
+<td>{{'[SelectAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SelectAnnotation_Syncfusion_Maui_PdfViewer_Annotation_)'| markdownify}}</td>
+<td>Selects the given annotation.</td>
+</tr>
+<tr>
+<td>{{'[Print](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Print)'| markdownify }}</td>
+<td>{{'[PrintDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PrintDocument)'| markdownify }}</td>
+<td>Prints the PDF document.</td>
+</tr>
+<tr>
+<td>{{'[SaveDocument(bool flattenForm)](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_SaveDocument_System_Boolean_)'| markdownify }}</td>
+<td>{{'[FormField.FlattenOnSave](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FormField.html#Syncfusion_Maui_PdfViewer_FormField_FlattenOnSave)'| markdownify }}</td>
+<td>Specifies whether the form fields should be flattened or not on saving.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[ExportAsImageAsync](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ExportAsImageAsync_System_Int32_System_Int32_System_Single_System_Threading_CancellationToken_)'| markdownify }}</div>
+
+</td>
+<td>API Unavailable</td>
+<td>In .NET MAUI PDF Viewer,  there is no support for exporting PDF as images. However, you can use the Syncfusion PDF to Image Converter library to convert PDF documents into images. 
+For detailed implementation guidance, please refer to the following API documentation:
+{{'[PdfToImageConverter](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfToImageConverter.PdfToImageConverter.html)'| markdownify }}
+
+</td>
+</tr>
+</table>
+
+## Classes
+
+<table>
+<tr>
+<th>Xamarin SfPdfViewer</th>
+<th>.NET MAUI SfPdfViewer</th>
+<th>Description</th></tr>
+<tr>
+<td>{{'[CustomBookmark](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.CustomBookmark.html)'| markdownify }}</td>
+<td>{{'[Bookmark](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Bookmark.html)'| markdownify }}</td>
+<td>Represents a custom bookmark with a name and associated page number.</td>
+</tr>
+<tr>
+<td>{{'[TouchMode](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchMode.html)'| markdownify }}</td>
+<td>{{'[TouchScreenInputMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TouchScreenInputMode.html)'| markdownify }}</td>
+<td>Enumerates the values that specify the input mode in which the ink strokes should be allowed to be drawn.</td>
+</tr>
+<tr>
+<td>{{'[TextSelectionCompletedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionCompletedEventArgs.html)'| markdownify }}</td>
+<td>{{'[TextSelectionChangedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionChangedEventArgs.html)'| markdownify}}</td>
+<td>Provides data for the TextSelectionChanged event.</td>
+</tr>
+<tr>
+<td>{{'[UnhandledConditionEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.UnhandledConditionEventArgs.html#Syncfusion_SfPdfViewer_XForms_UnhandledConditionEventArgs)'| markdownify }}</td>
+<td>{{'[DocumentLoadFailedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html)'| markdownify }}</td>
+<td>Provides data for the {{'[DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed)'| markdownify }} event.</td>
+</tr>
+<tr>
+<td>{{'[TextMarkupAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupAnnotation.html)'| markdownify }}</td>
+<td>
+<div>{{'[HighlightAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.HighlightAnnotation.html)'| markdownify }},</div>
+<div>{{'[SquigglyAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SquigglyAnnotation.html)'| markdownify }},</div>
+<div>{{'[StrikeOutAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StrikeOutAnnotation.html)'| markdownify }},</div>
+<div>{{'[UnderlineAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.UnderlineAnnotation.html)'| markdownify }} </div>
+</td>
+<td>Represents the text markup annotation on the text contents in the page.</td>
+</tr>
+<tr>
+<td>{{'[ShapeAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ShapeAnnotation.html)'| markdownify }}</td>
+<td>
+<div>{{'[CircleAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.CircleAnnotation.html)'| markdownify }},</div>
+<div>{{'[LineAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html)'| markdownify }},</div>
+<div>{{'[SquareAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SquareAnnotation.html)'| markdownify }}</div>
+</td>
+<td>Represents an annotation that displays a shape on the page.</td>
+</tr>
+<tr>
+<td>{{'[PopupAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PopupAnnotation.html)'| markdownify }}</td>
+<td>{{'[StickyNoteAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StickyNoteAnnotation.html)'| markdownify }}</td>
+<td>Represents the sticky note annotation on the text contents in the page.</td>
+</tr>
+<tr>
+<td>
+<div>{{'[AnnotationMovedOrResizedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.AnnotationMovedOrResizedEventArgs.html)'| markdownify }},</div>
+<div>{{'[InkAddedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAddedEventArgs.html)'| markdownify }},</div>
+<div>{{'[InkDeselectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkDeselectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[InkEditedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkEditedEventArgs.html)'| markdownify }},</div>
+<div>{{'[InkRemovedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkRemovedEventArgs.html)'| markdownify }},</div>
+<div>{{'[InkSelectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkSelectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationAddedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationAddedEventArgs.html)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationDeselectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationDeselectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationEditedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationEditedEventArgs.html)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationRemovedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationRemovedEventArgs.html)'| markdownify }},</div>
+<div>{{'[ShapeAnnotationSelectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ShapeAnnotationSelectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[StampAnnotationAddedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationAddedEventArgs.html)'| markdownify }},</div>
+<div>{{'[StampAnnotationDeselectedEventArgs ](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationDeselectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[StampAnnotationMovedOrResizedEventArgs ](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationMovedOrResizedEventArgs.html)'| markdownify }},</div>
+<div>{{'[StampAnnotationRemovedEventArgs ](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationRemovedEventArgs.html)'| markdownify }},</div>
+<div>{{'[StampAnnotationSelectedEventArgs ](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationSelectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[TextMarkupAddedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupAddedEventArgs.html)'| markdownify }},</div>
+<div>{{'[TextMarkupDeselectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupDeselectedEventArgs.html)'| markdownify }},</div>
+<div>{{'[TextMarkupEditedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupEditedEventArgs.html)'| markdownify }},</div>
+<div>{{'[TextMarkupRemovedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupRemovedEventArgs.html)'| markdownify }},</div>
+<div>{{'[TextMarkupSelectedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextMarkupSelectedEventArgs.html)'| markdownify }}</div>
+</td>
+<td>{{'[AnnotationEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationEventArgs.html)'| markdownify}}</td>
+<td>Provides data for the {{'[AnnotationAdded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationAdded)'| markdownify}}, {{'[AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected)'| markdownify}}, {{'[AnnotationDeselected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationDeselected)'| markdownify}}, {{'[AnnotationEdited](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationEdited)'| markdownify}}, {{'[AnnotationRemoved](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationRemoved)'| markdownify}} events.</td>
+</tr>
+</table>
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Base64String.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Base64String.md
new file mode 100644
index 000000000..217733be1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Base64String.md
@@ -0,0 +1,85 @@
+---
+layout: post
+title: Open a PDF From Base64 string in MAUI PDF Viewer control | Syncfusion
+description: Learn here about opening a PDF document from the Base64 string in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document from base64 string in .NET MAUI PDF Viewer (SfPdfViewer)
+
+A PDF document can be opened in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) from a given Base64 string by converting it to a byte[] and assigning it to the [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) property.
+
+Just by making a few changes to the `PdfViewerViewModel.cs` shared in the getting started example, you can easily open a document from a given Base64 string by converting the Base64 string to byte array using the [FromBase64String](https://learn.microsoft.com/en-us/dotnet/api/system.convert.frombase64string?view=net-9.0) method of the [Convert](https://github.com/dotnet/runtime/blob/1d1bf92fcf43aa6981804dc53c5174445069c9e4/src/libraries/System.Private.CoreLib/src/System/Convert.cs) class in the `System` namespace and assigning the obtained byte array to the [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) property in the .NET MAUI PDF Viewer. Refer to the following code example for reference:
+
+{% tabs %}
+{% highlight c# tabtitle="PdfViewerViewModel.cs" %}
+
+using System.Reflection;
+using System.ComponentModel;
+
+namespace PdfViewerExample
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private byte[]? m_pdfDocumentByteArray;
+
+        /// <summary>
+        /// An event to detect the change in the value of a property.
+        /// </summary>
+        public event PropertyChangedEventHandler? PropertyChanged;
+
+        /// <summary>
+        /// The PDF document byte array that is loaded into the instance of the PDF viewer. 
+        /// </summary>
+        public byte[]? PdfDocumentByteArray
+        {
+            get
+            {
+                return m_pdfDocumentByteArray;
+            }
+            set
+            {
+                m_pdfDocumentByteArray = value;
+                OnPropertyChanged("PdfDocumentByteArray");
+            }
+        }
+
+        /// <summary>
+        /// Constructor of the view model class
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            SetPdfDocumentByteArray();
+        }
+
+        /// <summary>
+        /// Gets and sets the document byte array from the given base64 string converted PDF file. 
+        /// </summary>
+        private void SetPdfDocumentByteArray()
+        {
+            // Assign the returned byte array to the PdfDocumentByteArray property
+            PdfDocumentByteArray = GetByteArrayFromBase64String();
+        }
+
+        // Method to return a MemoryStream containing a base64 string converted PDF file
+        public byte[]? GetByteArrayFromBase64String()
+        {
+            // Decode the Base64 string into a byte array and the Convert class is used for Type conversion in C# (Here we are using to convert a base64 string value to a byte array).
+            byte[] decodedBytes = System.Convert.FromBase64String(“YourBase64String”);
+
+            // return the byte array.
+            return decodedBytes;
+        }
+
+        public void OnPropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        }
+    }
+}
+{% endhighlight %} 
+{% endtabs %}
+
+The example project to open a PDF document from a Base64 string can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples/tree/master/Open%20PDF%20From%20Base-64%20String). 
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Local-Storage.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Local-Storage.md
new file mode 100644
index 000000000..98d1ce698
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-Local-Storage.md
@@ -0,0 +1,170 @@
+---
+layout: post
+title: Open a PDF From Local Storage in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here about opening a PDF document from local storage in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a PDF from Local Storage in .NET MAUI PDF Viewer (SfPdfViewer)
+
+A PDF document can be opened in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) from the local storage by reading the file as a `Stream` and assigning the obtained `Stream` to the [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) property.
+
+Just by making a few changes to the `MainPage.xaml` and `PdfViewerViewModel.cs` shared in the getting started example, you can easily open a document from the local storage with the help of [File Picker](https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/storage/file-picker?view=net-maui-7.0&tabs=ios) as one of the options. 
+
+In `MainPage.xaml`, add a new button to open a PDF document from the local storage using the `File Picker` when pressed. Refer to the following code:
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             x:Class="OpenLocalFile.MainPage"
+             xmlns:local="clr-namespace:OpenLocalFile"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer">
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel/>
+    </ContentPage.BindingContext>
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Grid
+            Grid.Row="0" BackgroundColor="#FFF6F6F6" Padding="8"
+            IsVisible="{OnPlatform MacCatalyst=False}">
+            <Label FontSize="Medium" TextColor="Black" VerticalOptions="Center" Text="Choose File"></Label>
+            <ImageButton 
+                Source="openfile.png" 
+                BackgroundColor="#FFF6F6F6"
+                VerticalOptions="Center" HorizontalOptions="End" 
+                Aspect="Center" Command="{Binding OpenDocumentCommand}"/>
+        </Grid>
+        <syncfusion:SfPdfViewer Grid.Row="1" DocumentSource="{Binding PdfDocumentStream}"/>
+    </Grid>
+</ContentPage>
+
+{% endhighlight %} 
+{% endtabs %}
+
+In `PdfViewerViewModel.cs`, implement the functionalities of the `File picker` to choose a PDF document and read its stream, which can be assigned to the [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to view the document. Refer to the following code:
+
+{% tabs %}
+{% highlight c# tabtitle="PdfViewerViewModel.cs" %}
+
+using System.ComponentModel;
+using System.Reflection;
+using System.Windows.Input;
+
+namespace OpenLocalFile
+{
+    internal class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream m_pdfDocumentStream;
+        private ICommand m_openDocumentCommand;
+
+        /// <summary>
+        /// An event to detect the change in the value of a property.
+        /// </summary>
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        /// <summary>
+        /// Command to open the document using a file picker.
+        /// </summary>
+        public ICommand OpenDocumentCommand
+        {
+            get
+            {
+                if (m_openDocumentCommand == null)
+                    m_openDocumentCommand = new Command<object>(OpenDocument);
+                return m_openDocumentCommand;
+            }
+        }
+
+        /// <summary>
+        /// The PDF document stream that is loaded into the instance of the PDF viewer. 
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return m_pdfDocumentStream;
+            }
+            set
+            {
+                m_pdfDocumentStream = value;
+                OnPropertyChanged("PdfDocumentStream");
+            }
+        }
+
+        /// <summary>
+        /// Constructor of the view model class
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            //Accessing the PDF document that is added as an embedded resource as a stream.
+            m_pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("OpenLocalFile.Assets.PDF_Succinctly.pdf");
+        }
+
+        public void OnPropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        }
+
+        /// <summary>
+        /// Opens a document using the file picker.
+        /// </summary>
+        async void OpenDocument(object commandParameter)
+        {
+            //Create a file picker with file type as PDF.
+            FilePickerFileType pdfFileType = new FilePickerFileType(new Dictionary<DevicePlatform, IEnumerable<string>>{
+                        { DevicePlatform.iOS, new[] { "public.pdf" } },
+                        { DevicePlatform.Android, new[] { "application/pdf" } },
+                        { DevicePlatform.WinUI, new[] { "pdf" } },
+                        { DevicePlatform.MacCatalyst, new[] { "pdf" } },
+                    });
+
+            //Provide picker title if required.
+            PickOptions options = new()
+            {
+                PickerTitle = "Please select a PDF file",
+                FileTypes = pdfFileType,
+            };
+            await PickAndShow(options);
+        }
+
+        /// <summary>
+        /// Picks the file from local storage and stores it as a stream.
+        /// </summary>
+        public async Task PickAndShow(PickOptions options)
+        {
+            try
+            {
+                //Pick the file from local storage.
+                var result = await FilePicker.Default.PickAsync(options);
+                if (result != null)
+                {
+                    //Store the resultant PDF as a stream.
+                    PdfDocumentStream = await result.OpenReadAsync();
+                }
+            }
+            catch (Exception ex)
+            {
+                //Display error when the file picker fails to open files.
+                string message;
+                if (ex != null && string.IsNullOrEmpty(ex.Message) == false)
+                    message = ex.Message;
+                else
+                    message = "File open failed.";
+                Application.Current?.MainPage?.DisplayAlert("Error", message, "OK");
+            }
+        }
+    }
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+The example project to open a PDF document from local storage using `File Picker` can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples). 
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-URL.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-URL.md
new file mode 100644
index 000000000..03dea45fa
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document-From-URL.md
@@ -0,0 +1,80 @@
+---
+layout: post
+title: Open a Document From URL in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here about opening a PDF document from the URL in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document from URL in .NET MAUI PDF Viewer (SfPdfViewer)
+
+A PDF document can be opened in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) from a given URL by converting it to a byte[] and assigning the obtained byte[] to the [DocumentSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentSource) property. 
+
+N>If you experience issues loading a document into the PDF viewer from a URL, it may not be an issue with the PDF viewer itself. If you face issues, please ensure the PDF file is accessible by checking the URL validity, network connectivity, and authentication, and try opening the URL in a web browser.
+
+Just by making a few changes to the `PdfViewerViewModel.cs` shared in the getting started example, you can easily open a document from a given URL. Refer to the following code example:
+
+{% tabs %}
+{% highlight c# tabtitle="PdfViewerViewModel.cs" %}
+
+using System.Reflection;
+using System.ComponentModel;
+
+namespace PdfViewerExample
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream? m_pdfDocumentStream;
+
+        /// <summary>
+        /// An event to detect the change in the value of a property.
+        /// </summary>
+        public event PropertyChangedEventHandler? PropertyChanged;
+
+        /// <summary>
+        /// The PDF document stream that is loaded into the instance of the PDF viewer. 
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return m_pdfDocumentStream;
+            }
+            set
+            {
+                m_pdfDocumentStream = value;
+                OnPropertyChanged("PdfDocumentStream");
+            }
+        }
+
+        /// <summary>
+        /// Constructor of the view model class
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            SetPdfDocumentStream(“https://www.syncfusion.com/downloads/support/directtrac/general/pd/PDF_Succinctly1928776572”);
+        }
+
+        /// <summary>
+        /// Gets and sets the document stream from the given URL. 
+        /// </summary>
+        /// <param name="URL">Document URL</param>
+        private async void SetPdfDocumentStream(string URL)
+        {
+            HttpClient httpClient = new HttpClient();
+            HttpResponseMessage response = await httpClient.GetAsync(URL);
+
+            PdfDocumentStream = await response.Content.ReadAsStreamAsync();
+        }
+
+        public void OnPropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        }
+    }
+}
+{% endhighlight %} 
+{% endtabs %}
+
+The example project to open a PDF document from a given URL can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples). 
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md
new file mode 100644
index 000000000..7b818b593
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md
@@ -0,0 +1,86 @@
+---
+layout: post
+title: Open a Document in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about opening a PDF document in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open a Document in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to open PDF documents from various sources, like local storage or URLs. It also lets you view password-protected documents.
+
+This section walks you through the loading and unloading of documents in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) and handling the load-specific events.
+
+## Document and page loading indications
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) displays a built-in [ActivityIndicator](https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/activityindicator) (loading indicator) under the following scenarios to indicate if there are any lengthy loadings.
+
+1.	`At the document` – To indicate that the document is loading.
+2.	`At the pages` – To indicate that the page content is loading.
+
+To customize the appearance of the loading indicators, please refer to this [section](https://help.syncfusion.com/maui/pdf-viewer/ui-customization#customize-the-loading-indicator).
+
+## Document source types
+
+The document source types accepted by the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) are `Stream` and `byte[]`. You can load the PDF document from a specified stream or bytes.
+
+**Load the document from the stream** 
+
+{% tabs %}
+{% highlight c# %}
+// Load the document from Stream
+Stream pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.PDF_Succinctly.pdf");
+PdfViewer.DocumentSource = pdfDocumentStream;
+{% endhighlight %}
+{% endtabs %}
+
+**Load the document from Byte array**
+
+{% tabs %}
+{% highlight c# %}
+// Load the document from a Byte array
+HttpClient httpClient = new HttpClient();
+HttpResponseMessage response = await httpClient.GetAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/PDF_Succinctly1928776572");
+PdfViewer.DocumentSource = await response.Content.ReadAsByteArrayAsync();
+{% endhighlight %}
+{% endtabs %}
+
+## Unload a document
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to unload and clear the resources occupied by the PDF document loaded using the [UnloadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UnloadDocument) method, as shown below.
+
+N> 1. While changing or opening different documents on the same page, the previously loaded document will be unloaded automatically by the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). 
+N> 2. And, if you are using multiple pages in your application, then make sure to unload the document from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) while leaving the page that has it to release the memory and resources consumed by the PDF document that is loaded.  The unloading of documents can be done by calling the [UnloadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UnloadDocument) method. 
+
+{% tabs %}
+{% highlight c# %}
+//Unload the document from the PDF viewer.
+PdfViewer.UnloadDocument();
+{% endhighlight %}
+{% endtabs %}
+
+## Opening a PDF document with annotations
+
+The .NET MAUI PDF Viewer does not currently support annotations comparable to Xamarin.Forms. However, it is possible to view the unsupported annotations in a non-interactive manner. To achieve this, provide the [flattenOptions](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FlattenOptions.html) (an optional parameter) as [Unsupported](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.FlattenOptions.html#Syncfusion_Maui_PdfViewer_FlattenOptions_Unsupported) in the [LoadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_LoadDocument_System_IO_Stream_System_String_System_Nullable_Syncfusion_Maui_PdfViewer_FlattenOptions__) methods. See the following code example:
+
+{% tabs %}
+{% highlight c# hl_lines="2" %}
+
+        Stream pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.PDF_Succinctly.pdf");
+        FlattenOptions flattenOption = FlattenOptions.Unsupported;
+        // Loads the PDF document from the stream with the flatten option to render unsupported annotations.
+        PdfViewer.LoadDocument(pdfDocumentStream, flattenOptions: flattenOption);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> * All the [LoadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_LoadDocument_System_IO_Stream_System_String_System_Nullable_Syncfusion_Maui_PdfViewer_FlattenOptions__) methods accept the flatten options parameter.
+N> * Refer to this [section](https://help.syncfusion.com/maui/pdf-viewer/migration#upcoming-features) for the upcoming annotation features in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+## Check other PDF opening options
+
+* [Open a document from local storage](https://help.syncfusion.com/maui/pdf-viewer/open-a-document-from-local-storage)
+* [Open a document from a URL](https://help.syncfusion.com/maui/pdf-viewer/open-a-document-from-url)
+* [Open a password-protected document](https://help.syncfusion.com/maui/pdf-viewer/open-a-password-protected-document)
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Password-Protected-Document.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Password-Protected-Document.md
new file mode 100644
index 000000000..950943b05
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Password-Protected-Document.md
@@ -0,0 +1,390 @@
+---
+layout: post
+title: Open a Password-Protected PDF in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here about opening a password-protected document in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Open a Password-Protected PDF in .NET MAUI PDF Viewer (SfPdfViewer)
+
+To open a password-protected or encrypted PDF document, you can use the [LoadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_LoadDocument_System_IO_Stream_System_String_) method by providing the password along with the document source. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+string password = "PASSWORD";
+pdfViewer.LoadDocument(pdfDocumentStream, password);
+{% endhighlight %}
+{% endtabs %}
+
+In the above code snippet, `pdfDocumentStream` is the `Stream` instance read from the encrypted PDF, and `password` is the key with which the PDF is encrypted.
+
+## Detecting a password-protected document
+
+You can identify whether a PDF document to be opened is a password-protected or not by using the [PasswordRequested](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PasswordRequested) event. This event triggers when the document to be loaded in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) requires a password. In this event handler method, you can set the [password](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.PasswordRequestedEventArgs.html#Syncfusion_Maui_PdfViewer_PasswordRequestedEventArgs_Password) property from the [PasswordRequestedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.PasswordRequestedEventArgs.html) with the correct password to load the document. Refer to the following code example.
+
+{% tabs %}
+{% highlight xaml %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer" 
+	DocumentSource="{Binding PdfDocumentStream}" 
+	PasswordRequested ="PdfViewer_PasswordRequested">
+{% endhighlight %}
+
+{% highlight c# %}
+public MainPage()
+{
+    InitializeComponent();
+    Stream pdfDocumentStream = this.GetType().Assembly.GetManifestResourceStream("PdfViewerExample.Assets.Password_Protected.pdf");
+    PdfViewer.DocumentSource = pdfDocumentStream;
+}
+
+private void PdfViewer_PasswordRequested(object sender, PasswordRequestedEventArgs e)
+{        
+    e.Password = "PASSWORD";
+    e.Handled = true;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Handling password request
+
+When attempting to open a password-protected document, the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) will display a default password prompt to obtain the user password to load the document. However, if you want to suppress the default password prompt and to can implement your own UI to obtain the user password by using the [PasswordRequested](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PasswordRequested) event. Set the [Handled](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs.html#Syncfusion_Maui_PdfViewer_DocumentLoadFailedEventArgs_Handled) property of the [PasswordRequestedEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.PasswordRequestedEventArgs.html) to `true` to disable the control’s default password prompt and handle your own logic to supply the password to open the document.
+
+{% tabs %}
+{% highlight xaml %}
+
+        <syncfusion:SfPdfViewer 
+            x:Name="PdfViewer"
+            PasswordRequested="PdfPasswordRequested"/>
+
+{% endhighlight %}
+{% highlight c# hl_lines="4" %}
+
+	public MainPage()
+	{
+		InitializeComponent();
+        PdfViewer.PasswordRequested += PdfPasswordRequested;
+    }
+
+    private void PdfPasswordRequested(object sender, PasswordRequestedEventArgs e)
+    {
+        e.Handled = true;
+        // Handle your own logic here.
+        e.Password = "{Document's password}";
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Creating a password request view
+
+This is an example of how to create a custom password request dialog to ask for the user password and use the same to view the password-protected PDF document in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following code snippets illustrate the creation of a custom password request dialog and viewing the documents, with a few code additions to the **Getting Started** example.
+
+**Step 1:** Create a custom password dialog view named `PasswordDialogBox` and add the functionalities to accept and validate the password, as shown below.
+
+{% tabs %}
+{% highlight xaml tabtitle="PasswordDialogBox.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             x:Class="OpenPasswordProtectedFile.PasswordDialogBox"
+             HeightRequest="280" WidthRequest="360">
+    <Grid Padding="16" BackgroundColor="White">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="1*"/>
+            <RowDefinition Height="2*"/>
+            <RowDefinition Height="2*"/>
+            <RowDefinition Height="1*"/>
+            <RowDefinition Height="1*"/>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="0" VerticalOptions="Start">
+            <Label 
+                Text="Enter a Password" 
+                Grid.Column="0" 
+                HorizontalOptions="Start"
+                FontAttributes="Bold" 
+                FontSize="20"/>
+        </Grid>
+        <Label 
+            Grid.Row="1" 
+            Text="The file is protected. Please enter a password to open the PDF file." 
+            VerticalOptions="Center" 
+            VerticalTextAlignment="End" 
+            LineBreakMode="WordWrap"/>
+        <VerticalStackLayout Grid.Row="2" Spacing="2">
+            <Border Stroke="{OnPlatform Android=Gray}" Padding="{OnPlatform Android=4}">
+                <Entry
+                    HorizontalOptions="Fill"
+                    Placeholder="Password: syncfusion"
+                    x:Name="passwordBlock"
+                    IsPassword="True"
+                    TextChanged="passwordBlock_TextChanged"/>
+            </Border>
+            <Label 
+                Text=""
+                x:Name="helperText"
+                VerticalOptions="Center" 
+                VerticalTextAlignment="Center" 
+                LineBreakMode="WordWrap"
+                FontSize="12" 
+                Padding="0,2,0,2"/>
+        </VerticalStackLayout>
+        <HorizontalStackLayout 
+                x:Name="showPassword" 
+                Spacing="8" 
+                Grid.Row="3" 
+                VerticalOptions="Start" >
+            <CheckBox CheckedChanged="CheckBox_CheckedChanged"/>
+            <Label 
+                HorizontalTextAlignment="Center"
+                Text="Show Password" 
+                VerticalTextAlignment="Center"/>
+        </HorizontalStackLayout>
+
+        <Grid Grid.Row="4">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="*"/>
+                <ColumnDefinition Width="auto"/>
+                <ColumnDefinition Width="20"/>
+                <ColumnDefinition Width="auto"/>
+            </Grid.ColumnDefinitions>
+            <Button 
+                Grid.Column="1" 
+                x:Name="cancelButton" 
+                Text="CANCEL" 
+                Clicked="CancelButton_Clicked"
+                VerticalOptions="End"/>
+            <Button 
+                Grid.Column="3"
+                x:Name="okButton" 
+                Text="OK" 
+                Clicked="OkButton_Clicked"
+                VerticalOptions="End"/>
+        </Grid>
+    </Grid>
+</ContentView>
+
+{% endhighlight %} 
+
+{% highlight c# tabtitle="PasswordDialogBox.xaml.cs" %}
+
+public partial class PasswordDialogBox : ContentView
+{
+    /// <summary>
+    /// Gets or sets the password.
+    /// </summary>
+    public string Password { get; set; }
+
+    /// <summary>
+    /// Occurs when the password is entered.
+    /// </summary>
+    public event EventHandler<EventArgs> PasswordEntered;
+
+    /// <summary>
+    /// Constructor for the password dialog box.
+    /// </summary>
+    public PasswordDialogBox()
+    {
+        InitializeComponent();
+    }
+    
+    /// <summary>
+    /// Handles when the cancel button is clicked.
+    /// </summary>
+    private void CancelButton_Clicked(object sender, EventArgs e)
+    {
+        //Reset the values and close the dialog.
+        Password = null;
+        passwordBlock.Text = "";
+        this.IsVisible = false;
+    }
+
+    private void OkButton_Clicked(object sender, EventArgs e)
+    {
+        if (string.IsNullOrEmpty(passwordBlock.Text) == false)
+        {
+            //Store the password.
+            Password = passwordBlock.Text;
+
+            //Reset the UI and close the dialog.
+            passwordBlock.Text = "";
+            this.IsVisible = false;
+
+            //Fire the password entered dialog.
+            PasswordEntered?.Invoke(this, EventArgs.Empty);
+        }
+        else
+        {
+            //Show warning when password is empty.
+            helperText.TextColor = Color.FromRgb(255,0,0);
+            helperText.Text = "* Password cannot be empty";
+        }
+    }
+    
+    /// <summary>
+    /// Handles when show password check box is checked or unchecked.
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    private void CheckBox_CheckedChanged(object sender, CheckedChangedEventArgs e)
+    {
+        if (sender is CheckBox checkBox)
+        {
+            // Show password when checked and hide when unchecked.
+            if (checkBox.IsChecked)
+                passwordBlock.IsPassword = false;
+            else
+                passwordBlock.IsPassword = true;
+        }
+    }
+    
+    /// <summary>
+    /// Handles when password text is changed.
+    /// </summary>
+    private void passwordBlock_TextChanged(object sender, TextChangedEventArgs e)
+    {
+        if (string.IsNullOrEmpty(e.NewTextValue) == false)
+        {
+            //Reset the helper text if the current password is not null or empty.
+            helperText.Text = "";
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+**Step 2:** Add the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) and `PasswordDialogBox` elements to the `MainPage` and handle the functionalities to open a custom password request dialog and display the PDF document after providing a correct password, as shown below.
+
+{% tabs %}
+{% highlight xaml tabtitle="MainPage.xaml" %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             x:Class="OpenPasswordProtectedFile.MainPage"
+             xmlns:local="clr-namespace:OpenPasswordProtectedFile"
+             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.PdfViewer;assembly=Syncfusion.Maui.PdfViewer">
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel/>
+    </ContentPage.BindingContext>
+    <Grid>
+        <syncfusion:SfPdfViewer 
+            x:Name="PdfViewer"
+            DocumentSource="{Binding PdfDocumentStream}"
+            PasswordRequested="SfPdfViewer_PasswordRequested"
+            DocumentLoadFailed="PdfViewer_DocumentLoadFailed"/>
+        <local:PasswordDialogBox
+            x:Name="PasswordDialog"
+            IsVisible="false" 
+            PasswordEntered="PasswordDialogBox_PasswordEntered"/>
+    </Grid>
+</ContentPage>
+
+{% endhighlight %} 
+
+{% highlight c# tabtitle="MainPage.xaml.cs" %}
+
+public partial class MainPage : ContentPage
+{
+    //It is used to delay the current thread's execution, until the user enters the password.
+    ManualResetEvent manualResetEvent = new ManualResetEvent(false);
+
+    /// <summary>
+    /// Constructor of the main page.
+    /// </summary>
+    public MainPage()
+    {
+        InitializeComponent();
+    }
+
+    /// <summary>
+    /// Handles password requested event.
+    /// </summary>
+    private void SfPdfViewer_PasswordRequested(object sender, Syncfusion.Maui.PdfViewer.PasswordRequestedEventArgs e)
+    {
+        //Show the password dialog.
+        PasswordDialog.Dispatcher.Dispatch(() => PasswordDialog.IsVisible = true);
+        
+        //Block the current thread until user enters the password.
+        manualResetEvent.WaitOne();
+        manualResetEvent.Reset();
+
+        //Pass the user password to PDF Viewer to validate and load the PDF.
+        e.Password = PasswordDialog.Password;
+        e.Handled = true;
+    }
+
+    /// <summary>
+    /// Handles when document is failed to load.
+    /// </summary>
+    private void PdfViewer_DocumentLoadFailed(object sender, Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs e)
+    {
+        //Show the incorrect password message to the user, when document failed to load if the password is invalid.
+        if (e.Message == "Can't open an encrypted document. The password is invalid.")
+        {
+            MainThread.BeginInvokeOnMainThread(() =>
+            {
+                DisplayAlert("Incorrect Password", "The password you entered is incorrect. Please try again.", "OK");
+            });
+        }
+    }
+
+    /// <summary>
+    /// Handles when the password is entered.
+    /// </summary>
+    private void PasswordDialogBox_PasswordEntered(object sender, EventArgs e)
+    {
+        //Hide the password dialog.
+        PasswordDialog.IsVisible = false;
+
+        //Release the current waiting thread to execute.
+        manualResetEvent.Set();
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Handling an invalid password
+
+The [DocumentLoadFailed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoadFailed) event triggers when any password-protected document is loaded with a wrong or invalid password. You can handle the functionality based on your needs within this event handler method.
+
+{% tabs %}
+{% highlight xaml %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer " DocumentSource="{Binding PdfDocumentStream}" PasswordRequested ="PdfViewer_PasswordRequested" DocumentLoadFailed="PdfViewer_DocumentLoadFailed">
+{% endhighlight %}
+
+{% highlight c# %}
+public MainPage()
+{
+    InitializeComponent();
+    Stream pdfDocumentStream = this.GetType().Assembly.GetManifestResourceStream("PdfViewerExample.Assets.Password_Protected.pdf");
+    PdfViewer.DocumentSource = pdfDocumentStream;
+}
+
+private void PdfViewer_PasswordRequested(object sender, PasswordRequestedEventArgs e)
+{        
+    e.Password = "WRONG PASSWORD";
+    e.Handled = true;
+}
+
+private void PdfViewer_DocumentLoadFailed(object sender, Syncfusion.Maui.PdfViewer.DocumentLoadFailedEventArgs e)
+{        
+    if (e.Message == "Can't open an encrypted document. The password is invalid.")
+    {
+        DisplayAlert("Incorrect Password", "The password you entered is incorrect. Please try again.", "OK");
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Handling the correct password
+If the entered password is correct, the document will be loaded into the PDF Viewer. At this moment, the [DocumentLoaded](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DocumentLoaded) event will be triggered. You can handle this event to show a message indicating that the password is correct or to close the custom dialog. Refer to this [link](https://help.syncfusion.com/maui/pdf-viewer/documentloadnotifications#document-loaded-event) for more details.
+
+## GitHub example
+The example project to open a password-protected document with a customized password request view can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples).
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Overview.md b/Document-Processing/PDF/PDF-Viewer/maui/Overview.md
new file mode 100644
index 000000000..48296c427
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Overview.md
@@ -0,0 +1,43 @@
+---
+layout: post
+title: About .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about introduction of Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control, its key features and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# .NET MAUI PDF Viewer (SfPdfViewer) Overview
+
+The [.NET MAUI PDF Viewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) control lets you view PDF documents seamlessly and efficiently. It has highly interactive and customizable features such as magnification, page navigation, text selection, text search, document link navigation, hyperlink navigation, outline view, form filling, and the ability to review PDF files with annotations.
+
+**Key Features**
+
+* **Virtual scrolling** - Easily scroll through the pages in the document fluently. The pages are rendered only when required to increase the loading and scrolling performance.
+* **Magnification** - The content of a PDF document can be efficiently zoomed in and out by pinching or changing the zoom factor programmatically.
+* **Zoom modes** - Improve document readability by adjusting magnification to suit your viewing needs. Use *Fit to Page* to display the entire page without scrolling, ideal for quick overviews. Choose *Fit to Width* for optimal reading of content with narrow columns, such as newspapers or multi-column layouts.
+* **Page navigation** - Navigate to the desired pages instantly using the page navigation option programmatically or by dragging the scroll head in the UI.
+* **Open password-protected PDFs** - Load and view password-protected PDFs in a hassle-free way. You can design a custom password request view and integrate the functionality easily with the options available.
+* **Built-in Toolbar** - The PDF Viewer control includes a built-in toolbar, offering a seamless user experience with essential functions such as page navigation, text search, page layout mode adjustments, and various annotation tools. The toolbar's visibility can also be customized according to user preferences.
+* **Text search** - Search for text and instantly navigate all its occurrences in a PDF document.
+* **Select and copy text** - Select text from a PDF document and copy it to the clipboard. This helps share text content with others.
+* **Outline view** - Use the outline view's hierarchical list of headings and subheadings to instantly navigate to the required topic in the document.
+* **Custom bookmarks** - Add, remove, and modify custom bookmarks in PDF files. This feature lets you quickly jump to specific sections or chapters without scrolling through the entire document.
+* **Document link navigation** - Navigate to the topic or position by tapping the document link annotation of the topics in the table of contents in a PDF document.
+* **Hyperlink navigation** - Detects hyperlinks, and tapping on the hyperlink will open the URL in a browser.
+* **Form filling** - Fill, modify, import, export, and save form data from PDF documents. This feature helps to digitize the manual process of filling out paper forms. This can be used for filling out job applications, registration forms, medical forms, etc. Supported form fields are text box, checkbox, radio button, combo box, list box, button (only GoTo actions), and signature. 
+* **Ink or free-hand drawing annotation** - Add, remove, modify, save, import, and export ink annotations in PDF files. This feature will help make quick notes on specific text or passages, add marks or drawings to images, and add handwritten signatures.
+* **Ink or free-hand drawing eraser** - Remove or erase portions of freehand drawings or ink annotations. This feature can be used to correct a mistake or remove unwanted marks.
+* **Shape annotations** - Add, remove, modify, import, and export shape annotations in PDF files. The available shapes are arrow, circle, line, rectangle, polygon, and polyline. This feature will help highlight important paragraphs, images, or blocks of text, point out certain areas of interest, underline text or phrases in an image, or divide different sections or paragraphs, and provide directional guidance.
+* **Stamp annotation** - Add, remove, modify, import, and export stamp annotations in PDF files. Stamps are predefined graphical text that can be used to mark or signify certain aspects of documents, like that they have undergone quality checks or audits. This feature also allows adding personalized images or text to PDF documents.
+* **Sticky note annotation** - Add, remove, modify, import, and export sticky note annotations in PDF files. This feature will help add comments or notes to a specific part of a document to clarify complex concepts, terms, or ideas.
+* **Text markup annotations** - Add, remove, modify, import, and export text markup annotations in PDF files. The available text markups are highlight, underline, strikeout, and squiggly. This feature will help mark important passages, emphasize specific words or phrases, indicate that certain content should be removed, or indicate that text contains possible errors.
+* **Free text annotation** - Add, remove, modify, import, and export free text annotations in PDF files. This feature helps to add text notes, comments, or feedback to PDF documents.
+* **Show and Hide Annotations** - This feature enables users to manage the visibility of specific annotations or all annotations within the document.
+* **Electronic signatures** - Add, remove, and modify electronic signatures in PDF files that include freehand-drawn, text, and image signatures. It can be used to sign contracts and agreements digitally, eliminating the need for physical signatures.
+* **Page layout modes** - View the PDF files in different page layout modes, such as continuous scroll and single page.
+* **Save** - Save the modified PDF files. 
+* **Print** - Print the PDF files.
+* **Coordinates conversion** - Obtain the PDF page coordinates relative to the PDF Viewer’s client coordinates and vice versa. It also helps to obtain the scroll point relative to the PDF page coordinates and bring the given region into view.
+* **Localization** - All static text within the PDF Viewer can be localized to any supported language.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Page-Navigation.md b/Document-Processing/PDF/PDF-Viewer/maui/Page-Navigation.md
new file mode 100644
index 000000000..59f498ec7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Page-Navigation.md
@@ -0,0 +1,123 @@
+---
+layout: post
+title: Page Navigation in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about page navigation feature in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Page Navigation in .NET MAUI PDF Viewer (SfPdfViewer)
+
+After loading a document, you can navigate or scroll to different pages using the page navigation options, either programmatically or by dragging the scroll head in the UI. This section walks through the page navigation functionalities supported in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+## Page layout modes
+
+The page layout modes of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allow users to change the layout of the pages while viewing PDF documents. These modes provide flexibility in viewing and navigating PDF pages, responding to various reading styles and document structures. The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) supports the following Page layout modes:
+
+1. Continuous
+2. Single page
+
+### Continuous layout mode
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html)’s default page layout mode is `Continuous`. In this mode, the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) displays pages in a continuous vertical scroll, is useful for documents containing a continuous flow of content. It enables users to scroll through the document with ease, providing a more fluid reading experience. 
+To enable the continuous page layout mode, you can call the following code in a button click.
+
+{% tabs %}
+{% highlight c# %}
+
+// Enable or activate the Continuous Page Layout mode.
+void EnableContinuousPageLayoutMode()
+{
+    // Set the PageLayout mode to Continuous using the `SfPdfViewer` instance.
+    PdfViewer.PageLayoutMode = PageLayoutMode.Continuous;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Single page layout mode
+
+In single page layout mode, the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) shows one page at a time and allows users to swipe or scroll horizontally through the document. It provides a focused view, allowing readers to concentrate on a single page at a time without being distracted. 
+To enable the single page layout mode, you can call the following code in a button click.
+
+{% tabs %}
+{% highlight c# %}
+
+// Enable or activate the Single Page Layout mode.
+void EnableSinglePageLayoutMode()
+{
+    // Set the PageLayout mode to Single using the `SfPdfViewer` instance.
+    PdfViewer.PageLayoutMode = PageLayoutMode.Single;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> You can download the **Custom Toolbar** sample project for the .NET MAUI PDF Viewer [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples) , which demonstrates fuctionality related to the [PageLayoutMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.PageLayoutMode.html) feature.
+
+## Obtain the total page count and the current page number
+
+The [PageCount](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PageCount) property returns the total number of pages in a PDF document. And the [PageNumber](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PageNumber) property returns the current page number displayed in the PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+// Returns total number of pages
+int totalPageCount = PdfViewer.PageCount;
+// Returns current page number
+int currentPageNumber = PdfViewer.PageNumber;
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the desired page programmatically
+
+The [GoToPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToPage_System_Int32_) method helps you navigate to the specified page number in a PDF document. If the destination page doesn’t exist, then the navigation will not happen, and the older page will be retained. Refer to the following code example:
+
+{% tabs %}
+{% highlight c# %}
+// Navigate to page number 4.
+PdfViewer.GoToPage(4);
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the next and previous pages programmatically
+
+The [GoToNextPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToNextPage) and [GoToPreviousPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToPreviousPage) methods help you navigate to the next and previous pages of a PDF document. Refer to the following code example:
+
+{% tabs %}
+{% highlight c# %}
+private void NextPageButton_Clicked(object sender, EventArgs e)
+{
+    // Navigate to the next page
+    PdfViewer.GoToNextPage();
+}
+
+private void PreviousPageButton_Clicked(object sender, EventArgs e)
+{
+    // Navigate to the previous page
+    PdfViewer. GoToPreviousPage();
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to the first and last page programmatically
+
+The [GoToFirstPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToFirstPage) and [GoToLastPage](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_GoToLastPage) methods help you navigate to the first and last pages of a PDF document. Refer to the following code example:
+
+{% tabs %}
+{% highlight c# %}
+private void FirstPageButton_Clicked(object sender, EventArgs e)
+{
+    // Navigate to the first page
+    PdfViewer.GoToFirstPage();
+}
+
+private void LastPageButton_Clicked(object sender, EventArgs e)
+{
+    // Navigate to the last page
+    PdfViewer.GoToLastPage();
+}
+{% endhighlight %}
+{% endtabs %}
+
+The example project with the page navigation functionalities can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Print-a-Document.md b/Document-Processing/PDF/PDF-Viewer/maui/Print-a-Document.md
new file mode 100644
index 000000000..c1f002d9c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Print-a-Document.md
@@ -0,0 +1,41 @@
+---
+layout: post
+title: Print a Document in .NET MAUI PDF Viewer Control | Syncfusion
+description: Learn here all about printing feature in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Print a Document in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The print feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to effortlessly print PDF documents directly from your application code.
+
+Moreover, when performing a print operation, the default device print dialog opens, providing users with familiar options and settings to customize their printing experience.
+
+To print a PDF programmatically, you can use the [PrintDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PrintDocument) method provided by [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+// Prints the PDF document.
+PdfViewer.PrintDocument();
+{% endhighlight %}
+{% endtabs %}
+
+Also, [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) provides another way to print through command binding using the [PrintDocumentCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_PrintDocumentCommand). This makes printing easier, especially when used with buttons.
+
+{% tabs %}
+{% highlight xaml %}
+<!-- Prints the PDF document. -->
+<Button Text="Print" Command="{Binding Source={x:Reference PdfViewer},Path=PrintDocumentCommand}"/>
+{% endhighlight %} 
+{% endtabs %}
+
+Below is an example of the print preview dialog on the Android platform. The appearance of this dialog may differ across other platforms.
+
+![Printing PDF Files in .NET MAUI PDF Viewer](Images/Print/print.png)
+
+## Limitations
+
+Currently, when printing a document that contains sticky note annotations, the sticky note icon always appears as the default [comment](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StickyNoteIcon.html#Syncfusion_Maui_PdfViewer_StickyNoteIcon_Comment) icon appearance in the printed document.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Right-To-Left.md b/Document-Processing/PDF/PDF-Viewer/maui/Right-To-Left.md
new file mode 100644
index 000000000..5d011360d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Right-To-Left.md
@@ -0,0 +1,31 @@
+---
+layout: post
+title: Right to Left in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about the layouting Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control in right-to-left.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Right to left in .NET MAUI PDF Viewer (SfPdfViewer)
+
+By default, the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control is laid out in the left-to-right flow direction. For the convenience of right-to-left language users, it enables changing the flow direction to right-to-left (RTL). This can be achieved by setting the [FlowDirection](https://learn.microsoft.com/en-us/dotnet/api/microsoft.maui.iview.flowdirection?view=net-maui-7.0) property to `RightToLeft`. 
+Setting the [FlowDirection](https://learn.microsoft.com/en-us/dotnet/api/microsoft.maui.iview.flowdirection?view=net-maui-7.0) property to `RightToLeft` on the SfPdfViewer sets the alignment to the right, and layouts the built-in controls used in the SfPdfViewer to flow from right-to-left. Refer to the following code example to apply the same.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer
+	x:Name="PdfViewer"
+	FlowDirection="RightToLeft"/>
+
+{% endhighlight %}
+{% highlight C# %}
+
+PdfViewer.FlowDirection = FlowDirection.RightToLeft;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Right-to-Left language users can also refer to this [section](https://help.syncfusion.com/maui/pdf-viewer/migration#upcoming-features) for information on how to localize the static text used in the PDF reader to other languages.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Save-a-Document.md b/Document-Processing/PDF/PDF-Viewer/maui/Save-a-Document.md
new file mode 100644
index 000000000..db48aa747
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Save-a-Document.md
@@ -0,0 +1,69 @@
+---
+layout: post
+title: Save a Document in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about saving a PDF document in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control to prevent the work from being lost.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Save a Document in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to save a modified document to the specified file stream. It helps you to prevent your work from being lost. You need to provide the PDF file stream as a parameter to the [SaveDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SaveDocument_System_IO_Stream_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The modified document will be saved to the given file stream. 
+
+The following example explains how to save the modified document if the document needs to be saved in the application’s data directory. 
+
+{% tabs %}
+{% highlight c# %}
+private void SaveDocument()
+{
+	// Create a file stream to save the PDF document. Here, a file named "ModifiedDocument.pdf" is created in the application's data directory.
+	string fileName = Path.Combine(FileSystem.Current.AppDataDirectory, "ModifiedDocument.pdf");
+	using FileStream fileStream = File.Create(fileName);
+	
+	// Save the PDF document.
+	PdfViewer.SaveDocument(fileStream);
+}
+{% endhighlight %}
+{% endtabs %}
+
+To save a document asynchronously, you may use the [SaveDocumentAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SaveDocumentAsync_System_IO_Stream_System_Threading_CancellationToken_) method  of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+## Flatten annotations and form fields on save
+
+Flattening refers to the process of converting interactive elements, such as annotations and form fields, into a static, non-editable format within a PDF document. The SfPdfViewer allows you to save the annotations and form fields by flattening using the [FlattenOnSave](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_FlattenOnSave) API.
+
+### Flatten the annotation on save
+
+The [FlattenOnSave](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_FlattenOnSave) API helps you to flatten the specified annotation in a PDF document. The following code sample explains how to flatten the first annotation from the annotation collection.
+
+{% tabs %}
+{% highlight c# %}
+// Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+// Obtain the first annotation in the annotation collection.
+Annotation annotation = annotations[0];
+// set the FlattenOnSave true to flatten the annotation on save
+annotation.FlattenOnSave = true;
+{% endhighlight %}
+{% endtabs %}
+
+### Flatten form field on save
+
+The [FlattenOnSave](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.Annotation.html#Syncfusion_Maui_PdfViewer_Annotation_FlattenOnSave) API helps you to flatten the specified form field in a PDF document. The following code sample explains how to flatten the first form field from the form field collection.
+
+{% tabs %}
+{% highlight c# %}
+// Obtain the form field collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+ReadOnlyObservableCollection<FormField> formFields = PdfViewer.FormFields;
+// Obtain the first form field in the form fields collection.
+FormField formField = formFields[0];
+// set the FlattenOnSave true to flatten the formfield on save
+formField.FlattenOnSave = true;
+{% endhighlight %}
+{% endtabs %}
+
+### Limitation
+
+Currently, when saving a document by flattening that contains sticky note annotations, the sticky note icon always appears as the default [comment](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StickyNoteIcon.html#Syncfusion_Maui_PdfViewer_StickyNoteIcon_Comment) icon appearance in the saved document.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Scrolling.md b/Document-Processing/PDF/PDF-Viewer/maui/Scrolling.md
new file mode 100644
index 000000000..23a8dce19
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Scrolling.md
@@ -0,0 +1,139 @@
+---
+layout: post
+title: Scrolling in .NET MAUI PDF Viewer Control | Syncfusion
+description: Explore scrolling features in .NET MAUI PDF Viewer, including how to set scroll positions programmatically and detect scroll changes in real time.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Scrolling in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The .NET MAUI PDF Viewer provides built-in scrolling capabilities that allow users to navigate through PDF content smoothly. This guide covers how to control scroll positions programmatically, detect scroll changes, and manage scroll-related UI elements.
+
+W> Since the PDF Viewer includes built-in scrolling, avoid placing it inside other scrollable containers like [ScrollView](https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/scrollview?view=net-maui-8.0), as this may lead to unexpected behavior.
+
+## Programmatic Scrolling
+
+Use the [ScrollToOffset](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ScrollToOffset_System_Double_System_Double_) method to scroll to a specific horizontal and vertical offset. Offset values are measured in **device-independent units**. If the specified offset is invalid or out of bounds, the scroll action will be ignored and the viewer will retain its current position.
+
+{% tabs %}
+{% highlight c# %}
+// Scroll to position (100, 1000)
+PdfViewer.ScrollToOffset(100, 1000);
+{% endhighlight %}
+{% endtabs %}
+
+## Detect Scroll Changes
+
+You can monitor scroll changes using the `PropertyChanged` event. By monitoring the [HorizontalOffset](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_HorizontalOffset) and [VerticalOffset](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_VerticalOffset) property changes, you can respond to both the horizontal and vertical scroll movements respectively. 
+
+The following is the code example for subscribing to the `PropertyChanged` event.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer 
+    x:Name = "PdfViewer" PropertyChanged = "PdfViewer_PropertyChanged"/>
+
+{% endhighlight %}
+{% highlight C# %}
+
+void SubscribeToPropertyChangedEvent()
+{
+    SfPdfViewer PdfViewer = new SfPdfViewer();
+    // Subscribe to property changed event.
+    PdfViewer.PropertyChanged += PdfViewer_PropertyChanged;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code example illustrates how implement the event handler and to respond to both horizontal and vertical scroll changes:
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_PropertyChanged(object sender, 
+    System.ComponentModel.PropertyChangedEventArgs e)
+{
+    if (e.PropertyName == nameof(SfPdfViewer.HorizontalOffset))
+    {
+        // Horizontal scroll change detected
+        // Your code here
+    }
+    else if (e.PropertyName == nameof(SfPdfViewer.VerticalOffset))
+    {
+        // Vertical scroll change detected
+        // Your code here
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting End of Document
+
+You can determine if the control has reached the vertical end of the document by evaluating the following properties:
+
+* `VerticalOffset`: It provides the current vertically scrolled offset.
+* `ClientRectangle`: It provides the viewport area bounds.
+* `ExtentHeight`: It provides the overall vertical height of the PDF document.
+
+Below is the code example to detect whether the control has reached the vertical end of the document.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_PropertyChanged(object sender, 
+    System.ComponentModel.PropertyChangedEventArgs e)
+{
+    if (e.PropertyName == nameof(SfPdfViewer.VerticalOffset))
+    {
+        // Determine if the control has reached the vertical end of the document.
+        bool isVerticalEndReached = (PdfViewer.VerticalOffset + 
+            PdfViewer.ClientRectangle.Height >= PdfViewer.ExtentHeight);
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, for horizontal end detection, refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_PropertyChanged(object sender, 
+    System.ComponentModel.PropertyChangedEventArgs e)
+{
+    if (e.PropertyName == nameof(SfPdfViewer.HorizontalOffset))
+    {
+        // Determine if the control has reached the horizontal end of the document.
+        bool isHorizontalEndReached = (PdfViewer.HorizontalOffset + 
+            PdfViewer.ClientRectangle.Width >= PdfViewer.ExtentWidth);
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Scroll Head (Mobile Platforms)
+
+On Android and iOS platforms, the scroll head offers a quick way to move through pages. Users can drag the thumb indicator to scroll within the PDF document.
+
+![Scroll Head](Images\ScrollHead.png)
+
+### Page Navigation via Scroll Head
+
+Tap the scroll head to open a page navigation dialog. Enter a valid page number and tap **OK** to jump directly to that page.
+
+![Page navigation by tapping scroll head](Images\PageNavigationUsingScrollHead.gif)
+
+### Show or Hide the Scroll Head
+
+Use the [ShowScrollHead](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ShowScrollHead) property to control the visibility of the scroll head.
+
+{% tabs %}
+{% highlight c# %}
+// Hide the scroll head thumb
+PdfViewer.ShowScrollHead = false;
+{% endhighlight %}
+{% endtabs %}
+
+N> The scroll head is available only on **mobile platforms**. It is not supported on **Windows** or **macOS**.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Select-Deselect-Annotations.md b/Document-Processing/PDF/PDF-Viewer/maui/Select-Deselect-Annotations.md
new file mode 100644
index 000000000..26118455d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Select-Deselect-Annotations.md
@@ -0,0 +1,177 @@
+---
+layout: post
+title: Select and Deselect Annotations in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here all about select and deselect annotations in PDF documents using the .NET MAUI PDF Viewer (SfPdfViewer) control and its settings customization.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Select and Deselect Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+This section will go through the various functions available in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) for selecting and deselecting annotations in a PDF document.
+
+## Select an annotation
+
+You can select an annotation by simply tapping on the annotation using touch or a mouse. When the annotation is selected, the selection border (selector) appears, indicating that the annotation is selected. It also lets you move or resize the annotation if the actions are supported by the annotation type. The following image represents that the circle annotation is selected.
+
+![Selected annotation representation.](Images/Annotations/selected-circle.png)
+
+### Select an annotation programmatically
+
+You can select an annotation programmatically by providing the annotation instance as the parameter to the [SelectAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SelectAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method. The annotation instance can be found in the Annotations property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to select the first annotation in the annotation collection.
+
+{% tabs %}
+{% highlight c# %}
+void SelectAnnotation()
+{
+    // Obtain the annotation collection using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ReadOnlyObservableCollection<Annotation> annotations = PdfViewer.Annotations;
+    
+    // Select the first annotation in the collection using the `SelectAnnotation` method of the `SfPdfViewer` instance.
+    PdfViewer.SelectAnnotation(annotations[0]);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing selector appearance
+
+The [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) property of SfPdfViewer allows you to customize the default selector color. The following example explains how to customize the selector color for locked and unlocked annotations.
+
+{% tabs %}
+{% highlight c# %}
+void CustomizeSelectorAppearance()
+{
+    // Customize the selector color for unlocked annotations using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) property of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationSettings.Selector.Color = Colors.Blue;
+
+    // Customize the selector color for locked annotations using the `AnnotationSettings` property of `SfPdfViewer` instance..
+    PdfViewer.AnnotationSettings.Selector.LockedColor = Colors.LightGray;
+}	
+{% endhighlight %}
+{% endtabs %}
+
+The following images represent the customized selector color of an unlocked and locked circle annotation. 
+
+![Selector color of an unlocked annotation.](Images/Annotations/selected-unlocked.png)
+
+![Selector color of a locked annotation.](Images/Annotations/selected-locked.png)
+
+### AnnotationSelected event
+
+The [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event occurs when an annotation is selected interactively or programmatically. The selected annotation instance will be provided through the [Annotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationEventArgs.html#Syncfusion_Maui_PdfViewer_AnnotationEventArgs_Annotation) property of the event arguments. The following example explains how to wire the event to obtain and modify the selected annotation properties.
+
+{% tabs %}
+{% highlight c# %}
+void WireAnnotationSelectedEvent()
+{
+    // Wire the annotation selected event of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+    PdfViewer.AnnotationSelected += OnAnnotationSelected;
+}
+
+private void OnAnnotationSelected(object sender, AnnotationEventArgs e)
+{
+    // Obtain the selected annotation.
+    Annotation selectedAnnotation = e.Annotation;
+    // Modify the selected annotation properties.
+    selectedAnnotation.Color = Colors.Blue;
+    selectedAnnotation.Opacity = 0.5f; // 50% Opacity
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Remove the selected annotation
+
+You can remove the selected annotation programmatically by providing the selected annotation instance as the parameter to the [RemoveAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RemoveAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to remove the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+/// <summary>
+/// Remove the selected annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void RemoveSelectedAnnotation(Annotation selectedAnnotation)
+{
+    // Remove the annotation using the RemoveAnnotation method of the SfPdfViewer instance.
+    PdfViewer.RemoveAnnotation(selectedAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+* In desktop platforms like macOS and Windows, you can also use the keyboard shortcut `Delete` to remove the selected annotation from the PDF document directly.
+
+
+### Edit the selected annotation
+
+You can edit the properties of the selected annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit the selected annotation, assuming that the annotation is a circle type.
+
+{% tabs %}
+{% highlight c# %}
+/// <summary>
+/// Edits the selected annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance may be obtained from the annotation selected event</param>
+void EditSelectedAnnotation(Annotation selectedAnnotation)
+{
+    // Edit the annotation properties.
+    selectedAnnotation.Color = Colors.Green; //Stroke color.
+    selectedAnnotation.Opacity = 0.75f; // 75% Opacity
+
+    // Type cast to edit the properties of the specific annotation type. Here, the first annotation is a circle annotation.
+    if (selectedAnnotation is CircleAnnotation circleAnnotation)
+    {
+        circleAnnotation.FillColor = Colors.Red; //Inner fill color.
+        circleAnnotation.BorderWidth = 2; //Stroke thickness.
+        circleAnnotation.Bounds = new RectF(0, 0, 100, 100); // Bounds in PDF coordinates.
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Deselect an annotation
+
+You can deselect an annotation by simply tapping outside of its bounds using touch or a mouse. When the annotation is deselected, the selection border (selector) disappears, indicating that the annotation is deselected.
+
+* In desktop platforms like macOS and Windows, you can also use the keyboard shortcut `Esc` to deselect an annotation.
+
+
+### Deselect an annotation programmatically 
+
+You can deselect the annotation programmatically by providing the selected annotation instance as the parameter to the [DeselectAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_DeselectAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to deselect the selected annotation. 
+
+{% tabs %}
+{% highlight c# %}
+/// <summary>
+/// Deselect the selected annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void DeselectAnnotation(Annotation selectedAnnotation)
+{
+    // Deselect the annotation using the DeSelectAnnotation method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control.
+    PdfViewer.DeselectAnnotation(selectedAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### AnnotationDeselected event
+
+The [AnnotationDeselected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationDeselected) event occurs when an annotation is selected interactively or programmatically. The following example explains how to wire the event to obtain the deselected annotation.
+
+{% tabs %}
+{% highlight c# %}
+void WireAnnotationDeselectedEvent()
+{
+    // Wire the annotation deselected event of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) control.
+    PdfViewer.AnnotationDeselected += OnAnnotationDeselected;
+}
+
+private void OnAnnotationDeselected(object sender, AnnotationEventArgs e)
+{
+    // Obtain the deselected annotation if required.
+    Annotation deselectedAnnotation = e.Annotation;
+              
+    // You can handle your logics here…
+}
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Shapes.md b/Document-Processing/PDF/PDF-Viewer/maui/Shapes.md
new file mode 100644
index 000000000..c9e72d753
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Shapes.md
@@ -0,0 +1,272 @@
+---
+layout: post
+title: Shape Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Shape Annotations in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its types.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, maui pdf viewer, maui pdf view, .net maui annotations, .net maui shape annotations
+---
+
+# Shape Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The shape annotations feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove and modify shapes in the PDF document. This is useful for making corrections or emphasizing important points in the document. This section will go through the various types and functions available in the PDF Viewer for working with shape annotations.
+
+## Types of shapes
+
+The following shape annotation types are now available in the PDF Viewer.
+
+1.	Arrow
+2.	Circle.
+3.	Line.
+4.	Square.
+5.	Polygon.
+6.	Polyline.
+
+## Add shapes to a PDF document
+
+This section will cover how to add shape annotations to a PDF document using a toolbar as well as programmatically.
+
+###  Add shapes using the toolbar
+
+A shape annotation tool with seven different sorts of annotations (arrow, circle, square, line, polygon, polyline, and cloud) is accessible on the built-in toolbar. Users are able to select any of these shapes and draw them on the page at any desired location. Additionally, the toolbar allows modification of properties for both existing and new annotations of the selected shape.
+
+The following image represents how to add the circle annotations using the toolbar on the desktop.
+
+![Circle annotation for desktop](Images/Annotations/CircleAnnotationDesktop.gif)
+
+The following image represents how to add the circle annotations using the toolbar on mobile.
+
+![Circle annotation for mobile](Images/Annotations/CircleAnnotationMobile.gif)
+
+### Add shapes without using the toolbar
+
+You can interactively draw and add shape annotations to a PDF document by touch pointer or by dragging the mouse down. The following steps explain how to draw a circle-shaped annotation on a PDF. Similarly, you can draw other shapes like arrows, lines, and rectangles.
+
+1.	Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the SfPdfViewer to any shape (say [Circle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Circle)). It activates the circle drawing mode on the control.
+2.	Place your finger (or mouse) on the screen where you want to start drawing the circle.
+3.	Draw the circle by dragging the finger (or cursor) across the screen.
+4.	Finish the circle by releasing the finger (or cursor).
+5.	Repeat steps 2-4, if you want to create multiple circles on other areas during the drawing mode.
+6.	Once you have done this, set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). This will disable the circle drawing mode and save the drawn circles to the PDF pages as circle annotations. 
+7.	You can later move, resize, or edit the annotation.
+
+### Add Polygon and Polyline shapes
+
+Adding polygon and polyline shapes with touch or mouse will vary slightly from adding other shape types. To add it interactively, refer to the following steps.
+
+1.	Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) to [Polygon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Polygon) or [Polyline](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Polyline). It sets the control’s drawing mode to polygon or polyline, respectively.
+2.	To begin drawing the shape, tap the desired location on the screen (using touch or mouse).
+3.	Drag the mouse pointer to a different location or just tap there. This will complete the first line segment.
+4.	To create multiple connected line segments, repeat step 3 at the necessary locations.
+5.	Double tap to finish drawing the shape. The shape will be added to the PDF page. 
+6.	To create multiple shapes in other areas during the drawing mode, repeat steps 2-5.
+7.	Once you have done this, set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) to disable the drawing mode.
+8.	You can later move, resize, or edit the annotation.
+
+#### Enable or disable shape annotation (drawing) mode
+
+The following code explains how to enable the [circle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Circle) annotation mode. Similarly, you can do the same for other annotations.
+
+{% tabs %}
+{% highlight C# %}
+// Enable or activate the circle drawing mode.
+void EnableCircleDrawingMode()
+{
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance to [Circle](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Circle).
+    PdfViewer.AnnotationMode = AnnotationMode.Circle;
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the circle annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Disable or deactivate the circle drawing mode.
+void DisableCircleDrawingMode()
+{
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance to [None] (https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None).
+    PdfViewer.AnnotationMode = AnnotationMode.None;
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Add shapes programmatically
+
+You can create and add a circle annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create a circle annotation and add it to the first page of a PDF document. Similarly, you can add other shapes also.
+
+{% tabs %}
+{% highlight C# %}
+CircleAnnotation CreateCircleAnnoation()
+{
+    int pageNumber = 1;
+    // Define the bounds for the circle in the PDF coordinates.
+    RectF circleBounds = new RectF(10, 10, 100, 100); 
+
+    // Create a circle annotation.
+    CircleAnnotation annotation = new CircleAnnotation(circleBounds, pageNumber);
+    
+    // Set the appearance for the circle annotation.
+    annotation.Color = Colors.Red; // set the stroke color
+    annotation.FillColor = Colors.Green; // set the inner fill color.
+    annotation.BorderWidth = 2; // set the stroke thickness.
+    annotation.Opacity = 0.75f; // set the opacity 75%
+
+    return annotation;
+}
+
+void AddCircleAnnotation()
+{
+    Annotation circleAnnotation = CreateCircleAnnoation();
+
+    //Add the circle annotation to the PDF document using the AddAnnotation method of the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(circleAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Shape annotation settings
+
+In the shape annotation mode, the shape annotations will be drawn with a default appearance. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance before drawing on the document, you can change its default settings using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). For that, you need to obtain the default shape annotation settings.
+
+The following example explains how to obtain the default circle annotation settings and modify some of its properties. Similarly, you can also modify the properties of other shape annotations.
+
+{% tabs %}
+{% highlight C# %}
+void CustomizeDefaultCircleSettings()
+{
+    //Obtain the default circle annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    ShapeAnnotationSettings circleAnnotationSettings = PdfViewer.AnnotationSettings.Circle;
+
+    //Modify the default properties.
+
+    circleAnnotationSettings.Color = Colors.Blue; // Set the default stroke color to blue.
+    circleAnnotationSettings.FillColor = Colors.Red; // Set the inner fill color to red.
+    circleAnnotationSettings.BorderWidth = 2; // Set the default stroke thickness to 2.
+    circleAnnotationSettings.Opacity = 0.75f; // Set the default opacity to 75%.
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Edit the selected shape annotation
+
+You can edit the properties of the selected shape annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit some of the properties of the selected circle annotation. Similarly, you can modify the other shape annotation properties.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Edit the selected circle annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void EditSelectedCicleAnnotation(Annotation selectedAnnotation)
+{
+    // Typecast the selected annotation as a circle annotation.
+    if (selectedAnnotation is CircleAnnotation circleAnnotation)
+    {
+        circleAnnotation.Color = Colors.Blue; // Change the color to blue.
+        circleAnnotation.BorderWidth = 1; // Change the stroke thickness to 1.
+        circleAnnotation.Opacity = 0.75f; // Change the opacity to 75%.
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Border styles for shape annotation
+
+[SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to change the shape annotations' border style. Currently, it provides support for the following border styles.
+1.	Cloudy
+2.	Solid
+
+N> By default, the border style of the shape annotations is solid. The value of `BorderStyle` property is applicable only for square and polygon annotations only and it does not affect other shape annotations such as circle, line, arrow, and polyline annotations.
+
+### Draw cloud shaped annotation
+
+To draw a cloud annotation, set the annotation mode to either [AnnotationMode.Square](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html) or [AnnotationMode.Polygon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html). Then you should set the `BorderStyle` property of the shape annotation settings to `BorderStyle.Cloudy`. The following sample code illustrates how to draw a rectangle and polygon annotation with the cloud border style.
+
+{% tabs %}
+{% highlight C# %}
+
+    // Draw square cloud annotation
+	SfPdfViewer pdfViewer = new SfPdfViwer();
+	pdfViewer.AnnotationMode = AnnotationMode.Square;
+	pdfViewer.AnnotationSettings.Rectangle.BorederStyle = BorderStyle.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight C# %}
+
+	// Draw polygon cloud annotation
+	pdfViewer.AnnotationMode = AnnotationMode.Polygon;
+	pdfViewer.AnnotationSettings.Rectangle.BorederStyle = BorderStyle.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Change the border style for the selected polygon annotation
+
+You can change the border style of the selected polygon annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to change the border style of selected polygon annotation. Similarly, you can modify the square annotations border style.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Change the selected shape annotation border style.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void ChangeBorderStyleOfSelectedPolygonAnnotation(Annotation selectedAnnotation)
+{
+    // Typecast the selected annotation as polygon annotation. 
+   if (selectedAnnotation is PolygonAnnotation polygonAnnotation) 
+   {
+	   polygonAnnotation.BorderStyle = BorderStyle.Cloudy; // Change the border style to cloud.
+   } 
+
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Add cloud border style polygon annotation from UI
+
+You can add cloud annotation to a PDF document using the built-in toolbar.
+
+#### Mobile toolbar
+![Drawing cloud in mobile](Images/Annotations/mobile-cloud.gif)
+
+
+### Add cloud shape annotation programmatically
+You can create and add cloud polygon annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create a cloud polygon annotation and add it to the first page of a PDF document. Similarly, you can add a square also.
+
+{% tabs %}
+{% highlight C# %}
+PolygonAnnotation  CreateCloudAnnoation()
+{
+    int pageNumber = 1;
+    // Define the points for the polygon in the PDF coordinates. 
+	List<PointF> polygonPoints = new List<PointF> 
+	{ new PointF(10, 10), 
+	  new PointF(100, 10), 
+	  new PointF(100, 100), 
+	  new PointF(10, 100) 
+	};
+    // Create a cloud border style polygon annotation.
+
+    PolygonAnnotation  annotation = new PolygonAnnotation (polygonPoints, pageNumber);
+    
+    // Set the border style appearance for the polygon annotation.
+    annotation.BorderStyle = BorderStyle.Cloudy // set the border style
+
+    return annotation;
+}
+
+void AddCloudAnnotation()
+{
+    Annotation polygonAnnotation  = CreateCloudAnnoation();
+
+    //Add the cloud border style polygon annotation to the PDF document using the AddAnnotation method of the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(polygonAnnotation );
+}
+{% endhighlight %}
+{% endtabs %}
+
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Show-Hide.md b/Document-Processing/PDF/PDF-Viewer/maui/Show-Hide.md
new file mode 100644
index 000000000..471568c3c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Show-Hide.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title: Show and Hide annotations in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here about showing and hiding annotations in a document in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+# Show and Hide annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+ 
+You can manage the visibility of annotations using the `Hidden` property. It helps you to hide annotations containing confidential data when sharing documents externally or presenting documents, ensuring data privacy and security. Also, it makes it easier to read the documents that are cluttered with more annotations. Like other annotation properties, you can undo and redo the hiding or showing actions. Additionally, when an annotation is locked, it cannot be hidden. Annotations that are hidden will remain hidden during import, export, printing, and saving.
+
+## Hide annotations
+
+To hide annotations in the document, set the `Hidden` property of the annotations to `true`.
+
+### Hide all annotations 
+
+While reviewing and presenting documents, all annotations can be hidden to improve the focus on the content and to avoid distraction caused by cluttered annotations. The following example explains how to hide all annotations in a PDF document. 
+
+{% tabs %}
+{% highlight xaml %}
+<Grid> 
+    <Grid.RowDefinitions> 
+        <RowDefinition Height="Auto" /> 
+        <RowDefinition Height="*" /> 
+    </Grid.RowDefinitions> 
+    <Button Text="HideAllAnnotations" Clicked="HideAllAnnotationButton_Clicked" VerticalOptions="Center" HorizontalOptions="Center" Grid.Row="0"/> 
+    <syncfusion:SfPdfViewer x:Name="PdfViewer" DocumentSource="{Binding PdfDocumentStream}" Grid.Row="1" /> 
+</Grid> 
+{% endhighlight %}
+
+{% highlight C# %}
+private void HideAllAnnotationsButton_Clicked(object sender, EventArgs e) 
+{ 
+    ReadOnlyObservableCollection<Annotation> annotations=PdfViewer.Annotations; 
+    foreach(Annotation annotation in annotations) 
+    { 
+        annotation.Hidden = true; 
+    } 
+} 
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to show all the annotations, set the `Hidden` property value to `false`.
+
+### Hide specific annotation 
+
+While collaborating, the `Hidden` property of annotations can be used to show and hide annotations from specific authors. The following example illustrates how to hide annotations from a specific author by accessing the annotation's `Hidden` property. 
+
+{% tabs %}
+{% highlight xaml %}
+<Grid> 
+    <Grid.RowDefinitions> 
+        <RowDefinition Height="Auto" /> 
+        <RowDefinition Height="*" /> 
+    </Grid.RowDefinitions> 
+    <Button Text="HideAnnotation" Clicked="HideAnnotationButton_Clicked" VerticalOptions="Center" HorizontalOptions="Center" Grid.Row="0"/> 
+    <syncfusion:SfPdfViewer x:Name="PdfViewer" DocumentSource="{Binding PdfDocumentStream}" Grid.Row="1" /> 
+</Grid> 
+{% endhighlight %}
+
+{% highlight C# %}
+private void HideAnnotationButton_Clicked(object sender, EventArgs e) 
+{ 
+  ReadOnlyObservableCollection<Annotation> annotationList = PdfViewer.Annotations; 
+  foreach (Annotation annotation in annotationList) 
+  { 
+     if (annotation.Author == "John") 
+        { 
+            annotation.Hidden = true; 
+        } 
+  }            
+}
+{% endhighlight %}
+{% endtabs %}
+
+* Similarly, to show the annotation, set the `Hidden` property value to `false`. 
+
+N> * On iOS and Mac, while printing a document containing hidden annotations, the hidden annotations will be visible in the print preview or the printed document. 
+N> * When a document containing hidden annotations is loaded, it will not only disappear in the UI but also will not be added to the [SfPdfViewer.Annotations](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_Annotations) collection as well. 
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Signature.md b/Document-Processing/PDF/PDF-Viewer/maui/Signature.md
new file mode 100644
index 000000000..6a7bec214
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Signature.md
@@ -0,0 +1,221 @@
+---
+layout: post
+title: Electronic Signature in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Electronic Signature in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its types.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Electronic Signature in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The electronic signature feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove signatures in the PDF document. This section will go through the various types and functions available in PDF Viewer for working with signature.
+
+## Types of electronic signature
+
+The following signature types are now available in the PDF Viewer.
+
+1.	Handwritten signature.
+2.	Text signature.
+3.  Image signature.
+
+## Add signature by UI interaction
+
+This section will go through how to add a signature by UI interaction to a PDF document.
+
+You can add a signature to a PDF document with UI interaction using the signature dialog. The following steps explain how to add signature on a PDF.
+
+1. Set the AnnotationMode property of the SfPdfViewer to [Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Signature). It activates the signature mode on the control and signature dialog box will be open.
+2. Create a signature in any one of the types.
+3. You can customize the color of the signature for handwritten and text signature types.
+4. Tap on the page to add the created signatures.
+5. After creating the signature or closing the dialog, the signature mode will be disabled, and the AnnotationMode will be changed to None.
+6. You can later move, resize, or delete the signature.
+
+The following code explains how to enable the [Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Signature) annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+// Enable or activate the signature mode.
+void EnableSignatureMode()
+{
+    // Set the annotation mode to signature using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.Signature;
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the signature mode.
+
+{% tabs %}
+{% highlight c# %}
+// Disable or deactivate the ink drawing mode.
+void DisableSignatureMode()
+{
+    // Set the annotation mode to none using the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance.
+    PdfViewer.AnnotationMode = AnnotationMode.None;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Add a signature programmatically
+
+This section will go through how to add a signature programmatically to a PDF document.
+
+### Add a handwritten signature 
+
+To add a handwritten signature, you can create and add an ink annotation to a PDF document programmatically using the AddAnnotation method of the SfPdfViewer. Additionally, in the case of a signature, you should set the [IsSignature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html#Syncfusion_Maui_PdfViewer_InkAnnotation_IsSignature) API of the ink annotation to true. The following example explains how to create an ink annotation and add it as a signature to the first page of a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+int pageNumber = 1;
+    
+// Provide the points collection to draw a stroke. Here, a single stroke is created.
+List<List<float>> pointsCollection = new List<List<float>>()
+{
+   new List<float> { 40, 300, 60, 100, 40, 50, 40, 300 }
+};
+
+// Create an ink annotation.
+InkAnnotation annotation = new InkAnnotation(pointsCollection, pageNumber);
+
+// Set [IsSignature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html#Syncfusion_Maui_PdfViewer_InkAnnotation_IsSignature) as true
+annotation.IsSignature = true;
+
+// Add the ink annotation to the PDF page as a signature
+PdfViewer.AddAnnotation(annotation);
+{% endhighlight %}
+{% endtabs %}
+
+### Add image signature
+
+To add an image signature, you can create and add a custom stamp annotation to a PDF document programmatically using the AddAnnotation method of the SfPdfViewer. Additionally, in the case of a signature, you should set the [IsSignature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html#Syncfusion_Maui_PdfViewer_InkAnnotation_IsSignature) API of the stamp annotation to true. The following example explains how to create a custom stamp annotation and add it as a signature to the first page of a PDF document
+
+{% tabs %}
+{% highlight c# %}
+int pageNumber = 1;
+
+// Define the position and size for the stamp to be placed in the PDF page.
+RectF bounds = new RectF(50, 50, 200, 100);
+
+// Create an image stream from the image to be used as a stamp.
+Stream imageStream = this.GetType().Assembly.GetManifestResourceStream("Annotations.Assets." + "Logo.png");
+
+// Create a custom stamp annotation using the image stream.
+StampAnnotation customStamp = new StampAnnotation(imageStream,pageNumber,bounds);
+
+// Set [IsSignature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html#Syncfusion_Maui_PdfViewer_InkAnnotation_IsSignature) as true
+customStamp.IsSignature = true;
+
+// Add the stamp annotation to the PDF page as a signature
+PdfViewer.AddAnnotation(customStamp);
+{% endhighlight %}
+{% endtabs %}
+
+N> To add a text signature, you can use an image containing the signature text . You can then add it in the same manner as an image signature.
+
+## Signature modal view
+
+The signature modal view appears when a signature needs to be created. The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) notifies when the modal view is appearing and disappearing through events. The events help you in hiding and showing elements that are part of the app UI that are not necessary as long as the modal view is visible.
+
+**Mobile:**
+![Signature pad modal view mobile](Images/Annotations/signature-pad-modal-view-mobile.png)
+
+**Desktop:**
+![Signature pad modal view  desktop](Images/Annotations/signature-pad-modal-view-desktop.png)
+
+The `SfPdfViewer.SignatureModalViewAppearing` event is triggered whenever the modal view opens. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.SignatureModalViewAppearing += PdfViewer_SignatureModalViewAppearing;
+
+private void PdfViewer_SignatureModalViewAppearing(object? Sender, FormFieldModalViewAppearingEventArgs e)
+{
+    // Implement the logic to hide unwanted UI elements such as toolbar items add in the app UI. 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `SfPdfViewer.SignatureModalViewDisappearing` event is triggered when the modal view is closing.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.SignatureModalViewDisappearing += PdfViewer_SignatureModalViewDisappearing;
+
+Private void PdfViewer_SignatureModalViewDisappearing(object? Sender, EventArgs e)
+{
+    // Implement the logic to show the UI elements that were hidden from the SignatureModalViewAppearing event handler.
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+### Suppressing the signature modal view and implement your own UI
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to suppress the signature modal view and use your own UI in its place. This can be achieved by setting the `FormFieldModalViewAppearingEventArgs.Cancel` property to `true` in the `SignatureModalViewAppearing` event handler. 
+
+The below code snippet illustrates suppressing the signature modal view and using a UI implemented in the app in its place. In this illustration, it is assumed that the signature is produced in the form of an image stream when the user completes drawing the signature in the custom dialog. When the PDF viewer is tapped, the created signature is added as a stamp annotation.  
+
+{% tabs %}
+{% highlight c# %}
+
+Stream signatureImageStream;
+pdfviewer.SignatureModalViewAppearing += PdfViewer_SignatureModalViewAppearing;
+pdfViewer.Tapped += PdfViewer_Tapped;
+
+private void PdfViewer_SignatureModalViewAppearing(object? Sender, FormFieldModalViewAppearingEventArgs e)
+{
+    e.Cancel = true;
+    // Implement your own UI for creating a signature.
+    ShowCustomDialog();
+}
+
+Private void customDialogOkButton_Clicked(object sender, EventArgs e)
+{
+   //Get the signature in the form of a Stream instance (possibly converted from an image of the user's free hand drawing) 
+   signatureImageStream = GetSignatureImageStream();
+}
+
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+    PointF position = e.PagePosition;
+    int pageNumber = e.PageNumber;
+    StampAnnotation stamp = new StampAnnotation(stampImageStream, pageNumber,  new RectF(position.X, position.Y, 200, 200));
+    pdfViewer.AddAnnotation(stamp);
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+## Signature Created Event
+
+The [SignatureCreated](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SignatureCreated) event in the .NET MAUI PDF Viewer provides a way to access and customize the properties of a handwritten signature immediately after it is created using built-in signature dialog. This is especially helpful when you want to apply consistent styling such as stroke color, border width, or opacity to all handwritten signatures.
+
+To customize the signature, check whether the [e.Signature](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SignatureCreatedEventArgs.html#Syncfusion_Maui_PdfViewer_SignatureCreatedEventArgs_Signature) object is of type [InkAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.InkAnnotation.html), which represents a handwritten ink-based signature. If it is, you can modify its properties as needed.
+
+The following example demonstrates how to handle the SignatureCreated event and apply custom styling to a handwritten signature:
+
+{% tabs %}
+{% highlight c# %}
+// Subscribe to the SignatureCreated event to customize the appearance of handwritten signatures.
+pdfViewer.SignatureCreated += PdfViewer_SignatureCreated;
+
+// Event handler triggered when a signature is created in the PDF Viewer.
+private void PdfViewer_SignatureCreated(object? sender, SignatureCreatedEventArgs e)
+{
+    // Ensure the signature is valid and is of type InkAnnotation (used for handwritten signatures).
+    if (e.Signature is InkAnnotation handWrittenSignature)
+    {
+        // Customize the appearance of the handwritten signature.
+        handWrittenSignature.BorderWidth = 6;         // Set the thickness of the signature stroke.
+        handWrittenSignature.Color = Colors.Yellow;   // Set the stroke color to yellow.
+        handWrittenSignature.Opacity = 0.75f;         // Set the transparency level of the signature.
+    }
+}
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Stamps.md b/Document-Processing/PDF/PDF-Viewer/maui/Stamps.md
new file mode 100644
index 000000000..239089628
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Stamps.md
@@ -0,0 +1,261 @@
+---
+layout: post
+title: Stamp Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Stamp Annotations in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its types.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Stamp Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The stamp annotations feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove and modify stamps or custom images in the PDF document. This section will go through the various types and functions available in PDF Viewer for working with stamp annotations.
+
+## Types of stamps
+
+The following stamp annotation types are now available in the PDF Viewer.
+
+1.	Standard (or built-in) stamps.
+2.	Custom (or image) stamps.
+
+## Add stamps to a PDF document
+
+This section will go through how to add stamp annotations to a PDF page using toolbar as well as programmatically.
+
+### Add standard stamps using the toolbar
+
+On the built-in toolbar, a tool for standard stamps is available that contains 18 standard stamps, which are most commonly used in documents. Using that, you can choose your standard stamp and add it to the tapped position.
+
+The following example explains how to choose a standard stamp and add it to the first page of a PDF document using the built-in toolbar on the mobile.
+
+![Mobile Standard Stamp](Images/MobileStamp.gif)
+
+### Add custom stamps using the toolbar
+
+On the built-in toolbar, you can create your own custom stamp using the built-in dialog box and add it to a PDF document.
+
+The following example explains how to create a custom stamp using the built-in dialog box and add it to a PDF document on the desktop.
+
+![Desktop Custom Stamp](Images/DesktopCustomStamp.gif)
+
+The following example explains how to create a custom stamp using the built-in dialog box and add it to a PDF document on the mobile.
+
+![Mobile Custom Stamp](Images/MobileCustomStamp.gif)
+
+### Add standard stamps without using the toolbar
+
+There are 18 standard stamp types available in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) that are most commonly used in documents. The appropriate standard stamp type can be selected from the [StampType](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StampType.html) enumeration. 
+
+The following example explains how to create an [Approved](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StampType.html#Syncfusion_Maui_PdfViewer_StampType_Approved) standard stamp and add it to the first page of a PDF document using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+{% tabs %}
+{% highlight C# %}
+StampAnnotation CreateApprovedStandardStamp()
+{
+    int pageNumber = 1;
+
+    // Define the position to place the stamp.
+    PointF position = new PointF(100, 100);
+
+    // Create an approved standard stamp.
+    StampAnnotation approvedStamp = new StampAnnotation(StampType.Approved, pageNumber, position);
+    
+    //return the stamp
+    return approvedStamp;
+}
+
+void AddStampAnnotation()
+{
+    StampAnnotation stampAnnotation = CreateApprovedStandardStamp();
+
+    // Add the stamp to the PDF document using the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(stampAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+The following image represents the approved standard stamp appearance in the PDF document.
+
+![Standard Approved Stamp.](Images/Annotations/approved-stamp.png)
+
+### Add custom stamps without using toolbar
+
+You can create a custom stamp from any image and add it to a PDF document. The following example explains how to create a custom stamp from an image in the application and add it to a PDF document using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+{% tabs %}
+{% highlight C# %}
+StampAnnotation CreateCustomStamp()
+{
+    int pageNumber = 1;
+
+    // Define the position and size for the stamp to be placed on the PDF page.
+    RectF bounds = new RectF(50, 50, 200, 100);
+
+    // Create an image stream from the image to be used as a stamp.
+    Stream imageStream = this.GetType().Assembly.GetManifestResourceStream("Annotations.Assets." + "Logo.png");
+
+    // Create a custom stamp annotation using the image stream.
+    StampAnnotation customStamp = new StampAnnotation(imageStream,pageNumber,bounds);
+
+    // Return the stamp annotation.
+    return customStamp;
+}
+
+void AddCustomStampAnnotation()
+{
+    StampAnnotation stampAnnotation = CreateCustomStamp();
+
+    // Add the stamp to the PDF document using the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(stampAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Add a view as custom stamps programmatically
+
+You can create a custom stamp from any view, such as Button, Entry, Label, Image, or any other view, and add it to a PDF document. The following example explains how to create a custom stamp from a button view in the application and add it to a PDF document using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+{% tabs %}
+{% highlight C# %}
+StampAnnotation CreateCustomStamp()
+{
+    int pageNumber = 1;
+
+    // Define the bounds for the stamp to be placed in the PDF page.
+    RectF bounds = new RectF(100, 100, 200, 100);
+
+    // Create a button to be used as the visual content of the stamp.
+    var button = new Button
+   {
+    Text = "Click Me",
+    BackgroundColor = Colors.Blue,
+   };
+
+    // Create a custom stamp annotation using the button view.
+    StampAnnotation customStamp = new StampAnnotation(button,pageNumber,bounds);
+
+    // Return the stamp annotation.
+    return customStamp;
+}
+
+void AddCustomStampAnnotation()
+{
+    StampAnnotation stampAnnotation = CreateCustomStamp();
+
+    // Add the stamp to the PDF document using `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(stampAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> * The view will be converted as an image in the saved PDF document. The view becomes read only once saved, and its contents cannot be edited after saving the document.  
+N> * Interactions within the view such as button clicks or text entry will not function inside the PDF Viewer.
+
+## Edit the selected stamp
+
+You can edit the properties of the selected stamp annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. 
+
+The following example shows how to edit some of the properties of the selected stamp annotation. Similarly, you can modify the other properties if required.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Edit the selected stamp annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void EditSelectedStampAnnotation(Annotation selectedAnnotation)
+{
+    // Typecast the selected annotation as stamp annotation.
+    if (selectedAnnotation is StampAnnotation stampAnnotation)
+    {
+        // Change the opacity to 75%.
+        stampAnnotation.Opacity = 0.75f;
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> Changing the color of a stamp annotation after it has been added to a PDF is not supported due to the predefined nature of standard stamps. These stamps use fixed colors to ensure consistency and convey distinct meanings. As a work around, you can create a [Custom stamp](https://help.syncfusion.com/maui/pdf-viewer/stamps#add-custom-stamps-using-the-toolbar) which allows users to design stamps with user-defined colors and text.
+
+## Custom stamp modal view
+
+The custom stamp modal view appears when the user wants to create a custom stamp from a typed text. The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) notifies when the modal view is appearing and disappearing through events. The events help you in hiding and showing elements that are part of the app UI that are not necessary as long as the modal view is visible.
+
+**Mobile:**
+
+![Custom stamp modal view mobile](Images/Annotations/custom-stamp-modal-view-mobile.png)
+
+**Desktop:**
+
+![Custom stamp modal view desktop](Images/Annotations/custom-stamp-modal-view-desktop.png)
+
+The `SfPdfViewer.CustomStampModalViewAppearing` event is triggered when the modal view opens for creating a custom stamp.
+
+{% tabs %}
+{% highlight c# %}
+
+PdfViewer.CustomStampModalViewAppearing += PdfViewer_CustomStampModalViewAppearing;
+
+private void PdfViewer_CustomStampModalViewAppearing(object? sender, AnnotationModalViewAppearingEventArgs e)
+{
+    // Implement the logic to hide unwanted UI elements such as toolbar items added to the app UI. 
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+The `SfPdfViewer.CustomStampModalViewDisappearing` event is triggered whenever the modal view for stamp annotation is closing.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.CustomStampModalViewDisappearing += PdfViewer_CustomStampModalViewDisappearing;
+
+private void PdfViewer_CustomStampModalViewDisappearing(object? sender, EventArgs e)
+{
+    // Implement the logic to show the UI elements that were hidden from the CustomStampModalViewAppearing event handler.
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+### Suppressing the custom stamp modal view and implementing your own UI
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to suppress the custom stamp modal view and use your own UI in its place. This can be achieved by setting the `AnnotationModalViewAppearingEventArgs.Cancel` property to `true` in the `CustomStampModalViewAppearing` event handler. 
+
+The below code snippet illustrates suppressing the custom stamp modal view and using a UI implemented in the app in its place. In this illustration, when the user types a text in your own dialog and clicks the ok button, the text is converted into an image stream and a StampAnnotation instance is created. When the PDF viewer is tapped, the stamp annotation is added in the tapped position. 
+
+{% tabs %}
+{% highlight c# %}
+
+Stream stampImageStream;
+pdfviewer.CustomStampModalViewAppearing += PdfViewer_CustomStampModalViewAppearing;
+pdfViewer.Tapped += PdfViewer_Tapped;
+
+private void PdfViewer_CustomStampModalViewAppearing(object? Sender, AnnotationModalViewAppearingEventArgs e)
+{
+    e.Cancel = true;
+    // Implement your own UI for the sticky note editor and show it.
+    ShowCustomDialog();
+}
+
+Private void customDialogOkButton_Clicked(object sender, EventArgs e)
+{
+   //Get the typed text from the custom dialog 
+   string newText = customDialog.Text;
+
+   // Implement the logic to create an image stream instance from the typed text. 
+   stampImageStream = GetStampAnnotationFromText();
+}
+
+private void PdfViewer_Tapped(object sender, GestureEventArgs e)
+{
+    PointF position = e.PagePosition;
+    int pageNumber = e.PageNumber;
+    StampAnnotation stamp = new StampAnnotation(stampImageStream, pageNumber,  new RectF(position.X, position.Y, 200, 200));
+    pdfViewer.AddAnnotation(stamp);
+}
+
+{% endhighlight %} 
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Sticky-Notes.md b/Document-Processing/PDF/PDF-Viewer/maui/Sticky-Notes.md
new file mode 100644
index 000000000..fd27760c0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Sticky-Notes.md
@@ -0,0 +1,223 @@
+---
+layout: post
+title: Sticky Note Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Sticky Note Annotations in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its functionalities.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Sticky Note Annotation in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The sticky note annotation feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove, and modify sticky notes in a PDF document. This feature will help add comments or notes to specific parts of a document to clarify complex concepts, terms, or ideas. This section will cover the various functions available in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) for working with sticky note annotations.
+
+## Types of sticky notes
+
+The following sticky note icon types are currently available in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The icon types can be selected from the [StickyNoteIcon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.StickyNoteIcon.html) enumeration.
+
+![Sticky note icon types](Images/Annotations/sticky-note-icon-types.png)
+
+## Add sticky notes
+
+This section will go through how to add sticky note annotations to a PDF page using toolbar as well as programmatically. 
+
+### Add the sticky note annotations using the toolbar 
+
+On the built-in toolbar, a sticky note annotation tool is available. Using that, you can add the sticky note annotation to the tapped position. Additionally, the toolbar shows the option to modify the properties of existing or new sticky note annotations. 
+
+The following image represents how to add the sticky note annotations using the toolbar on the desktop. 
+
+![Sticky Note Desktop](Images/stick.gif)
+
+The following image represents how to add the sticky note annotation using the toolbar on mobile.
+
+![Sticky Note Mobile](Images/stickymobile.gif)
+
+### Add the sticky note annotation without using the toolbar
+
+You can add sticky note annotations to a PDF document by tapping with a touch (or mouse down) on a PDF page. The following steps explain how to add sticky note annotations to a PDF: 
+1. Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the SfPdfViewer to [StickyNote](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_StickyNote). This activates the sticky note mode on the control.
+2. Tap (or mouse down) on a PDF page, where you want to add the sticky note annotation. This will add a sticky note with a default style and a popup will be displayed to write and submit the text.
+3. Once the sticky note is added, [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) is automatically changed to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None).
+4. You can later select and edit the annotations if required.
+5. If you need to disable the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) of [StickyNote](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_StickyNote), you need to change the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). 
+
+The following code explains how to enable the sticky note mode
+
+{% tabs %}
+{% highlight C# %}
+// Enable or activate the sticky note mode. 
+void EnableStickyNoteMode() 
+{ 
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance to [StickyNote](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_StickyNote). 
+    PdfViewer.AnnotationMode = AnnotationMode.StickyNote; 
+} 
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code explains how to disable the sticky note mode:  
+
+{% tabs %}
+{% highlight C# %}
+// Disable or deactivate the sticky note mode. 
+void DisableStickyNoteMode() 
+{ 
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). 
+    PdfViewer.AnnotationMode = AnnotationMode.None; 
+} 
+{% endhighlight %}
+{% endtabs %}
+
+### Add sticky note annotation programmatically 
+
+You can create and add a sticky note annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create a sticky note with a comment icon and add it to the first page of a PDF document.
+
+{% tabs %}
+{% highlight C# %}
+StickyNoteAnnotation CreateCommentStickyNote()
+{
+    int pageNumber = 1;
+        
+    // Set the position of the sticky note on the PDF page. 
+    PointF position = new PointF(100, 100);
+
+    // Set the icon as Comment.
+    StickyNoteIcon icon = StickyNoteIcon.Comment;
+
+    // Set the text for the sticky note.
+    string text = "Links are not working and need to be updated";
+        
+    return new StickyNoteAnnotation(icon, text, pageNumber, position);
+}
+
+void AddStickyNote()
+{
+    StickyNoteAnnotation stickyNote = CreateCommentStickyNote();
+    PdfViewer.AddAnnotation(stickyNote);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Sticky note annotation settings 
+
+In the sticky note annotation mode, the annotation will be added with a default appearance. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance before adding sticky note annotations to the document, you can change its default settings using the [SfPdfViewer.AnnotationSettings.StickyNote](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSettings) For that, you need to obtain the default sticky note annotation settings.
+
+The following example explains how to obtain the default sticky note annotation settings and modify some of their properties. Similarly, you can modify all the other properties.
+
+{% tabs %}
+{% highlight C# %}
+void CustomizeDefaultStickyNoteSettings() 
+{ 
+    // Obtain the default sticky note annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) instance. 
+    StickyNoteAnnotationSettings stickyNoteSettings = PdfViewer.AnnotationSettings.StickyNote; 
+
+    // Modify the default properties. 
+    stickyNoteSettings.Icon = StickyNoteIcon.Comment; // Set the default icon to Comment. 
+    stickyNoteSettings.Color = Colors.Yellow; //Stroke color 
+    stickyNoteSettings.Opacity = 0.75f; // 75% Opacity 
+} 
+{% endhighlight %}
+{% endtabs %}
+
+## Edit the selected sticky note annotation
+
+### Edit the text using UI interaction
+
+When you double-tap the selected sticky note, the text editor opens. Edit the text and click &#34;Save&#34; to modify the text.
+
+![Sticky note editing](Images/Annotations/sticky-notes-edit.gif)
+
+### Edit sticky note properties programmatically
+
+Edit the properties of the selected sticky note annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit the text and icon of the selected sticky note annotation. Similarly, you can modify the other properties.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary> 
+/// Edit the selected sticky note annotation. 
+/// </summary> 
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>    
+
+void EditSelectedStickyNoteAnnotation(Annotation selectedAnnotation)
+{
+    if (selectedAnnotation is StickyNoteAnnotation selectedStickyNote)
+    {
+        selectedStickyNote.Icon = StickyNoteIcon.Note;
+        selectedStickyNote.Text = "Changed the comment to note.";
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Sticky note modal view
+
+The sticky note modal view appears when text needs to be input by the user for creating and editing sticky note annotations on Android and iOS platforms. The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) notifies when the modal view is appearing and disappearing through events. The events help you hide and show elements that are part of the app UI that are not necessary as long as the modal view is visible. 
+
+![Sticky note modal view](Images/Annotations/sticky-note-modal-view.png)
+
+The `SfPdfViewer.StickyNoteModalViewAppearing` event is triggered whenever the modal view opens for either creating or editing a sticky note annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.StickyNoteModalViewAppearing += PdfViewer_StickyNoteModalViewAppearing;
+
+private void PdfViewer_StickyNoteModalViewAppearing(object? Sender, AnnotationModalViewAppearingEventArgs e)
+{
+    // Implement the logic to hide unwanted UI elements such as toolbar items added to the app UI. 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `SfPdfViewer.StickyNoteModalViewDisappearing` event is triggered when the modal view is closing.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfviewer.StickyNoteModalViewDisappearing += PdfViewer_StickyNoteModalViewDisappearing;
+
+Private void PdfViewer_StickyNoteModalViewDisappearing(object? Sender, EventArgs e)
+{
+    // Implement the logic to show the UI elements that were hidden from the StickyNoteModalViewAppearing event handler.
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+### Suppressing the sticky note modal view and implementing your own UI
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to suppress the sticky note modal view and use your own UI in its place. This can be achieved by setting the `AnnotationModalViewAppearingEventArgs.Cancel` property to `true` in the `StickyNoteModalViewAppearing` event handler. 
+
+The below code snippet illustrates suppressing the sticky note modal view and using a UI implemented in the app in its place. The sticky note annotation instance that is created or edited can be obtained from the event args. Once the user enters the text in the custom dialog and confirms, the text can be assigned to this sticky note annotation instance. 
+
+{% tabs %}
+{% highlight c# %}
+
+Annotation editedAnnotation;
+pdfviewer.StickyNoteModalViewAppearing += PdfViewer_StickyNoteModalViewAppearing;
+
+private void PdfViewer_StickyNoteModalViewAppearing(object? Sender, AnnotationModalViewAppearingEventArgs e)
+{
+    e.Cancel = true;
+    editedAnnotation = e.Annotation;
+    // Implement your own UI for the sticky note editor and show it.
+    ShowCustomDialog();
+}
+
+Private void customDialogOkButton_Clicked(object sender, EventArgs e)
+{
+   //Get the typed text from the custom dialog 
+   string newText = customDialog.Text; 
+   if(editedAnnotation is StickyNoteAnnotation stickyNote)
+   {
+      stickyNote.Text = newText;
+   }
+}
+
+{% endhighlight %} 
+{% endtabs %}
+
+N> For WinUI and MacCatalyst platforms, there is no separate modal view to receive text input from the users. As a result, the `StickyNoteModalViewAppearing` and `StickyNoteModalViewDisappearing` events are not applicable to these platforms. 
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Text-Markups.md b/Document-Processing/PDF/PDF-Viewer/maui/Text-Markups.md
new file mode 100644
index 000000000..7ca60da45
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Text-Markups.md
@@ -0,0 +1,159 @@
+---
+layout: post
+title: Text Markup Annotations in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about Text Markup Annotations in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and its types.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view.
+---
+
+# Text Markup Annotations in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The text markup annotations feature of [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to add, remove, and modify text markups in the PDF document. This is useful for making corrections or emphasizing important texts in the document. This section will go through the various types and functions available in PDF Viewer for working with text markup annotations.
+
+## Types of text markups
+
+The following text markup annotation types are now available in the PDF Viewer.
+
+1.	Highlight.
+2.	Squiggly.
+3.	Strike-out.
+4.	Underline.
+
+
+The following image shows the appearance of the text markup annotation types.
+
+![Text Markup Annotation Types.](Images/Annotations/text-markups.png)
+
+## Add text markups
+
+This section will go through how to add text markup annotations to a PDF document interactively as well as programmatically to a PDF document.
+
+### Add text markups from annotation mode
+
+You can add text markup annotations to a PDF document by touch (or mouse down) and drag using the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following steps explain how to add text markup  annotation on a text in a PDF.
+
+1.	Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) property of the SfPdfViewer to any text markups (say [Highlight](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Highlight)). It activates the highlight annotation mode on the control.
+2.	Place your finger (or mouse) on the text in the PDF document, where you want to start adding the text markup.
+3.	Drag the finger (or cursor) across the text to select.
+4.	Complete adding the text markup to the selected text by releasing the finger (or cursor).
+5.	Repeat steps 2-4, if you want to add multiple text markups on other areas during the annotation mode.
+6.	Once you have done this, set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None). It will disable the annotation mode. 
+7.	You can later select and edit the annotations if required.
+
+
+The following code explains how to enable the highlight annotation mode. Similarly, you can change the annotation mode to add other text markups.
+
+{% tabs %}
+{% highlight C# %}
+// Enable or activate the highlight annotation mode.
+void EnableHighlightAnnotationMode()
+{
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html)  to [Highlight](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_Highlight)
+    PdfViewer.AnnotationMode = AnnotationMode.Highlight;
+}
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, refer to the following code to disable the highlight annotation mode.
+
+{% tabs %}
+{% highlight C# %}
+// Disable or deactivate the highlight annotation mode.
+void DisableHighlightMode()
+{
+    // Set the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode) of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html)  to [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationMode.html#Syncfusion_Maui_PdfViewer_AnnotationMode_None)
+    PdfViewer.AnnotationMode = AnnotationMode.None;
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Add text markups from the text selection
+
+Text markups can be added to a PDF document using the text selection without enabling the [AnnotationMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationMode). Select the text you want in a PDF document, and a context menu with the text markup options will appear after you complete your selection. You can select any of the text markup options to add annotation to a text in the PDF document. 
+
+The following image represents the text selection context menu with text markup options.
+
+![Text Markup using Text Selection.](Images/Annotations/markup-from-selection.png)
+
+### Adding Annotations Programmatically
+
+You can create and add a text markup annotation to a PDF document programmatically using the [AddAnnotation](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AddAnnotation_Syncfusion_Maui_PdfViewer_Annotation_) method of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following example explains how to create a highlight annotation and add it to the first page of a PDF document. Similarly, you can create other text markup annotation types.
+
+{% tabs %}
+{% highlight C# %}
+HighlightAnnotation CreateHighlightAnnotation()
+{
+    int pageNumber = 1;
+
+    // Create a list of text bounds that represents a multiple lines of text markups. Here a single line text markup are created.
+    List<RectF> textBoundsCollection = new List<RectF> { new RectF(100, 100, 100, 20) };
+
+    // Create a highlight annotation.
+    HighlightAnnotation annotation = new HighlightAnnotation(pageNumber, textBoundsCollection);
+
+    // Set the appearance for the highlight annotation
+    annotation.Color = Colors.Yellow; // set the highlight color
+    annotation.Opacity = 0.5f; // set the opacity to 50%
+
+    return annotation;
+}
+
+void AddHighlightAnnotation()
+{
+    // Create a highlight annotation.
+    Annotation highlightAnnotation = CreateHighlightAnnotation();
+
+    // Add the highlight annotation to the PDF document using the AddAnnotation method of the `SfPdfViewer` instance.
+    PdfViewer.AddAnnotation(highlightAnnotation);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Text markup annotation settings
+
+In the text markup annotation mode, the text markups will be added with a default appearance. You can modify the annotation after it has been added to the pages. However, if you need to define the appearance before adding text markups on the document, you can change its default settings using the [AnnotationSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.AnnotationSettings.html) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). For that, you need to obtain the default text markup annotation settings.
+
+The following example explains how to obtain the default highlight annotation settings and modify some of its properties. Similarly, you can also modify the properties of other text markup annotations.
+
+{% tabs %}
+{% highlight C# %}
+void CustomizeDefaultHighlightSettings()
+{
+    // Obtain the default highlight annotation settings from the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html)  instance.
+    TextMarkupAnnotationSettings highlightAnnotationSettings = PdfViewer.AnnotationSettings.Highlight;
+
+    // Modify the default properties.
+
+    // Set the default stroke color to blue.
+    highlightAnnotationSettings.Color = Colors.Blue; 
+     // Set the default opacity to 75%.
+    highlightAnnotationSettings.Opacity = 0.75f;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Edit the selected text markup annotation
+
+You can edit the properties of the selected text markup annotation programmatically by accessing the selected annotation instance. The selected annotation instance may be obtained from the [AnnotationSelected](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_AnnotationSelected) event. The following example shows how to edit some of the properties of the selected highlight annotation. Similarly, you can modify the other text markup annotations properties.
+
+{% tabs %}
+{% highlight C# %}
+/// <summary>
+/// Edit the selected highlight annotation.
+/// </summary>
+/// <param name="selectedAnnotation">The selected annotation instance that may be obtained from the annotation selected event</param>
+void EditSelectedHighlightAnnotation(Annotation selectedAnnotation)
+{
+    // Typecast the selected annotation as a highlight annotation.
+    if (selectedAnnotation is HighlightAnnotation highlightAnnotation)
+    {
+        // Change the color to blue.
+        highlightAnnotation.Color = Colors.Blue;
+        // Change the opacity to 75%.
+        highlightAnnotation.Opacity = 0.75f;
+    }
+}
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md b/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md
new file mode 100644
index 000000000..5b27b4fe3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md
@@ -0,0 +1,233 @@
+---
+layout: post
+title: Text Search in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about searching a text in the PDF documents using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer).
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text Search in .NET MAUI PDF Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to search for text in a PDF document and navigate to all its occurrences.
+
+## Initiate a text search
+
+The [SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_) method asynchronously searches the specified text throughout the PDF document and highlights each occurrence (match). To start the search, you need to call the method in a button click by passing the text to be searched as a parameter, as shown in the following example:
+
+{% tabs %}
+{% highlight C# hl_lines="8" %}
+
+private void SearchButtonClicked(object sender, EventArgs e)
+{
+	SearchText("key");
+}
+
+async void SearchText(string text)
+{
+	await PdfViewer.SearchTextAsync(text);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Search result
+
+The [TextSearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html) will be obtained at the end of the search text operation, and it will hold the search result. It allows you to navigate to the next or previous matches of the text, as well as provides the following details:
+
+1. <b>[Total matches count](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_TotalMatchesCount)</b> – It provides the total number of matches that have been found in the PDF document.
+
+2. <b>[Current match index](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_CurrentMatchIndex)</b> – It gives the index of the currently focused match. The value is index based.
+
+{% tabs %}
+{% highlight C# hl_lines="5 6" %}
+
+async void SearchText(string text)
+{
+	TextSearchResult searchResult = await PdfViewer.SearchTextAsync(text);
+	// Get the total matches count and current match index.
+	int totalMatchesCount = searchResult.TotalMatchesCount;
+	int currentMatchIndex = searchResult.CurrentMatchIndex;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> * The current match index value may change on every search call for a given text, depending on the page from which you started the search.
+N> * If the total matches count is 0, then there were no matches found for the given text.
+
+### Navigate to the next and previous match
+
+The [GoToNextMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToNextMatch) and [GoToPreviousMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToPreviousMatch) functionalities of the [TextSearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html) help you navigate to the next and previous matches of the text, respectively. You can follow the given steps to achieve the same:
+
+1.	Search a text and store the search result in a global variable.
+
+{% tabs %}
+{% highlight C# %}
+
+/// <summary>
+/// Stores the search result obtained from searching the text.
+/// </summary>
+TextSearchResult SearchResult;
+
+async void SearchText(string text)
+{
+	SearchResult = await PdfViewer.SearchTextAsync(text);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+2.	Call the [GoToNextMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToNextMatch) or [GoToPreviousMatch](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_GoToPreviousMatch) functionalities in a button click to move to the next or previous match of the text respectively, whenever necessary.
+
+{% tabs %}
+{% highlight C# hl_lines="4 10" %}
+
+private void NextMatchButtonClicked(object sender, EventArgs e)
+{
+	// Navigate to the next match.
+	SearchResult.GoToNextMatch();
+}
+
+private void PreviousMatchButtonClicked(object sender, EventArgs e)
+{
+	// Navigate to the previous match.
+	SearchResult.GoToPreviousMatch();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Close the text search
+
+The [Clear](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_Clear) functionality of the [TextSearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html) removes all the traces of the searched text in the PDF document.
+
+{% tabs %}
+{% highlight C# hl_lines="4" %}
+
+private void CloseSearchButtonClicked(object sender, EventArgs e)
+{
+	// Closes the search and clears any traces of the searched text in the PDF document.
+	SearchResult.Clear();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Text Search progress
+
+By using the [SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_), the search result will be obtained only after all the pages have been searched. If the search completion takes a long time for a PDF document with more pages, you may get the current search result while the search is still in progress by using the [TextSearchProgress](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_TextSearchProgress) event. The event is triggered on each page after the search is completed on the page, and the [SearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchProgressEventArgs.html#Syncfusion_Maui_PdfViewer_TextSearchProgressEventArgs_SearchResult) property of the [TextSearchProgressEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchProgressEventArgs.html) contains the current search result as shown in the following code example:
+
+{% tabs %}
+{% highlight XAML hl_lines="3" %}
+
+<syncfusion:SfPdfViewer 
+	x:Name="PdfViewer"
+	TextSearchProgress="PdfTextSearchProgress"/>
+			
+{% endhighlight %}
+{% highlight C# hl_lines="3 9" %}
+
+async void SearchText(string text)
+{
+	PdfViewer.TextSearchProgress += PdfTextSearchProgress;
+	await PdfViewer.SearchTextAsync(text);
+}
+
+private void PdfTextSearchProgress(object sender, TextSearchProgressEventArgs e)
+{
+	TextSearchResult searchResult = e.SearchResult;
+	int totalMatchesFound = searchResult.TotalMatchesCount;
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+### Search completion percentage
+
+The [TotalPagesSearched](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchProgressEventArgs.html#Syncfusion_Maui_PdfViewer_TextSearchProgressEventArgs_TotalPagesSearched) property of the [TextSearchProgressEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchProgressEventArgs.html) provides the total number of pages that have been searched to find the specified text across the PDF document. You may use this information to find the search completion percentage as shown in the following code example:
+
+{% tabs %}
+{% highlight C# %}
+
+private void PdfTextSearchProgress(object sender, TextSearchProgressEventArgs e)
+{
+	float searchCompletionPercentage = (float)e.TotalPagesSearched / (float)PdfViewer.PageCount;
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+### Cancelling search progress
+
+The [Clear](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_Clear) method of the [TextSearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html) can be used to cancel the text search progress that does not need to be continued. For example, under the following scenarios, cancellation may be necessary.
+
+1.	If the search is running for a long time. 
+2.	When a wrong keyword is entered and the search is initiated.
+
+The following code example shows how to cancel a currently running search.
+
+{% tabs %}
+{% highlight C# hl_lines="10" %}
+
+async void SearchText(string text)
+{
+	PdfViewer.TextSearchProgress += PdfTextSearchProgress;
+	await PdfViewer.SearchTextAsync(text);
+}
+
+private void PdfTextSearchProgress(object sender, TextSearchProgressEventArgs e)
+{
+	// Cancel the search operation when it is running but does not need to be continued.
+	e.SearchResult?.Clear();
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+## Text search options
+
+By default, the case and other characteristics of the text will not be considered while using the [SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_) functionality. You may define how the text needs to be searched in the document by using the `TextSearchOption` with the following options.
+
+1.	`None` – To search text without any restrictions.
+2.	`CaseSensitive` - To search text in case case-sensitive manner.
+3.	`WholeWords` – To search only the whole words.
+
+You need to pass the `TextSearchOptions` as a parameter to the [SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_) method as shown in the following code example:
+
+{% tabs %}
+{% highlight C# hl_lines="5" %}
+
+async void SearchText(string text)
+{
+	PdfViewer.TextSearchProgress += PdfTextSearchProgress;
+	TextSearchOptions searchOptions = TextSearchOptions.CaseSensitive;
+	await PdfViewer.SearchTextAsync(text, searchOptions);
+}
+	
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the text match highlight colors
+
+The highlight colors of the current match and other matches of a text can be customized with the help of the [TextSearchSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchSettings.html#Syncfusion_Maui_PdfViewer_TextSearchSettings__ctor) property of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+{% tabs %}
+{% highlight XAML hl_lines="4 5" %}
+
+<syncfusion:SfPdfViewer x:Name="PdfViewer">
+	<syncfusion:SfPdfViewer.TextSearchSettings>
+		<syncfusion:TextSearchSettings 
+			CurrentMatchHighlightColor="#438F00FF"  
+			OtherMatchesHighlightColor="#4300FF00"/>
+	</syncfusion:SfPdfViewer.TextSearchSettings>
+</syncfusion:SfPdfViewer>
+			
+{% endhighlight %}
+{% highlight C# hl_lines="3 9" %}
+
+PdfViewer.TextSearchSettings.CurrentMatchHighlightColor = Color.FromRgba("#8F00FF43");
+PdfViewer.TextSearchSettings.OtherMatchesHighlightColor= Color.FromRgba("#00FF0043");
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Text-Selection.md b/Document-Processing/PDF/PDF-Viewer/maui/Text-Selection.md
new file mode 100644
index 000000000..5300aaa56
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Text-Selection.md
@@ -0,0 +1,120 @@
+---
+layout: post
+title: Select text from a PDF document using .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about selecting text from PDF documents and copying it to the clipboard using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer).
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# Selecting text from a PDF document in .NET MAUI PDF Viewer (SfPdfViewer)
+
+Using [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), you can select text from a PDF document and copy it to the clipboard. This process allows you to easily extract text from the PDF and paste it into other applications.
+
+## Selection using the mouse
+
+In desktop platforms like macOS and Windows, you can select text using the mouse pointer by clicking and dragging over the text you want to select. You will notice that the selected text is highlighted when you move the pointer. 
+
+![Select text from PDF document using mouse.](Images/Text-Selection/text_selection_mouse.gif)
+
+## Selection using touch
+
+In mobile platforms such as Android and iOS, the long-press text selection feature allows you to select text by pressing and holding your finger on the screen. Refer to the following steps for long-press text selection on a mobile device.
+
+1.	Locate the text you want to select.
+2.	Place your finger on the screen and hold it against the text you wish to select.
+3.	The word is highlighted, and there are selection handles that appear at the start and end of the selection.
+4.	You can move the selection handles to modify or extend the text selection.
+
+![Select text from PDF document using touch.](Images/Text-Selection/text_selection.gif)
+
+## Copy the selected text
+
+After you have selected the desired text, click the <b>Copy</b> option that appears to copy it to the clipboard.  The selected text is now copied to the clipboard and ready for pasting into other applications.
+
+N> In desktop platforms, you can also use the keyboard shortcut <code>Ctrl</code> + <code>C</code> (<code>Command</code> + <code>C</code> on MAC) to copy the text.
+
+## Disabling text selection
+
+The [EnableTextSelection](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_EnableTextSelection) property allows you to enable or disable text selection in the `SfPdfViewer`. You can assign it a value of `False` to disable the text selection. This can be helpful in situations when you want to prevent users from selecting and copying text contents from the PDF files that are being displayed.
+
+Refer to the following code example to disable text selection.
+
+{% tabs %}
+{% highlight XAML %}
+
+<syncfusion:SfPdfViewer x:Name="PdfViewer" EnableTextSelection="False"/>
+
+{% endhighlight %}
+{% highlight C# %}
+
+SfPdfViewer PdfViewer = new SfPdfViewer();
+PdfViewer.EnableTextSelection = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the text selection highlight color
+
+The [TextSelectionSettings](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionSettings.html) provides customizable options for the text selection. The [HighlightColor](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionSettings.html#Syncfusion_Maui_PdfViewer_TextSelectionSettings_HighlightColor) property of the ‘TextSelectionSettings’ allows you to customize the color of the text highlight when you select it. 
+
+Refer to the following code sample to change the highlight color.
+
+{% tabs %}
+{% highlight XAML hl_lines="4" %}
+
+<syncfusion:SfPdfViewer x:Name="PdfViewer">
+	<syncfusion:SfPdfViewer.TextSelectionSettings>
+		<syncfusion:TextSelectionSettings 
+				HighlightColor="#43FFFF00"/>
+	</syncfusion:SfPdfViewer.TextSelectionSettings>
+</syncfusion:SfPdfViewer>
+
+{% endhighlight %}
+{% highlight C# hl_lines="2" %}
+
+SfPdfViewer PdfViewer = new SfPdfViewer();
+PdfViewer.TextSelectionSettings.HighlightColor = Color.FromRgba(255, 255, 0, 127);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The color of the selection handles will also be modified to match the text highlight color, but with full opacity.
+
+## Handling selected text from the application
+
+The [TextSelectionChanged](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_TextSelectionChanged) event occurs when the text selection is completed or when the selected text is modified in any way. This event provides the selected text and the way to prevent the display of the default context menu by handling the selected text from the application level.
+
+The event arguments properties that are listed below are available in the text selection changed event.
+
+1.	<b>[SelectedText](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionChangedEventArgs.html#Syncfusion_Maui_PdfViewer_TextSelectionChangedEventArgs_SelectedText)</b> - Provides the selected text.
+
+2.	<b>[PageNumber](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionChangedEventArgs.html#Syncfusion_Maui_PdfViewer_TextSelectionChangedEventArgs_PageNumber)</b> - Provides the page number at which the text is selected.
+
+3.	<b>[Handled](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSelectionChangedEventArgs.html#Syncfusion_Maui_PdfViewer_TextSelectionChangedEventArgs_Handled)</b> -  A boolean value indicating whether the event has been handled or processed by an event handler. By setting the `Handled` property to true, you indicate that the event is handled at the application-level event handler and no further action is necessary. So that the default copy context menu will not appear.
+
+Refer to the following code sample that explains how to wire the event to handle the selected text at the application level and prevent the default copy context menu from appearing.
+
+{% tabs %}
+{% highlight C# hl_lines="4 11" %}
+
+public MainPage()
+{
+	InitializeComponent();
+	PdfViewer.TextSelectionChanged += PdfViewer_TextSelectionChanged;
+}
+
+private void PdfViewer_TextSelectionChanged(object sender, TextSelectionChangedEventArgs e)
+{
+	string selectedText = e.SelectedText;
+	int pageNumber = e.PageNumber;
+	// Write your logic to handle the selected text and set the ‘Handled’ to true, to prevent the default copy context menu from appearing.
+	e.Handled = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Limitations
+
+The text from the images cannot be selected and, the multiple-page text selection is not supported for now.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Toolbar.md b/Document-Processing/PDF/PDF-Viewer/maui/Toolbar.md
new file mode 100644
index 000000000..50114c9df
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Toolbar.md
@@ -0,0 +1,991 @@
+---
+layout: post
+title: Working with Toolbar in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about the toolbar in .NET MAUI PDF Viewer (SfPdfViewer) control, its functionalites and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords : .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Working with Toolbar in .NET MAUI Pdf Viewer (SfPdfViewer)
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) has a built-in toolbar, which enhances PDF viewing and editing capabilities, allowing you to perform operations such as adding and modifying annotations, searching text, and more.
+
+## Toolbars structure 
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) features a built-in toolbar that utilizes multiple or multilevel toolbars. This design ensures that the user interface remains clean and accessible. We have incorporated multiple toolbars, such as top, bottom, and sub-toolbars for editing and choosing types, to ensure comprehensive functionality across various platforms. These toolbars are strategically organized based on the available screen space, adapting to different screen sizes on both mobile and desktop platforms. This approach ensures that tools are easily accessible, preventing the interface from cluttering.
+
+### Need for using multiple toolbars
+
+Depending on the available screen space, the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) organizes its tools into multiple or multilevel toolbars on mobile and desktop platforms. The use of multiple toolbars in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) is essential to maintain a user-friendly interface. By separating tools into different toolbars, users can quickly find and use the tools they need without the interface becoming cluttered.
+
+The names of these toolbars and their description are listed in the following sections. 
+
+### Mobile toolbar names
+
+<table>
+<tr>
+<th>Key</th>
+<th>Description</th>
+</tr>
+<tr>
+<td>TopToolbar</td>
+<td>The toolbar appears at the top of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>BottomToolbar</td>
+<td>The annotation toolbar appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>RectangleAnnotationEditToolbar</td>
+<td>The toolbar for editing rectangle annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>CircleAnnotationEditToolbar</td>
+<td>The toolbar for editing circle annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>LineAnnotationEditToolbar</td>
+<td>The toolbar for editing line annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>ArrowAnnotationEditToolbar</td>
+<td>The toolbar for editing arrow annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>PolygonAnnotationEditToolbar</td>
+<td>The toolbar for editing polygon annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>PolylineAnnotationEditToolbar</td>
+<td>The toolbar for editing polyline annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>InkAnnotationEditToolbar</td>
+<td>The toolbar for editing ink annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>EraserEditToolbar</td>
+<td>The toolbar for editing eraser annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>FreeTextAnnotationEditToolbar</td>
+<td>The toolbar for editing free text annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>StickyNoteAnnotationEditToolbar</td>
+<td>The toolbar for editing sticky note annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>HighlightAnnotationEditToolbar</td>
+<td>The toolbar for editing highlight annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>StrikeOutAnnotationEditToolbar</td>
+<td>The toolbar for editing strikeout annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>UnderlineAnnotationEditToolbar</td>
+<td>The toolbar for editing underline annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>SquigglyAnnotationEditToolbar</td>
+<td>The toolbar for editing squiggly annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>StampAnnotationEditToolbar</td>
+<td>The toolbar for editing stamp annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>TextMarkupToolbar</td>
+<td>The toolbar for editing text markup annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>ShapeAnnotationsToolbar</td>
+<td>The toolbar for editing shape annotations appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+<tr>
+<td>StickyNoteIconsToolbar</td>
+<td>The toolbar for editing sticky note icons appears at the bottom of the mobile PDF viewer.</td>
+</tr>
+</table>
+
+### Desktop toolbar names 
+
+<table>
+<tr>
+<td>Keys</td>
+<td>Description</td>
+</tr>
+<tr>
+<td>PrimaryToolbar</td>
+<td>The toolbar, appears at the top of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>AnnotationsToolbar</td>
+<td>The annotation toolbar, appears below the PrimaryToolbar of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>RectangleAnnotationEditToolbar</td>
+<td>The toolbar for editing rectangle annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>CircleAnnotationEditToolbar</td>
+<td>The toolbar for editing circle annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>LineAnnotationEditToolbar</td>
+<td>The toolbar for editing line annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>ArrowAnnotationEditToolbar</td>
+<td>The toolbar for editing arrow annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>PolygonAnnotationEditToolbar</td>
+<td>The toolbar for editing polygon annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>PolylineAnnotationEditToolbar</td>
+<td>The toolbar for editing polyline annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>InkAnnotationEditToolbar</td>
+<td>The toolbar for editing ink annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>EraserEditToolbar</td>
+<td>The toolbar for editing eraser annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>FreeTextAnnotationEditToolbar</td>
+<td>The toolbar for editing free text annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>StickyNoteAnnotationEditToolbar</td>
+<td>The toolbar for editing sticky note annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>HighlightAnnotationEditToolbar</td>
+<td>The toolbar for editing highlight annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>StrikeOutAnnotationEditToolbar</td>
+<td>The toolbar for editing strikeout annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>UnderlineAnnotationEditToolbar</td>
+<td>The toolbar for editing underline annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>SquigglyAnnotationEditToolbar</td>
+<td>The toolbar for editing squiggly annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+<tr>
+<td>StampAnnotationEditToolbar</td>
+<td>The toolbar for editing stamp annotations appears at the bottom of the desktop PDF viewer.</td>
+</tr>
+</table>
+
+### Show/hide the toolbars
+
+The built-in toolbars are visible by default. In certain scenarios, you might want to hide all the toolbars in the PDF Viewer to display the document in full view or to use customized toolbars based on your application needs. You can do this by setting the [ShowToolbars](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ShowToolbars) property of the PDF Viewer to `false`. And you can show the built-in toolbar by setting the [ShowToolbars](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_ShowToolbars) property of the PDF Viewer to `true`.
+
+{% tabs %}
+{% highlight C# %}
+
+//set the ShowToolbars to false
+public MainPage()
+{
+     SfPdfViewer pdfViewer=new SfPdfViewer();
+     pdfViewer.ShowToolbars = false;
+}  
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight XAML %}
+
+ <ContentPage.Content>
+  <syncfusion:SfPdfViewer x:Name="pdfViewer" DocumentSource ="{Binding PdfDocumentStream} " ShowToolbars="False" />
+ </ContentPage.Content>
+ 
+{% endhighlight %}
+{% endtabs %}
+
+You can find the sample project from the [link provided here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples/tree/master/Toolbar customization/HideToolbars).
+
+### Customize the toolbar 
+
+Sometimes, you might need to hide specific toolbars instead of all. This can be useful if you want to simplify the user interface by removing unnecessary tools or creating a more focused environment for certain tasks. The Toolbars collection property in the PDF Viewer allows you to hide a specific toolbar by using its index or name.
+
+#### Hide specific toolbars by index
+
+If you know the position of the toolbar you want to hide within the Toolbars collection, you can access and hide it using its index. For example, you can use the following code to hide the first and second toolbars in the collection.
+
+{% tabs %}
+{% highlight C# %}
+if (pdfViewer?.Toolbars?.Count > 1)
+{
+    var firstToolbar = pdfViewer?.Toolbars[0];
+    if (firstToolbar != null)
+        firstToolbar.IsVisible = false; //Hide the first toolbar
+    var secondToolbar= pdfViewer?.Toolbars[1];
+    if (secondToolbar != null)
+        secondToolbar.IsVisible = false; //Hide the second toolbar 
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Hide specific toolbars by name
+
+By using the [GetByName](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItemCollection.html#Syncfusion_Maui_PdfViewer_ToolbarItemCollection_GetByName_System_String) method with its specified toolbar names, you can access the properties of those toolbars. After accessing the toolbar, you can modify its visibility by setting the IsVisible property. Here, we retrieve the toolbar “BottomToolbar” using the GetByName method and hide it by setting its visibility to false.
+
+{% tabs %}
+{% highlight C# %}
+// On the mobile, we access the primary toolbar using the GetByName method.
+
+ var toolbar = pdfViewer.Toolbars?.GetByName("BottomToolbar");
+ if (toolbar != null)
+ {
+     toolbar.IsVisible = false; // Hide the bottom toolbar
+ }
+{% endhighlight %}
+{% endtabs %}
+
+## Toolbar items
+
+In [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), the user  can also manage the items within each toolbar of the PDF Viewer. This allows you to control which tools are available and how they are arranged, providing a tailored user experience that aligns with your application’s requirements.
+
+The names of these toolbar items, along with their descriptions and availability in the toolbars, are listed in the following sections.
+
+### Mobile toolbar item names
+
+<table>
+<tr>
+<td>Keys</td>
+<td>Description</td>
+<td>Item available in toolbars</td>
+</tr>
+<tr>
+<td>Undo</td>
+<td>The button that appears in the top toolbar allows you to undo an action.</td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>Redo</td>
+<td>The button that appears in the top toolbar allows you to redo an action.</td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>ZoomMode</td>
+<td>The button that appears in the top toolbar allows you to adjust the magnification level of the PDF viewer content. </td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>PageSettings</td>
+<td>The button that appears in the top toolbar allows you to customize the page display and layout of the PDF viewer content. </td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>Search</td>
+<td>The button that appears in the top toolbar allows you to locate specific text or content in the document quickly. </td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>MoreItem</td>
+<td>The button that appears in the top toolbar allows you to expand the options available in the PDF Viewer.</td>
+<td>TopToolbar</td>
+</tr>
+<tr>
+<td>TextMarkup</td>
+<td>The button that appears in the bottom toolbar allows you to annotate text in the PDF Viewer.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>FreeText</td>
+<td>The button that appears in the bottom toolbar allows you to add text annotations directly to the document in the PDF Viewer.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>Ink</td>
+<td>The button that appears in the bottom toolbar allows you to draw freehand annotations.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>Eraser</td>
+<td>The button that appears in the bottom toolbar allows you to erase the ink annotations in the PDF Viewer.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>Shape</td>
+<td>The button that appears in the bottom toolbar allows you to add shapes to the document.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>Stamp</td>
+<td>The button that appears in the bottom toolbar allows you to add the in-built and custom stamps.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>Signature</td>
+<td>The button that appears in the bottom toolbar allows you to create and add the signature and indicate the signature annotation type.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>StickyNote</td>
+<td>The button that appears in the bottom toolbar allows you to add a sticky note to the document.</td>
+<td>BottomToolbar</td>
+</tr>
+<tr>
+<td>TextMarkupToolbarBackIcon</td>
+<td>The button that appears in the text markup toolbar allows you to navigate back from the text markup toolbar.</td>
+<td>TextMarkupToolbar</td>
+</tr>
+<tr>
+<td>Highlight</td>
+<td>The button that appears in the text markup toolbar allows you to highlight the text in the document.</td>
+<td>TextMarkupToolbar</td>
+</tr>
+<tr>
+<td>Underline</td>
+<td>The button that appears in the text markup toolbar allows you to underline the text in the document.</td>
+<td>TextMarkupToolbar</td>
+</tr>
+<tr>
+<td>StrikeOut</td>
+<td>The button that appears in the text markup toolbar allows you to strike out the text in the document.</td>
+<td>TextMarkupToolbar</td>
+</tr>
+<tr>
+<td>Squiggly</td>
+<td>The button that appears in the text markup toolbar allows you to add squiggly lines to the text in the document.</td>
+<td>TextMarkupToolbar</td>
+</tr>
+<tr>
+<td>ShapeToolbarBackIcon</td>
+<td>The button that appears in the shape toolbar allows you to navigate back from the shape toolbar.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Line</td>
+<td>The button that appears in the shape toolbar allows you to draw a line in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Arrow</td>
+<td>The button that appears in the shape toolbar allows you to draw an arrow in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Rectangle</td>
+<td>The button that appears in the shape toolbar allows you to draw a rectangle in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Circle</td>
+<td>The button that appears in the shape toolbar allows you to draw a circle in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Polygon</td>
+<td>The button that appears in the shape toolbar allows you to draw polygons in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Polyline</td>
+<td>The button that appears in the shape toolbar allows you to draw polylines in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>Cloud</td>
+<td>The button that appears in the shape toolbar allows you to draw a cloud in the document.</td>
+<td>ShapeAnnotationsToolbar</td>
+</tr>
+<tr>
+<td>SecondaryAnnotationBackIcon</td>
+<td>The button that appears in the annotation edit toolbars allows you to navigate back from the annotation edit toolbar.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>BackIconSeparator</td>
+<td>The separator that appears in the annotation edit toolbar is positioned after the back button.</td>
+<td> HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>AnnotationType</td>
+<td>The button that appears in the annotation edit toolbar allows you to indicate the annotation type.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>BorderStyle</td>
+<td>The button that appears in the cloud annotation edit toolbar allows you to indicate the cloud annotation.</td>
+<td>PolygonAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>TextColor</td>
+<td>The button that appears in the free text annotation edit toolbar allows you to change the free text color.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>TextSize</td>
+<td>The button that appears in the free text annotation edit toolbar allows you to change the text size.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>TextPropertySeparator</td>
+<td>The separator that appears in the free text annotation edit toolbar is positioned after the text size button.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Edit</td>
+<td>The button that appears in the sticky note annotation edit toolbar allows you to edit text in the sticky note.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>TextFillColor</td>
+<td>The button that appears in the free text annotation edit toolbar allows you to set the fill color of the text box.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Thickness</td>
+<td>The button that appears in the annotation edit toolbar allows you to set the thickness of the annotations.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>StokeColor</td>
+<td>The button that appears in the annotation edit toolbar allows you to set the stroke color of the annotations.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>Notes</td>
+<td>The button that appears in the top toolbar allows you to show the sticky note icons.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>FillColor</td>
+<td>The button that appears in the annotation edit toolbar allows you to set the fill color of the annotations.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Opacity</td>
+<td>The button that appears in the annotation edit toolbar allows you to set the opacity of the annotations.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>DeleteSeparator</td>
+<td>The separator that appears in the annotation edit toolbar positioned before the delete button.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Delete</td>
+<td>The button that appears in the annotation edit toolbar allows you to delete the selected annotations.</td>
+<td>HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, SquigglyAnnotationEditToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, and StampAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Note</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add a note type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Insert</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add an insert type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Comment</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add a comment type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Key</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add the key type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Help</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add a help type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Paragraph</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add a paragraph type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>New Paragraph</td>
+<td>The button that appears in the sticky note icons toolbar allows you to add a new paragraph type of the sticky note.</td>
+<td>StickyNoteIconsToolbarView</td>
+</tr>
+<tr>
+<td>Outline</td>
+<td>The button that appears in the more option toolbar allows you to see the outline view of the document.</td>
+<td>MoreOptionToolbar</td>
+</tr>
+<tr>
+<td>Print</td>
+<td>The button that appears in the more option toolbar allows you to print the document from the PDF Viewer.</td>
+<td>MoreOptionToolbar</td>
+</tr>
+<tr>
+<td>SearchBackIcon</td>
+<td>The button that appears in the search toolbar allows you to navigate back from the search toolbar. </td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>SearchEntry</td>
+<td>The entry that appears in the search toolbar allows you to enter the text you want to search.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>SearchBusyIndicator</td>
+<td>The button that appears in the search toolbar indicates an ongoing search.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>ClearSearch</td>
+<td>The button that appears in the search toolbar allows you to clear the current search text.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>ClearSeparator</td>
+<td>The separator that appears in the search toolbar is positioned after the clear button.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>PreviousSearch</td>
+<td>The button that appears in the search toolbar allows you to navigate to the previous search result.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>NextSearch</td>
+<td>The button that appears in the search toolbar allows you to navigate to the next search result.</td>
+<td>SearchToolbar</td>
+</tr>
+<tr>
+<td>MoreOption</td>
+<td>The button that appears in the search toolbar allows you to search with case sensitivity.</td>
+<td>SearchToolbar</td>
+</tr>
+</table>
+
+### Desktop toolbar item names
+
+<table>
+<tr>
+<td>Keys</td>
+<td>Description</td>
+<td>Item available in toolbars</td>
+</tr>
+<tr>
+<td>Undo</td>
+<td>The button that appears in the primary toolbar allows you to undo an action.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Redo</td>
+<td>The button that appears in the primary toolbar allows you to redo an action.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Previous page</td>
+<td>The button that appears in the primary toolbar allows you to navigate to the page before the current one in the PDF Viewer.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Next page</td>
+<td>The button that appears in the primary toolbar allows you to navigate to the page next to the current one in the PDF Viewer.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Page number entry</td>
+<td>The entry that appears in the primary toolbar allows you to navigate to the entered page number.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Page count</td>
+<td>The button that appears in the primary toolbar represents the total number of pages in the document.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Zoom mode</td>
+<td>The button that appears in the primary toolbar allows you to adjust the magnification level of the PDF viewer content. </td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Annotations</td>
+<td>The button that appears in the primary toolbar allows you to access the annotation toolbar.</td>
+<td></td>
+</tr>
+<tr>
+<td>Print</td>
+<td>The button that appears in the primary toolbar allows you to print the document from the PDF Viewer.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Outline</td>
+<td>The button that appears in the primary toolbar allows you to see the outline view of the document.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Search</td>
+<td>The button that appears in the primary toolbar allows you to locate specific text or content in the document quickly.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Page layout mode</td>
+<td>The button that appears in the primary toolbar allows you to customize page display and layout in the PDF Viewer.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>Text markups</td>
+<td>The button that appears in the annotation toolbar allows you to annotate text in the PDF Viewer.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Highlight</td>
+<td>The button that appears in the annotation toolbar allows you to highlight the text in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Underline</td>
+<td>The button that appears in the annotation toolbar allows you to underline the text in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Strikeout</td>
+<td>The button that appears in the annotation toolbar allows you to strike out the text in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Squiggly</td>
+<td>The button that appears in the annotation toolbar allows you to add squiggly lines to the text in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Ink</td>
+<td>The button that appears in the annotation toolbar allows you to draw freehand annotations.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Ink eraser</td>
+<td>The button that appears in the annotation toolbar allows you to erase the ink annotations drawn in the document</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Free text</td>
+<td>The button that appears in the annotation toolbar allows you to add text annotations directly to the document in the PDF Viewer.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Shapes</td>
+<td>The button that appears in the annotation toolbar allows you to add different shapes to the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Square</td>
+<td>The button that appears in the annotation toolbar allows you to draw a square in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Circle</td>
+<td>The button that appears in the annotation toolbar allows you to draw a circle in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Line</td>
+<td>The button that appears in the annotation toolbar allows you to draw a line in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Arrow</td>
+<td>The button that appears in the annotation toolbar allows you to draw an arrow in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Polyline</td>
+<td>The button that appears in the annotation toolbar allows you to draw polylines in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Polygon</td>
+<td>The button that appears in the annotation toolbar allows you to draw polygons in the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Cloud</td>
+<td>The button that appears in the annotation toolbar allows you to draw a cloud on the document.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Stamps</td>
+<td>The button that appears in the annotation toolbar allows you to add the inbuilt stamps and custom stamps.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Sticky note</td>
+<td>The button that appears in the annotation toolbar allows you to add a sticky note to the document in the PDF Viewer.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Signature</td>
+<td>The button that appears in the annotation toolbar allows you to create and add a signature.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Color picker</td>
+<td>The button that appears in the annotation toolbar allows you to select and apply colors to the annotations.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Thickness</td>
+<td>The button that appears in the annotation toolbar allows you to set the thickness of the annotations.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Delete</td>
+<td>The button that appears in the annotation toolbar allows you to delete the selected annotation.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Sticky note icons</td>
+<td>The button that appears in the annotation toolbar allows you to select the types of sticky notes.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar.</td>
+</tr>
+<tr>
+<td>Font size</td>
+<td>The button that appears in the annotation toolbar allows you to change the size of the text.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>ColorPickerSeparator</td>
+<td>The separator that appears in the annotation toolbar is positioned before the color picker button.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>Close</td>
+<td>The button that appears in the annotation toolbar allows you to close the annotation toolbar.</td>
+<td>AnnotationsToolbar, LineAnnotationEditToolbar, ArrowAnnotationEditToolbar, RectangleAnnotationEditToolbar, CircleAnnotationEditToolbar, PolygonAnnotationEditToolbar, PolylineAnnotationEditToolbar, FreeTextAnnotationEditToolbar, InkAnnotationEditToolbar, EraserEditToolbar, StickyNoteAnnotationEditToolbar, StampAnnotationEditToolbar, HighlightAnnotationEditToolbar, UnderlineAnnotationEditToolbar, StrikeOutAnnotationEditToolbar, and SquigglyAnnotationEditToolbar</td>
+</tr>
+<tr>
+<td>PageCountSeparator</td>
+<td>The separator that appears in the primary toolbar allows you to separate the page number entry and page count buttons.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>ZoomIconSeparator</td>
+<td>The separator that appears in the primary toolbar is positioned before the Zoom mode button.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>AnnotationSeparator</td>
+<td>The separator that appears in the primary toolbar is positioned before the annotations button.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>PrintSeparator</td>
+<td>The separator that appears in the primary toolbar is positioned after the print button.</td>
+<td>PrimaryToolbar</td>
+</tr>
+<tr>
+<td>MoreOptionSeparator</td>
+<td>The separator that appears in the primary toolbar is positioned before the page layout mode.</td>
+<td>PrimaryToolbar</td>
+</tr>
+</table>
+
+### Customize toolbar items 
+
+In addition to customizing the visibility of toolbars, you can customize the items within each toolbar of the .NET MAUI PDF Viewer. This includes adding new items, removing existing ones, or rearranging their order to suit your app’s workflow better.
+
+#### Adding a new toolbar item
+
+To add an item to the toolbar in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), first, create the UI element you want to include. Then, convert that element into a ToolbarItem using the `ToolbarItem` method. Finally, add the newly created ToolbarItem to the toolbar using the `Add` method. Here we create the new button fileOpenButton and retrieve the "PrimaryToolbar" using the GetByName method. Add the new button to the "Primary Toolbar".
+
+{% tabs %}
+{% highlight C# %}
+//Create a button you want to add.
+
+Button fileOpenButton = new Button
+ {
+     Text = "\ue712",           
+     FontSize = 24,
+     IsEnabled = false,
+     FontFamily = "Maui Material Assets",
+     HorizontalOptions = LayoutOptions.Center,
+     VerticalOptions = LayoutOptions.Center,
+     BackgroundColor = Colors.Transparent,
+     BorderColor = Colors.Transparent,
+     Padding = 10,
+     Margin = new Thickness(5, 0, 0, 0),
+     Opacity = 0.5 
+ };
+//We access the PrimaryToolbar on the desktop using the GetByName method and add the item you created to it.
+
+pdfViewer.Toolbars?.GetByName("PrimaryToolbar")?.Items?.Add(new Syncfusion.Maui.PdfViewer.ToolbarItem(fileOpenButton, "FileOpenButton"));
+{% endhighlight %}
+{% endtabs %}
+
+#### Adding a new toolbar item at a specific index
+
+To add an item at a specific index in the toolbar in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), first create the UI element you want to include. Then, convert that element into a ToolbarItem using the [ToolbarItem](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItem.html#Syncfusion_Maui_PdfViewer_ToolbarItem__ctor_Microsoft_Maui_Controls_View_System_String) method. Finally, add the newly created ToolbarItem to the toolbar using the [Insert](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItemCollection.html#Syncfusion_Maui_PdfViewer_ToolbarItemCollection_Insert_System_Int32_Syncfusion_Maui_PdfViewer_ToolbarItem) method. Use the [Index](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItem.html#Syncfusion_Maui_PdfViewer_ToolbarItem_Index) property to get the index of the item you want to add after, and insert the new item at a specific index. Here we create the button fileSaveButton and retrieve the index of the "Print" button in the "PrimaryToolbar". The new button is inserted into the toolbar right after the "Print" button.
+
+{% tabs %}
+{% highlight C# %}
+//Create a button you want to add.
+
+Button fileSaveButton = new Button
+ {
+     Text = "\ue75f",           
+     FontSize = 24,
+     FontFamily = "Maui Material Assets",
+     HorizontalOptions = LayoutOptions.Center,
+     VerticalOptions = LayoutOptions.Center,
+     BackgroundColor = Colors.Transparent,
+     BorderColor = Colors.Transparent,
+     IsEnabled = false,
+     Opacity = 0.5,
+     Padding = 10
+ };
+ 
+// We access the PrimaryToolbar on the desktop using the GetByName method.
+var item = PdfViewer?.Toolbars?.GetByName("PrimaryToolbar")?.Items?.GetByName("Print");
+if (item != null)
+{
+    // We accessed the PrimaryToolbar on the desktop using the GetByName method and inserted the item after the last item index.
+    PdfViewer?.Toolbars?.GetByName("PrimaryToolbar")?.Items?.Insert(item.Index + 1, new Syncfusion.Maui.PdfViewer.ToolbarItem(fileSaveButton, "FileSaveButton"));
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Remove Items from the Toolbar
+
+If you need to remove specific items from the toolbar in [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), you can do so from the Items collection. You can remove them either by index or by name.
+
+##### Remove Item by Index
+
+You can access the specific item using its index and then remove it from the toolbar’s item collection using the Remove method. Here we retrieve the first item from the “TopToolbar” using its index. If the item is found, it is removed from the toolbar.
+
+{% tabs %}
+{% highlight C# %}
+// Get the top toolbar of the PDF Viewer that contains annotation tools on mobile platforms.
+Syncfusion.Maui.PdfViewer.Toolbar? topToolbar = PdfViewer.Toolbars?.GetByName("TopToolbar");
+if (topToolbar != null)
+{
+    // Get the first item from the toolbar.
+    Syncfusion.Maui.PdfViewer.ToolbarItem? firstItem = topToolbar.Items?[0];
+    if (firstItem != null)
+    {
+        // Remove the first item from the toolbar.
+        topToolbar?.Items?.Remove(firstItem);
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+##### Remove Item by Name
+
+You can access the specific item using the [GetByName](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItemCollection.html#Syncfusion_Maui_PdfViewer_ToolbarItemCollection_GetByName_System_String) method and then remove it from the toolbar's item collection using the [Remove](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItemCollection.html#Syncfusion_Maui_PdfViewer_ToolbarItemCollection_Remove_Syncfusion_Maui_PdfViewer_ToolbarItem) method. Here we retrieve the "Outline" item from the "PrimaryToolbar" using the GetByName method. If the item is found, it is removed from the toolbar.
+
+{% tabs %}
+{% highlight C# %}
+//We access the outline item in the PrimaryToolbar on the desktop using the GetByName method and remove it.
+
+ var item = pdfViewer.Toolbars?.GetByName("PrimaryToolbar")?.Items?.GetByName("Outline");
+ if (item != null)
+ {
+     pdfViewer.Toolbars?.GetByName("PrimaryToolbar")?.Items?.Remove(item); // Remove the outline item
+ }
+{% endhighlight %}
+{% endtabs %}
+
+#### Remove the item from all toolbars
+
+In [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), each toolbar operates independently. Removing an item from one toolbar does not affect others. For example, removing the Sticky note icon from the "AnnotationsToolbar" does not impact other toolbars.
+
+To remove an item from all toolbars, iterate through the toolbar collection and remove the item from each toolbar. Here’s how to remove the "Sticky note" item from all toolbars:
+
+{% tabs %}
+{% highlight C# %}
+// Iterate through the toolbar collection of the PDF Viewer
+for (int i = 0; i < pdfViewer?.Toolbars?.Count; i++)
+{
+    // Get the toolbar item with the name "Sticky note" from the current toolbar
+    var item = pdfViewer.Toolbars?[i]?.Items?.GetByName("Sticky note");
+    if (item != null)
+    {
+        // Remove the "Sticky note" item
+        pdfViewer?.Toolbars?[i]?.Items?.Remove(item);
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+You can find the sample project for removing an item from the desktop toolbar using the [link provided here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples/tree/master/Toolbar customization/RemoveToolbarItemDesktop).
+
+#### Hide items from the toolbar
+
+If you need to hide specific items in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), you can do so by modifying the visibility of the items. You can hide them either by index or by name.
+
+##### Hide Item by Index
+
+To hide a toolbar item by its index, you can directly access the item in the toolbar's Items collection using the index and then set its [IsVisible](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItem.html#Syncfusion_Maui_PdfViewer_ToolbarItem_IsVisible) property to false. Here’s how you can do it:
+
+{% tabs %}
+{% highlight C# %}
+// Assuming you want to hide the item at a specific index in the PrimaryToolbar.
+int indexToHide = 2; // Replace with the actual index of the item you want to hide.
+
+var toolbar = pdfViewer.Toolbars?.GetByName("PrimaryToolbar");
+if (toolbar != null && indexToHide >= 0 && indexToHide < toolbar.Items?.Count)
+{
+    var item = toolbar.Items[indexToHide];
+    item.IsVisible = false; // Hide the item by index
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+##### Hide item by name
+
+By using the [GetByName](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItemCollection.html#Syncfusion_Maui_PdfViewer_ToolbarItemCollection_GetByName_System_String) method with its specified toolbar names, you can access the items of those toolbars. After accessing the item, you can modify its visibility by setting the [IsVisible]https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.ToolbarItem.html#Syncfusion_Maui_PdfViewer_ToolbarItem_IsVisible property. Here, we retrieve the toolbar "PrimaryToolbar" and "Search" item using the GetByName method and hide the "Search" item by setting its visibility to false.
+
+{% tabs %}
+{% highlight C# %}
+// On the desktop, we access the search button located in the primary toolbar using the GetByName method.
+
+var item = pdfViewer.Toolbars?.GetByName("PrimaryToolbar")?.Items?.GetByName("Search");
+if (item != null)
+{
+item.IsVisible = false; // Hide the search item
+}
+{% endhighlight %}
+{% endtabs %}
+
+#### Hide the item in all toolbars
+
+In [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html), each toolbar operates independently. Hiding an item in one toolbar does not affect others. For example, changing the visibility of the signature icon in the "AnnotationsToolbar" does not impact other toolbars. You can identify an item present in multiple toolbars by referring to the availability toolbar column in the toolbar item availability topic under the table of [Mobile toolbar item names](https://help.syncfusion.com/maui/pdf-viewer/toolbar#mobile-toolbar-item-names) and [Desktop toolbar item names](https://help.syncfusion.com/maui/pdf-viewer/toolbar#desktop-toolbar-item-names).
+
+To hide an icon from all toolbars, iterate through the toolbar collection and adjust the visibility of the item in each toolbar. Here’s how to hide the "Signature" icon from all toolbars:
+
+{% tabs %}
+{% highlight C# %}
+// Iterate through the toolbar collection of the PDF Viewer
+for (int i = 0; i < pdfViewer?.Toolbars.Count; i++)
+{
+    // Get the toolbar item with the name "Signature" from the current toolbar
+    var item = pdfViewer.Toolbars[i]?.Items?.GetByName("Signature");
+    // Check if the item exists in the toolbar
+    if (item != null)
+    {
+        // Set the visibility of the "Signature" item to false, effectively hiding it
+        item.IsVisible = false; // Hide the Signature
+    }
+}
+{% endhighlight %}
+{% endtabs %} 
+
+
+
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/UI-Customization.md b/Document-Processing/PDF/PDF-Viewer/maui/UI-Customization.md
new file mode 100644
index 000000000..06571c01d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/UI-Customization.md
@@ -0,0 +1,33 @@
+---
+layout: post
+title: UI Customization in .NET MAUI PDF Viewer control | Syncfusion
+description: Learn here all about the UI customization options in Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control and more.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+---
+
+# UI Customization in .NET MAUI PDF Viewer (SfPdfViewer)
+
+This section walks you through the UI customization options supported in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
+
+## Customize the loading indicator
+
+You can customize the loading indicator’s properties by applying a style with the `TargetType` property to `ActivityIndicator`. You may also need to set the [ApplyToDerivedTypes](https://learn.microsoft.com/en-us/dotnet/maui/user-interface/styles/xaml?view=net-maui-7.0#apply-a-style-to-derived-types) property to `True` to get the style applied to the derived classes. See the following code example to customize the color of the loading indicator.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer>
+	<syncfusion:SfPdfViewer.Resources>
+		<Style TargetType="ActivityIndicator" 
+			   ApplyToDerivedTypes="True">
+				<Setter Property="Color" Value="Red" />
+			</Style>
+	</syncfusion:SfPdfViewer.Resources>
+</syncfusion:SfPdfViewer>
+
+{% endhighlight %} 
+{% endtabs %}
+
+N> For complete customization of the PDF Viewer, themes can be applied. Refer to the [theme user guide](https://help.syncfusion.com/maui/themes/themes) for detailed instructions. You can also explore the [sample project](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples/tree/master/Styles/PDFViewerThemes), which demonstrates the custom theme implementation for the PDF Viewer in .NET MAUI applications.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Undo-Redo.md b/Document-Processing/PDF/PDF-Viewer/maui/Undo-Redo.md
new file mode 100644
index 000000000..0646ac12f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Undo-Redo.md
@@ -0,0 +1,68 @@
+---
+layout: post
+title: Undo and Redo actions in .NET MAUI PDF Viewer | Syncfusion
+description: Learn here all about Undo and Redo actions on the annotations using Syncfusion<sup>®</sup> .NET MAUI PDF Viewer (SfPdfViewer) control.
+platform: MAUI
+control: SfPdfViewer
+documentation: ug
+keywords: .net maui pdf viewer, .net maui view pdf, pdf viewer in .net maui, .net maui open pdf, maui pdf viewer, maui pdf view
+---
+
+# Undo and Redo in .NET MAUI PDF Viewer (SfPdfViewer)
+
+If you performed any undesired actions when adding, removing, moving, resizing or editing annotations, you can undo and redo the action to restore the previous state. This section will go through how to perform the undo and redo the changes made on the annotations.
+
+For desktop platforms such as Windows and macOS, you can also use the following shortcut keys to perform the actions.
+
+<table>
+<tr>
+<th>Action & Shortcut keys</th>
+<th>Windows</th>
+<th>macOS</th>
+</tr>
+<tr>
+<th>Undo</th>
+<td><code>Ctrl</code> + <code>z</code></td>
+<td><code>Command</code> + <code>z</code></td>
+</tr>
+<tr>
+<th>Redo</th>
+<td><code>Ctrl</code> + <code>y</code></td>
+<td><code>Command</code> + <code>y</code></td>
+</tr>
+</table>
+
+## Undo
+
+You can perform undo to reverse the most recent action performed on the annotations using the [UndoCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_UndoCommand) of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html). The following code examples explain how to bind the command to a button in XAML to perform the action on button click, and also execute the command programmatically as well.
+
+{% tabs %}
+{% highlight XAML %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer"/>
+<Button x:Name="Undo" Command="{Binding Path=UndoCommand,Source={x:Reference PdfViewer}}"/>
+{% endhighlight %}
+{% highlight C# %}
+void PerformUndo()
+{
+    // Undo the last operation using the UndoCommand of `SfPdfViewer` instance.
+    PdfViewer.UndoCommand.Execute(true);
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Redo
+
+You can perform redo to restore the last undone function using the [RedoCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_RedoCommand) of the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).. The following code examples explains how to bind the command to a button in XAML to perform the action on button click and also executing the command programmatically as well.
+
+{% tabs %}
+{% highlight XAML %}
+<syncfusion:SfPdfViewer x:Name="PdfViewer"/>
+<Button x:Name="Redo" Command="{Binding Path=RedoCommand,Source={x:Reference PdfViewer}}"/>{% endhighlight %}
+{% highlight C# %}
+void PerformRedo()
+{
+    // Redo the last operation using the RedoCommand of `SfPdfViewer` instance.
+    PdfViewer.RedoCommand.Execute(true);
+}
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Bookmark-navigation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Bookmark-navigation.md
new file mode 100644
index 000000000..9548ff1db
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Bookmark-navigation.md
@@ -0,0 +1,31 @@
+---
+layout: post
+title: Bookmark navigation in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Bookmark navigation support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Bookmark navigation in UWP PDF Viewer (SfPdfViewer)
+
+PDF Viewer allows users to navigate to the bookmarks present in the loaded PDF document. 
+
+## Programmatically navigate to a bookmark destination
+
+You can navigate to a desired bookmark destination using the `GotoBookmark(PdfBookmark)` method. The target/destination bookmark should be provided as the parameter to this method. Refer to the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Create an object for PdfLoadedDocument
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(documentStream);
+
+//Retrieves the bookmark collection from the loaded PDF document
+PdfBookmarkBase bookmark = loadedDocument.Bookmarks;
+
+//Navigate to the specified bookmark destination offset
+pdfViewerControl.GoToBookmark(bookmark[0]);
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Creating-custom-toolbar.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Creating-custom-toolbar.md
new file mode 100644
index 000000000..682a448c5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Creating-custom-toolbar.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: Creating a custom toolbar in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Creating a custom toolbar support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Creating a custom toolbar in UWP PDF Viewer (SfPdfViewer)
+
+PdfViewer does not have a toolbar by default. But a custom toolbar can be designed at the sample with its buttons wired to the PdfViewer APIs. 
+
+## Creating separate UIs for desktop and mobile
+
+Create a new UWP project (the name &#34;PdfViewerCustomToolbar&#34; is used here). It will by default have a MainPage.xaml file, a MainPage.xaml.cs file. Create a new folder in the project with name &#34;DeviceFamily-Mobile&#34; and create another XAML file with the same name MainPage.xaml in this folder.  Open this file and set the class property to MainPage.xaml.cs. 
+
+{% tabs %}
+{% highlight xaml %}
+
+x:Class="PdfViewerCustomToolbar.MainPage";
+
+{% endhighlight %}
+{% endtabs %}
+
+Make sure that both the xaml files are in the same namespace &#34;PdfViewerCustomToolbar&#34;
+
+{%tabs%}
+{%highlight xaml%}
+
+xmlns:local="using:PdfViewerCustomToolbar";
+
+{%endhighlight%}
+{%endtabs%}
+
+The reason for two XAML files is that same UI design cannot be used for both desktop and mobile. So, one XAML file is used for desktop UI and the other is for mobile UI. The MainPage.xaml.cs file serve as the common code behind for both XAML pages. 
+
+In the constructor of MainPage set the DataContext to PdfViewer. 
+
+{%tabs%}
+{%highlight c#%}
+
+this.DataContext = pdfViewer;
+
+{%endhighlight%}
+{%endtabs%}
+
+The UI design of the application for desktop and mobile is illustrated in the following documentation pages. The link to the common sample can be found at the ends of both the documentation pages.  
+
+1.	[Desktop design](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/ui-design-for-desktop)
+2.	[Mobile design](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/ui-design-for-mobile)
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage10.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage10.jpeg
new file mode 100644
index 000000000..226b93731
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage10.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage11.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage11.jpeg
new file mode 100644
index 000000000..4f0f1323d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage11.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage12.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage12.png
new file mode 100644
index 000000000..2b4ef699f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage12.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage13.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage13.jpeg
new file mode 100644
index 000000000..8da2c3afa
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage13.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage14.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage14.jpeg
new file mode 100644
index 000000000..1ab7c9253
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage14.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage15.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage15.jpeg
new file mode 100644
index 000000000..7b4e4eb2a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage15.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage16.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage16.jpeg
new file mode 100644
index 000000000..96fbe8ea6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage16.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage17.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage17.jpeg
new file mode 100644
index 000000000..a9be55446
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage17.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage18.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage18.jpeg
new file mode 100644
index 000000000..2935efffe
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage18.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage19.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage19.jpeg
new file mode 100644
index 000000000..5a52aab5b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage19.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage20.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage20.jpeg
new file mode 100644
index 000000000..b35a42c97
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage20.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage21.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage21.jpeg
new file mode 100644
index 000000000..e0b425ada
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage21.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage22.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage22.png
new file mode 100644
index 000000000..ef0a67356
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage22.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage23.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage23.png
new file mode 100644
index 000000000..c1e99eb9e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage23.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage24.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage24.png
new file mode 100644
index 000000000..262550292
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage24.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage4.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage4.jpeg
new file mode 100644
index 000000000..af9cb80ba
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage4.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage5.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage5.jpeg
new file mode 100644
index 000000000..b057652bd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage5.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage6.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage6.jpeg
new file mode 100644
index 000000000..96d4cdf52
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage6.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage7.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage7.jpeg
new file mode 100644
index 000000000..a6d7df371
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage7.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage9.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage9.jpeg
new file mode 100644
index 000000000..b8d894839
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/CustomToolbarImages/CustomToolbarImage9.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Customizing-progress-ring.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Customizing-progress-ring.md
new file mode 100644
index 000000000..5a5bd1aac
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Customizing-progress-ring.md
@@ -0,0 +1,35 @@
+---
+layout: post
+title: Customizing progress ring in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Customizing progress ring support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Customizing progress ring in UWP PDF Viewer (SfPdfViewer)
+The following code illustrates the design of the progress ring in red color foreground with dimension of 100x100. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section. 
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Creates custom progress ring.
+ProgressRing progressRing = new ProgressRing();
+progressRing.Foreground = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 0, 0));
+progressRing.Width = 100;
+progressRing.Height = 100;
+//Assigns custom progress ring to the Viewer control.
+pdfViewer.PdfProgressRing = progressRing;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Creates custom progress ring.
+Dim progressRing As New ProgressRing()
+progressRing.Foreground = New SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 0, 0))
+progressRing.Width = 100
+progressRing.Height = 100
+'Assigns custom progress ring to the Viewer control.
+pdfViewer.PdfProgressRing = progressRing
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Exporting-pages-as-image.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Exporting-pages-as-image.md
new file mode 100644
index 000000000..16ac30dec
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Exporting-pages-as-image.md
@@ -0,0 +1,146 @@
+---
+layout: post
+title: Exporting pages as images in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Exporting pages as images support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Exporting pages as images in UWP PDF Viewer (SfPdfViewer)
+
+The SfPdfViewer allow user to export page of the PDF document as an Image. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/viewing-pdf) section. 
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the second page of the PDF document as an Image.
+Image pageImg = pdfViewer.GetPage(2);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the second page of the PDF document as an Image.
+Dim pageImg As Image = pdfViewer.GetPage(2)
+{% endhighlight %}
+{% endtabs %}
+
+To export a single page of the PDF document as an Image with custom zoom factor, use the below code.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the second page of the PDF document as an Image 300% magnified.
+Image pageImg = pdfViewer.GetPage(2, 300);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the second page of the PDF document as an Image 300% magnified.
+Dim pageImg As Image = pdfViewer.GetPage(2, 300)
+{% endhighlight %}
+{% endtabs %}
+
+The following code explains how to export multiple pages as images.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the pages between start and end page index as image array.
+Image[] pageImgCollection = pdfViewer.GetPages(0, 5);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the pages between start and end page index as image array.
+Dim pageImgCollection As Image() = pdfViewer.GetPages(0, 5)
+{% endhighlight %}
+{% endtabs %}
+
+To export multiple pages as images with custom magnification factor, please follow the below code.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the pages between start and end index as image array in the mentioned zoom factor.
+Image[] pageImgCollection = pdfViewer.GetPages(0, 5, 200);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the pages between start and end index as image array in the mentioned zoom factor.
+Dim pageImgCollection As Image() = pdfViewer.GetPage(0, 5, 200)
+{% endhighlight %}
+{% endtabs %}
+
+The SfPdfViewer allows the user to export pages of the PDF document as image stream to save the image in the disk.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the second page of the PDF document as an Image.
+Stream imageStream = pdfViewer.ExportAsImage(2);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the second page of the PDF document as an Image.
+Dim imageStream As Stream = pdfViewer.ExportAsImage(2)
+{% endhighlight %}
+{% endtabs %}
+
+To export page of PDF document as image stream with customized zoom factor, use the below code.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the second page of the PDF document as an Image 300% magnified.
+Stream imageStream = pdfViewer.ExportAsImage(2, 300);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the second page of the PDF document as an Image 300% magnified.
+Dim imageStream As Stream = pdfViewer.ExportAsImage(2, 300)
+{% endhighlight %}
+{% endtabs %}
+
+To export pages of PDF document as List of image streams, use the below code.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the pages between start and end index as image array.
+List<Stream> listOfImageStream = pdfViewer.ExportAsImage(0, 5);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the pages between start and end index as image array.
+Dim listOfImageStream As List(Of Stream) = pdfViewer.ExportAsImage(0, 5)
+{% endhighlight %}
+{% endtabs %}
+
+To export pages of PDF document as list of image streams with custom zoom factor follow the below code.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Exports the pages between start and end index as image array. 
+List<Stream> listOfImageStream = pdfViewer.ExportAsImage(0, 5, 200);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Exports the pages between start and end index as image array.
+Dim listOfImageStream As List(Of Stream) = pdfViewer.ExportAsImage(0, 5, 200)
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Hyperlink.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Hyperlink.md
new file mode 100644
index 000000000..1ad29850e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Hyperlink.md
@@ -0,0 +1,125 @@
+---
+layout: post
+title: Hyperlink in UWP PDF Viewer control | Syncfusion
+description: Learn here all about the Hyperlink support in the Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Hyperlink in UWP PDF Viewer (SfPdfViewer)
+
+PDF Viewer supports hyperlink navigation which detects document link and web link present in the pages of the PDF document. Tapping on the TOC and hyperlink will behave in the following manner.
+
+1) If the tapped text contains web link, then the URI associated with the hyperlink will be opened in the default browser.
+
+2) If the tapped text contains document link, then the PDF Viewer navigates to the destination page index which is associated with it.
+
+## How to disable hyperlink navigation in PDF document using PDF Viewer control?
+
+You can disable the hyperlink navigation by setting the “AllowHyperlinkNavigation” property of PDF Viewer to false. By default, hyperlink navigation will be enabled in PDF Viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewerControl" AllowHyperlinkNavigation="False"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire the properties of clicked URI from PDF Viewer?
+
+You can acquire the details of the hyperlink that is tapped in the PDF Viewer control from the HyperlinkEventArgs of HyperlinkPointerPressed event. Refer to the following code example for more details.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewerControl" HyperlinkPointerPressed="pdfViewerControl_HyperlinkPointerPressed"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+        public void pdfViewerControl_HyperlinkPointerPressed(object sender,HyperlinkEventArgs args)
+        {
+			// Gets or sets a value indicating whether the hyperlink navigation was handled.
+            args.Handled = false;
+
+            // Gets the hyperlink being clicked.
+            string uri = args.URI;
+
+            // Gets the current page index of the hyperlink.
+            int pageIndex = args.PageIndex;
+
+            //Gets the destination page index of the hyperlink.
+            int destinationPageIndex = args.DestinationPageIndex;
+
+            //Gets the bounds of the hyperlink is being clicked.
+            RectangleF hyperlinkBound = args.Bounds;
+
+            //Gets the whether the tapped hyper link is a Web Link or Document Link.
+            HyperlinkType linkType = args.HyperlinkType
+
+        }
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to detect whether the mouse pointer is over the hyperlink text?
+
+The event `HyperlinkPointerMoved` will be raised when the mouse pointer is moved over the hyperlink text. Refer to the following code example for more details.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewerControl" HyperlinkPointerMoved="pdfViewerControl_HyperlinkPointerMoved"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+        public void pdfViewerControl_HyperlinkPointerMoved(object sender,HyperlinkEventArgs args)
+        {
+			// Gets or sets a value indicating whether the hyperlink navigation was handled.
+            args.Handled = false;
+
+            // Gets the hyperlink being clicked.
+            string uri = args.URI;
+
+            // Gets the current page index of the hyperlink.
+            int pageIndex = args.PageIndex;
+
+            //Gets the destination page index of the hyperlink.
+            int destinationPageIndex = args.DestinationPageIndex;
+
+            //Gets the bounds of the hyperlink is being clicked.
+            RectangleF hyperlinkBound = args.Bounds;
+
+            //Gets the whether the tapped hyper link is a Web Link or Document Link.
+            HyperlinkType linkType = args.HyperlinkType
+
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to restrict the URI navigation from the PDF Viewer?
+
+By default, web link or document link navigation is performed on tapping the hyperlink text. This navigation can be restricted using the property 'Handled' of the `HyperlinkEventArgs`. Refer to the following code snippet for more details.
+
+{% tabs %}
+{% highlight c# %}
+
+        public void pdfViewerControl_HyperlinkPointerPressed(object sender,HyperlinkEventArgs args)
+        {
+			// Setting the property to true will restrict the URI navigation inside the PDF Viewer control. In default, the value is false.
+            args.Handled = false;
+        }
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization.md
new file mode 100644
index 000000000..85926fce5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title: Localization in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Localization support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+keywords: localization
+---
+# Localization in UWP PDF Viewer (SfPdfViewer)
+
+Localization is the process of configuring the application to a specific language. SfPdfViewerControl provides support to localize the context menu. Localization can be done by adding resource file (Resw) and setting the specific culture in the application.
+
+## Setting language in the app manifest file
+
+The following steps illustrates you how to configure the app package for localization using the manifest designer
+
+* In **Solution** **Explorer**, expand the project node of your UWP app.
+* Double-click the **Package****.****appxmanifest** file. If the manifest file is already open in the XML code view, Visual Studio prompts you to close the file.
+* Now specify the **Default** **language** on the **Application** tab as required to localize your app. Click on **More** **information** to know about the supported languages.
+
+![Package manifest](Localization_images/Localization_img1.png)
+
+
+* Save the app manifest file after setting the default language.
+
+## Adding Resource file
+
+* Create a folder with name ‘Resources’ in your application.
+* Create a folder with language (“en-US”, “fr-FR”, etc.) under ‘Resources’ to hold the resource file for the respective language.
+* Add default English (“en-US”) [Resw](https://www.syncfusion.com/downloads/support/directtrac/general/ze/en-US-891902496.zip)(resource) file of SfPdfViewerControl in the ‘en-US’ folder, named as Syncfusion.SfPdfViewerControl.UWP.Resources.resw, Syncfusion.SfColorPickers.WinRT.Resources.resw and Localization.Resources. resw respectively. For your reference, French(“fr-FR”) [Resw](https://www.syncfusion.com/downloads/support/directtrac/general/ze/fr-FR-343408989.zip) file.
+
+![Culture resources](Localization_images/Localization_img2.png)
+
+
+* Add the resource key such as name and its corresponding localized value in Resource Designer of Syncfusion.SfPdfViewerControl.UWP.Resources.resw, Syncfusion.SfColorPickers.WinRT.Resources.resw file.
+
+![Resource Dictionary](Localization_images/Localization_img3.png)
+
+
+The following screenshot shows the localization of context menu in SfPdfViewerControl.
+
+![Output](Localization_images/Localization_img4.png)
+
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img1.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img1.png
new file mode 100644
index 000000000..ebbb207d3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img1.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img2.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img2.png
new file mode 100644
index 000000000..dd63fff00
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img2.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img3.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img3.png
new file mode 100644
index 000000000..86f876a20
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img3.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img4.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img4.png
new file mode 100644
index 000000000..92ec882b4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Localization_images/Localization_img4.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Printing-PDF.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Printing-PDF.md
new file mode 100644
index 000000000..a0017c47d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Printing-PDF.md
@@ -0,0 +1,207 @@
+---
+layout: post
+title: Printing PDF in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Printing PDF support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Printing PDF in UWP PDF Viewer (SfPdfViewer)
+
+Printing can be done using the Print method or by using the Print command.
+
+The following code shows how to perform the print operation using Print method. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/viewing-pdf) section. 
+
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Prints the document loaded in the PDF viewer
+    pdfViewer.Print();
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Prints the document loaded in the PDF viewer
+    pdfViewer.Print()
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to bind the PrintCommand to a Button
+
+{% tabs %}
+{% highlight xaml %}
+<Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer"/> 
+        <Button Command="{Binding PrintCommand}" />
+</Grid>
+{% endhighlight %}
+{% endtabs %}
+
+## Printing PDF Asynchronously
+
+The PDF Viewer allows you to print the PDF document asynchronously using the `PrintAsync` method. You can also cancel the asynchronous printing when it is in progress.
+
+{% tabs %}
+{% highlight c# %}
+
+//Asynchronously  prints the document loaded in the PDF viewer 
+pdfViewer.PrintAsync(cancellationTokenSource);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the `cancellationTokenSource` enables you to cancel the asynchronous printing when it is in progress
+
+### Cancel the asynchronous PDF printing
+
+You can raise the cancel request when printing is in progress
+
+{% tabs %}
+{% highlight c# %}
+
+private void cancelButton_Clicked(object sender, EventArgs e)
+ { 
+   cancellationTokenSource.Cancel();
+ }
+ 
+{% endhighlight %}
+{% endtabs %}
+
+ In the above code sample, the cancellationTokenSource instance is the same as the one given as the argument when printing the PDF document asynchronously.
+ 
+ N> Calling the above method will not have any effect once the printing is complete. It will stop the printing process only when it is in progress.
+ 
+### Handling exceptions while performing the asynchronous print
+
+When the `PrintAsync` is called, the PDF Viewer will show the print previewer. Exceptions will be thrown if the print cannot be performed. The exceptions will be propagated back to the caller of this method. We recommend catching these exceptions as follows.
+
+{% tabs %}
+{% highlight c# %}
+
+  private void printButton_Clicked(object sender, EventArgs e)
+        {
+            try
+            {
+                
+                //Sets the name of the printed document.
+                pdfViewer.PrinterSettings.DocumentName = “PdfFileName.pdf”;
+
+                //Asynchronously  prints the document loaded in the PDF viewer 
+                await pdfViewerControl.PrintAsync(cancellationToken);
+            }
+            catch (Exception e)
+            {
+                ContentDialog printErrorDialog = new ContentDialog()
+                {
+                    Title = "Printing error",
+                    Content = "Printing cannot proceed at this time.",
+                    PrimaryButtonText = "OK"
+                };
+                await printErrorDialog.ShowAsync();
+            }
+        } 
+{% endhighlight %}
+{% endtabs %}
+
+
+N> The [`SfPdfViewer`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) control for UWP does not support silent printing and so this method can be used only when the PDF document is displayed in the PDF viewer.
+
+
+## Quality factor for Print
+
+The PDF Viewer allows the user to set and retrieve the quality factor for print by using the [`QualityFactor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PrinterSettings.html#Syncfusion_Windows_PdfViewer_PrinterSettings_QualityFactor) property. The default value of this API is set to 1, and the values are restricted between 1 and 5. The values falling below the range are taken as 1, which represents the lowest page quality, and those above the range are taken as 5, which represents the highest page quality.
+Refer to the following code sample to set the quality factor for the print.
+
+{% highlight c# %}
+
+//Sets the quality factor for the print.
+pdfViewer.PrinterSettings.QualityFactor = 2;
+
+{% endhighlight %}
+
+N> Printing with quality factors higher than 2 will work as expected in the x64 configuration but may cause `System.OutOfMemoryException` in the x86 configuration due to the limited memory capacity of this architecture.
+
+## Customizing the print previewer
+
+You can customize the print options displayed in the print previewer while performing a print operation in the PDF Viewer control. The event `PrintTaskRequested` will be raised when you call the Print method to print a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Wire up the PrintTaskRequested event with the PdfViewer_PrintTaskRequested
+pdfViewer.PrintTaskRequested += PdfViewer_PrintTaskRequested;
+
+{% endhighlight %}
+{% endtabs %}
+
+In the `PrintTaskRequested` event handler, you can include the required print options such as the number of copies, collation, duplex, and more by creating a `PrintTask` using the properties `Request` and `PrintDocumentSource`. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_PrintTaskRequested(object sender, SfPdfViewerPrintTaskRequestedEventArgs e)
+        {
+            PrintTask printTask = null;
+            
+           //Create a print task to customize the print options
+            printTask = e.Request.CreatePrintTask("Printing", sourceRequested =>
+            {
+
+                PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);
+                IList<string> displayedOptions = printDetailedOptions.DisplayedOptions;
+
+                //Allows to add the required print options
+                displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.CustomPageRanges);
+                printTask.Options.PageRangeOptions.AllowCurrentPage = true;
+                printTask.Options.PageRangeOptions.AllowAllPages = true;
+                printTask.Options.PageRangeOptions.AllowCustomSetOfPages = true;
+
+                // Set the pdfViewerControl�s print document source
+                sourceRequested.SetSource(e.PrintDocumentSource);
+                e.PrintTask = printTask;
+
+            });
+
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+Refer to the following code example to disable the print preview,
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PrintTaskRequested+= PrintTaskRequested;
+        private void PrintTaskRequested(object sender, SfPdfViewerPrintTaskRequestedEventArgs e)
+        {
+            PrintTask printTask = null;
+            printTask = e.Request.CreatePrintTask("Printing", sourceRequested =>
+            {
+
+                // Set the SfPdfViewerControl�s print document source
+                sourceRequestedArgs.SetSource(e.PrintDocumentSource);
+
+            });
+            printTask.IsPreviewEnabled = false;
+            e.PrintTask = printTask;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Though if you specify any print options to be displayed, only those that are supported by the selected printer are shown in the print preview UI. The print UI won't show options that the selected printer doesn't support. The print options will appear in the order in which they are added.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Select-And-Copy-Text.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Select-And-Copy-Text.md
new file mode 100644
index 000000000..1a35e1135
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Select-And-Copy-Text.md
@@ -0,0 +1,107 @@
+---
+layout: post
+title: Working with text selection in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Working with text selection support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements, and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Working with text selection in UWP PDF Viewer (SfPdfViewer)
+
+The PDF Viewer supports text selection and copy feature, which allows user to select the text in the PDF document and copy it to the clipboard. This section illustrates about how to use this feature.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>IsTextSelectionEnabled</td>
+<td>Gets or sets the value that enables or disables the text selection feature in the PDF Viewer. This property when set to true enables text selection and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewerControl" IsTextSelectionEnabled="False"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Text selection feature in the PDF Viewer is disabled.
+pdfViewerControl.IsTextSelectionEnabled = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to select text?
+
+Follow below steps to select text in the PDF file. 
+
+### Using touch gestures
+
+1) Tap over the texts in the page, the tapped word will be selected and two bubbles will be displayed on each end. Similarly text can be selected by long pressing a particular word as well.
+
+2) Tap and drag the left bubble to select the text at the left and top, and the right bubble to select the text at the right and bottom directions. 
+
+### Using mouse
+
+1) The mouse pointer will be changed to the text selection pointer when pointed over the text region.
+
+2) Place the mouse pointer on the text area and click the mouse left button and drag the mouse pointer over the text to select the text in any direction.
+
+3) To select a particular word, you can double click on it.
+
+## How to modify the selection color?
+
+The color used for text selection and the color of the handle can be customized. The property SelectionColor in the TextSelectionSettings class of PdfViewerControl can be used to customize them. The below code snippet illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Customizing the color being displayed while selecting the text from PDF document.
+pdfViewerControl.TextSelectionSettings.SelectionColor = global::Windows.UI.Color.FromArgb(150, 150, 207, 226);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable/disable copy button in text selection?
+
+We can enable/disable the visibility of the copy button while performing text selection. The below code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disables the copy button during text selection
+pdfViewerControl.TextSelectionMenu.CopyButton.Visibility = Visibility.Collapsed;
+
+{% endhighlight %}
+{% endtabs %}
+
+By default, the visibility of the copy button is Visible.
+
+## How to get the selected text?
+
+When the text selection action is completed, the `TextSelectionCompleted` event will be raised. The event arguments will contain the selected text.
+
+{% tabs %}
+{% highlight c# %}
+
+PdfViewer.TextSelectionCompleted += PdfViewer_TextSelectionCompleted;
+
+private void PdfViewer_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs e)
+{
+    //Get the selected text
+    string selectedText = e.SelectedText;
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-desktop.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-desktop.md
new file mode 100644
index 000000000..2f965675f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-desktop.md
@@ -0,0 +1,752 @@
+---
+layout: post
+title: Desktop in UWP Pdf Viewer control | Syncfusion
+description: Learn here all about Desktop support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Desktop in UWP Pdf Viewer (SfPdfViewer)
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage22.png)
+
+In desktop the custom toolbar application has the following toolbars.
+
+1.	Top toolbar
+2.	Annotation toolbar
+3.	Search toolbar
+4.	Bookmark toolbar
+
+All the four toolbars will not be always visible. Some of the toolbars will be visible only when required. For instance, the search toolbar will appear only when the search button is clicked. Toolbars in the custom toolbar application are designed in such a way that multiple toolbars will share a row or column. Their visibility will be toggled based on the requirement of the toolbars. When one toolbar is visible, others will be hidden. 
+
+The code snippets provided in this whole section are basic and are only given as examples. Do not copy and paste them as such in your sample. For working code refer the complete sample attached at the bottom of this page. This sample is the same as in the &#34;UI design for mobile&#34; page. 
+
+## PdfViewer
+
+Add a Grid to the desktop XAML page and name it as &#34;parentGrid&#34; and add rows and columns as shown below. This Grid will act as the parent of all elements in the sample. Define an event handler for the Loaded method of the Grid. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid x:Name="parentGrid" Loaded="PageLoaded" >
+<Grid.ColumnDefinitions>
+            <ColumnDefinition Width="40" />
+            <ColumnDefinition Width="*" />
+        </Grid.ColumnDefinitions>
+
+        <Grid.RowDefinitions>
+            <RowDefinition Height="40" />
+            <RowDefinition Height="*" />
+        </Grid.RowDefinitions>
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+Add PdfViewer to the main Grid parentGrid. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<cc:SfPdfViewerControl Name="pdfViewer" Grid.Row="1" Grid.ColumnSpan="2"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the PageLoaded method, load a PDF from the Assets folder. Set the text of the PageCountText textbox to the page count of the PDF. The PageCountText textbox will be described later in the &#34;Top Toolbar&#34; section
+
+{% tabs %}
+{% highlight c# %}
+
+private async void PageLoaded(object sender, RoutedEventArgs e)
+{
+    Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly;
+    Stream fileStream = assembly.GetManifestResourceStream("PdfViewerCustomToolbar.Assets.WindowsStoreApps_Succinctly.pdf");
+    byte[] buffer = new byte[fileStream.Length];
+    fileStream.Read(buffer, 0, buffer.Length);
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    BookmarkButton.IsEnabled = false;
+    pdfViewer.PageChanged += PdfViewer_PageChanged;
+    pdfViewer.LoadDocument(loadedDocument);
+    if (PageCountText != null)
+       PageCountText.Text = string.Format("of {0}", pdfViewer.PageCount.ToString());
+
+    if (loadedDocument.Bookmarks.Count > 0)
+       BookmarkButton.IsEnabled = true;
+
+    LoadNavigator(loadedDocument);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Top toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage4.jpeg)
+
+The top toolbar will have buttons and other UI elements which will do the following operations. 
+
+1.	Open a PDF
+2.	Save the PDF
+3.	Print 
+4.	Go to previous page
+5.	Go to next page
+6.	Input page number
+7.	Display total page count 
+8.	Zoom in 
+9.	Zoom out
+10.	Fit the PDF to the width of PdfViewer
+11.	Fit the PDF so that a whole page is visible
+12.	Add annotations
+13.	Search a given text
+
+Add a Grid to the parentGrid and add the listed UI elements in successive columns. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid IsTapEnabled="False" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2">
+<Grid x:Name="topToolbar" Background="#1d1d1d">
+
+	<Grid.ColumnDefinitions>
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="20" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="70" />
+		<ColumnDefinition Width="20" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="20" />
+		<ColumnDefinition Width="50" />
+		<ColumnDefinition Width="*" />
+		<ColumnDefinition Width="50" />
+	</Grid.ColumnDefinitions>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Opening and saving
+
+Add buttons with names &#34;Open&#34; and &#34;Save&#34;. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="OpenButton" Grid.Column="0" Click="OpenButton_Click">
+<Button x:Name="SaveButton" Grid.Column="1" Click="SaveButton_Click"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the click event handler of the open button read a new PDF using FileOpenPicker into a Stream and load it into PdfViewer. 
+
+{% tabs %}
+{% highlight c# %}
+
+async private void OpenButton_Click(object sender, RoutedEventArgs e)
+{
+    var picker = new FileOpenPicker();
+    picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
+    picker.ViewMode = PickerViewMode.List;
+    picker.FileTypeFilter.Add(".pdf");
+    var file = await picker.PickSingleFileAsync();
+    if (file == null) return;
+       var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
+
+    Stream fileStream = stream.AsStreamForRead();
+    byte[] buffer = new byte[fileStream.Length];
+    fileStream.Read(buffer, 0, buffer.Length);
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+    if (PageCountText != null)
+       PageCountText.Text = string.Format("of {0}", pdfViewer.PageCount.ToString());
+    //Fill the bookmark tree with the bookmarks available in the PDF
+    LoadNavigator(loadedDocument);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The LoadNavigator method is used to populate the bookmark pane with the bookmarks. This method is explained further in the bookmarks section. 
+In the event handler of the save button save the PDF at a location picked by the user using FileSavePicker. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void SaveButton_Click(object sender, RoutedEventArgs e)
+{
+    string filename = "output.pdf";
+    Stream stream = pdfViewer.Save();
+    stream.Position = 0;
+
+    FileSavePicker savePicker = new FileSavePicker();
+    savePicker.DefaultFileExtension = ".pdf";
+    savePicker.SuggestedFileName = filename;
+    savePicker.FileTypeChoices.Add("Adobe PDF Document", new List<string>() { ".pdf" });
+    StorageFile stFile = await savePicker.PickSaveFileAsync();
+    if (stFile != null)
+    {
+       Windows.Storage.Streams.IRandomAccessStream fileStream = await stFile.OpenAsync(FileAccessMode.ReadWrite);
+       Stream st = fileStream.AsStreamForWrite();
+       st.SetLength(0);
+       st.Write((stream as MemoryStream).ToArray(), 0, (int)stream.Length);
+       st.Flush();
+       st.Dispose();
+       fileStream.Dispose();
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Printing and page navigation
+
+Add buttons with names &#34;PrintButton&#34;, &#34;PrevPageButton&#34;,&#34;NextPageButton&#34;. Set the Command properties of the buttons to PrintCommand, PreviousPageCommand and NextPageCommand respectively. 
+
+Remember that the DataContext of the MainPage is PdfViewer. 
+
+In the next column add a text box which accepts the page number to go to. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="PrintButton" Grid.Column="2" Command="{Binding PrintCommand}" />
+<Button Name="PrevPageButton" Grid.Column="4" Command="{Binding PreviousPageCommand}" />
+<Button Name="NextPageButton" Grid.Column="5" Command="{Binding NextPageCommand}" />
+<TextBox x:Name="PageDestinationTextBox" Grid.Column="6" KeyDown="PageDestinationTextBox_KeyDown"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the KeyDown event handler of the textbox get the input page number from the textbox and navigate to the page using GoToPage method. 
+
+{% tabs %}
+{% highlight c# %}
+
+private async void PageDestinationTextBox_KeyDown(object sender, KeyRoutedEventArgs e)
+{
+    if (!string.IsNullOrEmpty(PageDestinationTextBox.Text))
+    {
+         bool result = int.TryParse(PageDestinationTextBox.Text, out destinationPage);
+         if (e.Key == VirtualKey.Enter && result)
+         {
+             if (destinationPage > 0 && destinationPage <= pdfViewer.PageCount)
+             {
+                 pdfViewer.GotoPage(destinationPage);
+                 e.Handled = true;
+             }     
+         }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Display total number of pages
+
+Add a text block with name &#34;PageCountText&#34;.
+
+{% tabs %}
+{% highlight xaml %}
+
+<TextBlock x:Name="PageCountText " Grid.Column="7" />
+
+{% endhighlight %}
+{% endtabs %}
+
+## Magnification and view mode
+
+Add buttons with names &#34;ZoomInButton&#34; and &#34;ZoomOutButton&#34; and set the Command properties to IncreaseZoomCommand and DecreaseZoomCommand. 
+Then add buttons with names &#34;FitWidthButton&#34; and &#34;OnePageButton&#34;.   
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="ZoomInButton" Grid.Column="9" Command="{Binding IncreaseZoomCommand}" />
+<Button x:Name="ZoomOutButton" Grid.Column="10" Command="{Binding DecreaseZoomCommand}" />
+<Button x:Name="FitWidthButton" Grid.Column="11" Click="FitWidthButtonClicked"/>
+<Button x:Name="OnePageButton" Grid.Column="12" Click="OnePageButtonClicked" />
+
+{% endhighlight %}
+{% endtabs %}
+
+In the click event handlers of the buttons set the &#34;ViewMode&#34; of the PdfViewer.
+
+{% tabs %}
+{% highlight c# %}
+
+private void FitWidthButtonClicked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.ViewMode = PageViewMode.FitWidth;
+}
+
+private void OnePageButtonClicked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.ViewMode = PageViewMode.OnePage;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add annotations 
+
+Add a button with name &#34;AnnotationButton&#34;.
+{% tabs %}
+{% highlight xaml %}
+
+<Button Name="AnnotationButton" Grid.Column="14" Click="AnnotationButton_Click" />
+
+{% endhighlight %}
+{% endtabs %}
+
+In the click event handler toggle the visibility of the annotation toolbar. Creation of the annotation toolbar will be described shortly.
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+   if (!isAnnotationTabVisible)
+   {
+      AnnotationTab.Visibility = Visibility.Visible;
+      isAnnotationTabVisible = true;
+   }
+   else
+   {
+      AnnotationTab.Visibility = Visibility.Collapsed;
+      isAnnotationTabVisible = false;
+   }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Search a given text
+
+Add a button with name &#34;SearchButton&#34;. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button Name="SearchButton" Grid.Column="16" Click="SearchButton_Click" />
+
+{% endhighlight %}
+{% endtabs %}
+
+In the click event handler toggle the visibility of the search toolbar. Search toolbar will be describer later. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void SearchButton_Click(object sender, RoutedEventArgs e)
+{
+    if (!isSearchTabVisible)
+    {
+        SearchTab.Visibility = Visibility.Visible;
+        isSearchTabVisible = true;
+    }
+    else
+    {
+        SearchTab.Visibility = Visibility.Collapsed;
+        isSearchTabVisible = false;
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Annotation toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage5.jpeg)
+
+The annotation toolbar will have buttons for the following operations. 
+
+1.	Add ink annotations
+2.	Add text highlights
+3.	Add text underlines
+4.	Add text strikethrough
+5.	Add Lines
+6.	Add Rectangles
+7.	Add ellipses
+8.	Undo the annotation changes
+9.	Redo the annotation changes
+10.	Add popup annotations
+
+Add a Grid to the desktop xaml with name &#34;AnnotationToolbar&#34; and add the listed elements in successive columns. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="0" x:Name="AnnotationToolbar">
+    <Grid.ColumnDefinitions>
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="30" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="30" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="30" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="50" />
+       <ColumnDefinition Width="*" />
+       <ColumnDefinition Width="50" />
+     </Grid.ColumnDefinitions>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add annotations
+
+Add a toggle buttons with names &#34;InkButton&#34;, &#34;HighlightButton&#34;, &#34;UnderlineButton&#34;, &#34;StrikethroughButton&#34;, &#34;LineButton&#34;,&#34;RectangleButton&#34;, &#34;EllipseButton&#34; and &#34;PopupButton&#34;. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<ToggleButton Name="InkButton" Grid.Column="0" Checked="InkButton_Checked" Unchecked="InkButton_Unchecked" />
+
+<ToggleButton Name="HighlightButton" Grid.Column="2" Checked="HighlightButton_Checked" Unchecked="HighlightButton_Unchecked" />
+
+<ToggleButton Name="UnderlineButton" Grid.Column="3" Checked="UnderlineButton_Checked" Unchecked="UnderlineButton_Unchecked" />
+
+<ToggleButton Name="StrikethroughButton" Grid.Column="4" Checked="StrikethroughButton_Checked" Unchecked="StrikethroughButton_Unchecked" />
+
+<ToggleButton Name="LineButton" Grid.Column="6" Checked="LineButton_Checked" Unchecked="LineButton_Unchecked" />
+
+<ToggleButton Name=" RectangleButton" Grid.Column="7" Checked=" RectangleButton_Checked" Unchecked=" RectangleButton_Unchecked" /> 
+
+<ToggleButton Name="EllipseButton" Grid.Column="8" Checked="EllipseButton_Checked" Unchecked="EllipseButton_Unchecked" /> 
+
+<ToggleButton Name="PopupButton" Grid.Column="12" Checked="PopupButton_Checked" Unchecked="PopupButton_Unchecked" />
+
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Checked event handlers of the toggle buttons enable the annotations 
+
+{% tabs %}
+{% highlight c# %}
+
+private void InkButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.InkAnnotationCommand.Execute(true);
+} 
+
+private void HighlightButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.HighlightAnnotationCommand.Execute(true);
+}
+
+private void UnderlineButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.UnderlineAnnotationCommand.Execute(true);
+}
+
+private void StrikethroughButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.StrikeoutAnnotationCommand.Execute(true);
+}
+
+private void LineButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.LineAnnotationCommand.Execute(true);
+}
+
+private void RectangleButton_Checked (object sender, RoutedEventArgs e)
+{
+    pdfViewer. RectangleAnnotationCommand.Execute(true);
+}
+
+private void EllipseButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.EllipseAnnotationCommand.Execute(true);
+}
+
+private void PopupButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PopupAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Unchecked event handlers disable the annotations. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void InkButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.InkAnnotationCommand.Execute(false);
+}
+
+private void HighlightButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.HighlightAnnotationCommand.Execute(false);
+}
+
+private void UnderlineButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.UnderlineAnnotationCommand.Execute(false);
+}
+
+private void StrikethroughButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.StrikeoutAnnotationCommand.Execute(false);
+}
+
+private void LineButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.LineAnnotationCommand.Execute(false);
+}
+
+private void RectangleButton_Unchecked (object sender, RoutedEventArgs e)
+{
+    pdfViewer. RectangleAnnotationCommand.Execute(false);
+}
+
+private void EllipseButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.EllipseAnnotationCommand.Execute(false);
+    m_isButtonClicked = true;
+}
+
+private void PopupButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PopupAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Undo and redo annotation changes
+
+Add two buttons set their Command properties to UndoCommand and RedoCommand respectively. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button Grid.Column="10" Command="{Binding ElementName=pdfViewer, Path=UndoCommand, Mode=TwoWay}" />
+<Button Grid.Column="11" Command="{Binding ElementName=pdfViewer, Path=RedoCommand, Mode=TwoWay}" />
+
+{% endhighlight %}
+{% endtabs %}
+
+## Search toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage6.jpeg)
+
+The search toolbar will have the UI elements listed below. 
+
+1.	Text box to get the input text
+2.	Button to go to the next instance
+3.	Button to go to the previous instance
+
+Add a Grid with name &#34;SearchToolbar&#34;. In this Grid add a textbox with name &#34;SearchTextBox&#34; and two buttons with names &#34;NextButton&#34; and &#34;PreviousButton&#34; in successive columns. 
+Set the Command properties of the buttons to SearchNextCommand and SearchPreviousCommand respectively.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="0" x:Name=" SearchToolbar" >
+   <Grid.ColumnDefinitions>
+      <ColumnDefinition Width="260" />
+      <ColumnDefinition Width="50" />
+      <ColumnDefinition Width="50" />
+    </Grid.ColumnDefinitions>
+
+<TextBox Name="SearchTextBox" FontSize="12" Grid.Column="0" PlaceholderText="   Enter text to search" KeyDown="SearchTextBox_KeyDown" />
+
+<Button x:Name="NextButton" Grid.Column="3" Command="{Binding SearchNextCommand}" CommandParameter="{Binding Text, ElementName=SearchTextBox}" />
+
+<Button x:Name="PrevButton" Grid.Column="2" Command="{Binding SearchPreviousCommand}" CommandParameter="{Binding Text, ElementName=SearchTextBox}" />
+                </Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Bookmark toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage7.jpeg)
+
+Bookmark toolbar consists of a button which when clicked shows the bookmarks available in the PDF. 
+Add a Grid with name &#34;BookmarkToolbar&#34; to the parentGrid. Add a button with name &#34;BookmarkButton&#34; to this grid. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid x:Name="BookmarkToolbar" Grid.Row="1" Grid.Column="0">
+<Button x:Name="BookmarkButton" Click="Bookmark_Click"/>        
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Click event handler of the bookmark button toggle the visibility of the bookmark grid which will show the available bookmarks. The bookmark grid will be described shortly. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void Bookmark_Click(object sender, RoutedEventArgs e)
+{
+
+    if (!isBookmarkClicked)
+    {
+        BookmarkGrid.Visibility = Visibility.Visible;
+        isBookmarkClicked = true;
+    }
+    else
+    {
+        BookmarkGrid.Visibility = Visibility.Collapsed;
+        isBookmarkClicked = false;
+    }
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Add another grid to the parentGrid. This grid will have the following UI elements. 
+
+1.	Button to close the bookmarks
+2.	Syncfusion&#39;s SfTreeNavigator control to show the bookmarks
+
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Column="0" x:Name="BookmarkGrid" Visibility="Collapsed" Width="300" >
+    <Grid.RowDefinitions>
+        <RowDefinition Height="40" />
+        <RowDefinition Height="*" />
+    </Grid.RowDefinitions>
+
+<Grid Grid.Row="0">
+
+<Button x:Name="closeBookmarkButton" Click="closeBookmarkButton_Click" HorizontalAlignment="Right"/>
+
+</Grid>
+
+<tn:SfTreeNavigator x:Name="treeNavigator" Grid.Row="1" Width="300" NavigationMode="Extended" />
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Click event handler of the close button hide the bookmark grid. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void closeBookmarkButton_Click(object sender, RoutedEventArgs e)
+{
+    BookmarkGrid.Visibility = Visibility.Collapsed;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Implement the LoadNavigator method which is called when a PDF is loaded as mentioned in the &#34;open and save&#34; section. Iterate through all the bookmarks available in the PDF and populate the SfTreeNavigator with NavigatorItems with bookmarks&#39; names as title in a tree structure. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void LoadNavigator(PdfLoadedDocument loadedDocument)
+{
+    PdfBookmarkBase bookmarkBase = loadedDocument.Bookmarks;
+    PdfBookmark bookmark;
+    SfTreeNavigatorItem navigatorItem;
+
+    treeNavigator.Items.Clear();
+
+    for (int i = 0; i < bookmarkBase.Count; i++)
+    {
+        bookmark = bookmarkBase[i] as PdfLoadedBookmark;
+        navigatorItem = AddChildBookmarks(bookmark);
+        navigatorItem.ItemClicked += NavigatorItem_ItemClicked;
+                  
+        treeNavigator.Items.Add(navigatorItem);
+    }
+}
+
+private SfTreeNavigatorItem AddChildBookmarks(PdfBookmark bookmark)
+{
+    if (bookmark != null)
+    {
+       SfTreeNavigatorItem child = new SfTreeNavigatorItem() { Padding = new Thickness(10) };
+
+       string header = bookmark.Title;
+       child.Header = header;
+       child.ItemClicked += NavigatorItem_ItemClicked;
+       
+       child.Tag = bookmark;
+
+        if (bookmark.Count != 0)
+        {
+            for (int i = 0; i < bookmark.Count; i++)
+            {
+                SfTreeNavigatorItem innerChild = new SfTreeNavigatorItem();
+                string innerHeader = bookmark.Title;
+        
+
+                child.Header = innerHeader;
+                innerChild.ItemClicked += NavigatorItem_ItemClicked;
+        
+                innerChild.Tag = bookmark[i];
+                child.Items.Add(innerChild);
+            }
+         }
+
+         if (child.Items != null)
+         {
+             for (int i = 0; i < child.Items.Count; i++)
+                 child.Items[i] = AddChildBookmarks(bookmark[i]);
+         }
+         return child;
+    }
+    else
+        return null;
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+When a NavigatorItem is clicked the bookmark is retrieved from its Tag property and PdfViewer is programmatically scrolled through the bookmark&#39;s destination using the GoToBookmark method. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void NavigatorItem_ItemClicked(object Sender, Syncfusion.UI.Xaml.Controls.Navigation.ItemClickEventArgs args)
+{
+    SfTreeNavigatorItem item = Sender as SfTreeNavigatorItem;
+    PdfBookmark bookmark = item.Tag as PdfBookmark;
+    if(bookmarkScroller != null)
+    {
+         if (bookmark.Count > 0)
+             bookmarkScroller.ChangeView(null, 0, null);
+    }
+    pdfViewer.GoToBookmark(bookmark);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Sample:
+
+<http://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfViewerCustomToolbar154257435>
+
+Note that this sample is common to both mobile design and desktop design. 
+
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-mobile.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-mobile.md
new file mode 100644
index 000000000..af1149185
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/UI-design-for-mobile.md
@@ -0,0 +1,888 @@
+---
+layout: post
+title: Mobile in UWP Pdf Viewer control | Syncfusion
+description: Learn here all about Mobile support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# UI design for mobile in UWP Pdf Viewer
+
+![UWP Pdf Viewer in custom toolbar](CustomToolbarImages/CustomToolbarImage23.png)
+
+PdfViewer does not have a toolbar by default. But a custom toolbar can be designed at the sample with its buttons wired to the PdfViewer APIs. 
+
+In mobile the custom toolbar application has the following toolbars. 
+
+1.	Top toolbar
+2.	More options toolbar
+3.	Common annotation bottom toolbar
+4.	Shape annotation top toolbar
+5.	Text markup annotation top toolbar
+6.	Ink annotation top toolbar
+7.	Popup annotation top toolbar
+8.	Search top toolbar
+9.	Search bottom toolbar
+10.	Bookmark toolbar
+11.	Page number panel
+12.	Page slider
+
+By default, only the PDF will be displayed along with the page number text box at the left bottom corner. The toolbars will appear only if the PDF is tapped. They will disappear if the PDF is tapped again. Not all the toolbars will be visible when the PDF is tapped. Some toolbars will appear only when necessary. For instance, search toolbars will appear only when the search button is clicked.  
+
+Also, multiple toolbars occupy same row or column and their visibility are toggled based on necessity. Among multiple toolbars that occupy same column or row only one is visible at a time. 
+The code snippets provided in this whole section are basic and are only given as examples. Do not copy and paste them as such in your sample. For working code refer the complete sample attached at the bottom of this page. 
+
+### Performing mobile specific operations in the common code behind
+
+The code behind file MainPage.xaml.cs file is common as mentioned earlier. However, the code snippets are repeated here for convenience. 
+Since a common code behind file is used and there are a few differences between mobile and desktop UI designs, we need to identify at some times, whether the application is running on desktop or mobile. In mobile the following condition will be true. 
+
+Windows.Foundation.Metadata.ApiInformation.IsTypePresent(&#34;Windows.Phone.UI.Input.HardwareButtons&#34;) 
+
+In the code snippets below, the code found under an if statement with the above condition are only meant to run in mobile.  
+
+### PdfViewer
+
+Add a Grid with name &#34;parentGrid&#34; to the mobile xaml page. This Grid will act as the parent of all elements in the sample. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Loaded="PageLoaded" x:Name="parentGrid">
+   <Grid.RowDefinitions>
+       <RowDefinition Height="*"/>
+   </Grid.RowDefinitions>
+
+{% endhighlight %}
+{% endtabs %}
+
+Add the PdfViewer to the parent Grid. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<cc:SfPdfViewerControl Name="pdfViewer"></cc:SfPdfViewerControl>
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Loaded event handler of the parentGrid load the default PDF from the assets folder. 
+
+{% tabs %}
+{% highlight c# %}
+
+private async void PageLoaded(object sender, RoutedEventArgs e)
+{
+    Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly;
+    Stream fileStream = assembly.GetManifestResourceStream("PdfViewerCustomToolbar.Assets.WindowsStoreApps_Succinctly.pdf");
+    byte[] buffer = new byte[fileStream.Length];
+    fileStream.Read(buffer, 0, buffer.Length);
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    BookmarkButton.IsEnabled = false;
+    pdfViewer.PageChanged += PdfViewer_PageChanged;
+    pdfViewer.LoadDocument(loadedDocument);
+    if (PageCountText != null)
+       PageCountText.Text = string.Format("of {0}", pdfViewer.PageCount.ToString());
+	if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
+	{
+		PdfSlider.Minimum = 1;
+		PdfSlider.Maximum = pdfViewer.PageCount;
+		PdfSlider.Value = 1;
+		CurrentPage.Text = "1";
+		PageNumber.Text = "/" + pdfViewer.PageCount.ToString();
+		DocumentName.Text = "Windows Store Apps Succinctly.pdf";
+	}
+
+    if (loadedDocument.Bookmarks.Count > 0)
+       BookmarkButton.IsEnabled = true;
+
+    LoadNavigator(loadedDocument);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Top toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage9.jpeg)
+
+Top toolbar has the following elements
+
+1.	A TextBlock which displays the PDF name
+2.	Bookmark button	
+3.	Text search button	
+4.	More options button
+
+Add a Grid with name &#34;TopToolbar&#34; to the parentGrid. In successive columns add a TextBlock with name &#34;DocumentName&#34;, Two buttons with name &#34;BookmarkButton&#34; and &#34;SearchButton&#34; and a ToggleButton with name &#34;MoreButton&#34;. 
+
+{% tabs %}
+{% highlight xaml %}
+
+   <Grid x:Name="TopToolbar" Height="70" >
+       <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="5*"></ColumnDefinition>
+            <ColumnDefinition Width="2*"></ColumnDefinition>
+            <ColumnDefinition Width="2*"></ColumnDefinition>
+            <ColumnDefinition Width="2*"></ColumnDefinition>
+       </Grid.ColumnDefinitions>
+
+          <TextBlock Grid.Column="0" Name="DocumentName" Foreground="White" Margin="5 0 0 0"/>
+       
+          <Button Grid.Column="1" x:Name="BookmarkButton"Click="BookmarkButton_Click" HorizontalAlignment="Center"/>
+
+          <Button Grid.Column="2" Name="SearchButton" Click="SearchButton_Click" />
+        
+           <ToggleButton Grid.Column="3" Name="MoreButton" Checked="MoreButton_Checked" Unchecked="MoreButton_Unchecked" />
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+The document name is set to the DocumentName text block when the PDF is loaded in both PageLoaded method described above and the OpenButton_Click method which will be described later. 
+In the Click event handler of the BookmarkButton make the bookmark pane visible. The bookmark pane will be described later. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void BookmarkButton_Click(object sender, RoutedEventArgs e)
+{
+    BookmarkToolbar.Visibility = Visibility.Visible;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Checked event handler of the more button make the more options toolbar visible and in the Unchecked event handler make it invisible. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void MoreButton_Checked(object sender, RoutedEventArgs e)
+{
+     MoreOptionsTab.Visibility = Visibility.Visible;
+}
+
+private void MoreButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     MoreOptionsTab.Visibility = Visibility.Collapsed;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### More options toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage10.jpeg)
+
+More options toolbar contains buttons to perform the following operations
+1.	Add ink annotations
+2.	Add text markups
+3.	Add shapes
+4.	Save the PDF
+5.	Open a PDF
+6.	Set the view mode to single page
+7.	Add popup annotations
+
+Add a Grid with name &#34;MoreOptionsTab&#34; to the parentGrid.  
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid x:Name="MoreOptionsTab" >
+     <Grid.RowDefinitions>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+         <RowDefinition Height="1*"></RowDefinition>
+      </Grid.RowDefinitions>
+
+      <Button x:Name="GlobalInkButton" Grid.Row="0" Click="InkButton_Click" />
+ 
+      <Button x:Name="TextMarkupButton" Grid.Row="1" Click="TextMarkupButton_Click" />
+ 
+      <Button x:Name="ShapesButton" Grid.Row="2" Click="ShapesButton_Click" />
+      
+       <Button x:Name="GlobalSaveButton" Grid.Row="3" Click="SaveButton_Click" />
+       
+       <Button x:Name="GlobalOpenButton" Grid.Row="4" Click="OpenButton_Click" />
+                                
+       <Button Name="singlePageButton" Grid.Row="5" Click="SinglePageButton_OnClick" />
+                
+       <Button Name="normalViewButton" Grid.Row="5" Click="NormalViewButton_Click" />
+
+       <Button x:Name="PopupButton" Grid.Row="6" Click="PopupButton_Click" />
+ </Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+The single page button and normal view button occupy the same column. Their visibility is toggled based on the current view mode. In the click event handlers of the annotation buttons make the corresponding toolbar visible. These toolbars for each annotation will be described further below. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void InkButton_Click(object sender, RoutedEventArgs e)
+{
+     InkAnnotationToolbar.Visibility = Visibility.Visible;
+}
+
+private void PopupButton_Click(object sender, RoutedEventArgs e)
+{
+     PopupAnnotationToolbar.Visibility = Visibility.Visible;
+}
+
+private void TextMarkupButton_Click(object sender, RoutedEventArgs e)
+{
+     TextMarkupAnnotationToolbar.Visibility = Visibility.Visible;
+}
+
+private void ShapesButton_Click(object sender, RoutedEventArgs e)
+{
+     ShapeAnnotationToolbar.Visibility = Visibility.Visible;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Click event handler of the save button save the PDF to the location picked by the user.
+
+{% tabs %}
+{% highlight c# %}
+
+private void SaveButton_Click(object sender, RoutedEventArgs e)
+{
+    Stream stream = pdfViewer.Save();
+    string filename = "output.pdf";
+    stream.Position = 0;
+
+    FileSavePicker savePicker = new FileSavePicker();
+    savePicker.DefaultFileExtension = ".pdf";
+    savePicker.SuggestedFileName = filename;
+    savePicker.FileTypeChoices.Add("Adobe PDF Document", new List<string>() { ".pdf" });
+    StorageFile stFile = await savePicker.PickSaveFileAsync();
+    if (stFile != null)
+    {
+         Windows.Storage.Streams.IRandomAccessStream fileStream = await stFile.OpenAsync(FileAccessMode.ReadWrite);
+         Stream st = fileStream.AsStreamForWrite();
+         st.SetLength(0);
+         st.Write((stream as MemoryStream).ToArray(), 0, (int)stream.Length);
+         st.Flush();
+         st.Dispose();
+         fileStream.Dispose();
+         MessageDialog messageDialog = new MessageDialog("File has been saved successfully.");
+         IUICommand cmd = await messageDialog.ShowAsync();
+    }
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+When the open button is clicked read the file picked by the user into a stream and load the stream to PdfViewer. Then populate the tree navigator with the bookmark titles as was done when the default PDF was loaded when the app was launched. 
+
+{% tabs %}
+{% highlight c# %}
+
+async private void OpenButton_Click(object sender, RoutedEventArgs e)
+{
+	var picker = new FileOpenPicker();
+	picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
+	picker.ViewMode = PickerViewMode.List;
+	picker.FileTypeFilter.Add(".pdf");
+	var file = await picker.PickSingleFileAsync();
+	if (file == null) return;
+	var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
+	Stream fileStream = stream.AsStreamForRead();
+	byte[] buffer = new byte[fileStream.Length];
+	fileStream.Read(buffer, 0, buffer.Length);
+	PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+
+	if (PageCountText != null)
+		PageCountText.Text = string.Format("of {0}", pdfViewer.PageCount.ToString());
+
+	//Fill the bookmark tree with the bookmarks available in the PDF
+	LoadNavigator(loadedDocument);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+When the view mode buttons are clicked set the PageView property of PdfViewer accordingly. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void NormalViewButton_Click(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PageView = PdfViewerPageView.ContinuousPageView;
+     singlePageButton.Visibility = Visibility.Visible;
+}
+
+private void SinglePageButton_OnClick(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PageView = PdfViewerPageView.SinglePageView;
+     singlePageButton.Visibility = Visibility.Collapsed;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Toolbars for different annotations
+
+When any of the annotations button is clicked the annotation toolbars will be shown. The designs of these toolbars are almost similar. 
+
+### Common bottom toolbar
+
+![UWP Pdf Viewer in common bottom toolbar](CustomToolbarImages/CustomToolbarImage24.png)
+
+The bottom toolbar is common for ink, text markup, shape and popup annotations. 
+
+1.	Back button which hides the toolbars
+2.	Undo button
+3.	Redo button
+
+Add a new Grid with name &#34;BottomAnnotationToolbar&#34; to the parent grid. This new grid will serve as the bottom toolbar as show in the screenshot which contains the buttons marked as 1, 2 and 3. 
+Set the Command properties of the 2nd and 3rd buttons to the UndoCommand and RedoCommand of PdfViewer respectively. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="3" Name="BottomAnnotationToolbar" >
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="2*"></ColumnDefinition>
+                <ColumnDefinition Width="2*"></ColumnDefinition>
+                <ColumnDefinition Width="2*"></ColumnDefinition>
+            </Grid.ColumnDefinitions>
+
+  <Button Grid.Column="0"  Click="BackButton_Click" Name="BackButton" />
+  <Button Grid.Column="1" Name="UndoButton" Command="{Binding ElementName=pdfViewer, Path=UndoCommand, Mode=TwoWay}" 
+  <Button Grid.Column="2" Name="RedoButton" Command="{Binding ElementName=pdfViewer, Path=RedoCommand, Mode=TwoWay}">
+
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When the back button is clicked, close all the annotation toolbars and show the default top and bottom toolbars. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void BackButton_Click(object sender, RoutedEventArgs e)
+{
+	if (InkAnnotationToolbar.Visibility == Visibility.Visible)
+		InkAnnotationToolbar.Visibility = Visibility.Collapsed;
+	else if (TextMarkupAnnotationToolbar.Visibility == Visibility.Visible)
+		TextMarkupAnnotationToolbar.Visibility = Visibility.Collapsed;
+	else if (ShapeAnnotationToolbar.Visibility == Visibility.Visible)
+		ShapeAnnotationToolbar.Visibility = Visibility.Collapsed;
+	else if (PopupAnnotationToolbar.Visibility == Visibility.Visible)
+		PopupAnnotationToolbar.Visibility = Visibility.Collapsed;
+	BottomAnnotationToolbar.Visibility = Visibility.Collapsed;
+	TopToolbar.Visibility = Visibility.Visible;
+	BottomToolbar.Visibility = Visibility.Visible;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Ink toolbar
+
+![UWP Pdf Viewer in ink toolbar](CustomToolbarImages/CustomToolbarImage12.png)
+
+The ink toolbar has only one button which enables or disables the ink annotation mode alternatively. 
+Add a grid with name &#34;InkAnnotationToolbar&#34; to the parent grid with a toggle button. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="1" x:Name="InkAnnotationToolbar" Height="70" >
+    <ToggleButton x:Name="InkButton" Checked="InkButton_Checked" Unchecked="InkButton_Unchecked"/>
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When the toggle button was checked enable ink annotation mode and disable it when unchecked. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void InkButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.InkAnnotationCommand.Execute(true);
+}
+
+private void InkButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.InkAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Shape annotation toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage13.jpeg)
+
+The shape annotation toolbar has three buttons. 
+1.	Line annotation mode button
+2.	Rectangle annotation mode button
+3.	Ellipse annotation mode button
+
+Add a grid with name &#34;ShapeAnnotationToolbar&#34; to the parent grid and add three toggle buttons to the grid. 
+
+{% tabs %}
+{% highlight xaml %}
+
+   <Grid x:Name="ShapeAnnotationToolbar" Grid.Row="1">
+       <Grid.ColumnDefinitions>
+           <ColumnDefinition Width="2*"></ColumnDefinition>
+           <ColumnDefinition Width="2*"></ColumnDefinition>
+           <ColumnDefinition Width="2*"></ColumnDefinition>
+       </Grid.ColumnDefinitions>
+
+      <ToggleButton Grid.Column="0" x:Name="LineButton"Checked="LineButton_Checked" Unchecked="LineButton_Unchecked" />
+      
+       <ToggleButton Grid.Column="1" x:Name="RectangleButton" Checked="RectangleButton_Checked" Unchecked="RectangleButton_Unchecked" />
+       <ToggleButton Grid.Column="2" x:Name="EllipseButton" Checked="EllipseButton_Checked" Unchecked="EllipseButton_Unchecked" />
+        </Grid>
+
+
+{% endhighlight %}
+{% endtabs %}
+
+In the Checked event of the toggle buttons enable the corresponding shape mode and disable the same in the Unchecked event. 
+
+{% tabs %}
+{% highlight c# %}
+
+   private void LineButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.LineAnnotationCommand.Execute(true);
+}
+
+private void LineButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.LineAnnotationCommand.Execute(false);
+}
+
+private void RectangleButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.RectangleAnnotationCommand.Execute(true);
+}
+
+private void RectangleButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.RectangleAnnotationCommand.Execute(false);
+}
+
+private void EllipseButton_Checked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.EllipseAnnotationCommand.Execute(true);
+}
+
+private void EllipseButton_Unchecked(object sender, RoutedEventArgs e)
+{
+    pdfViewer.EllipseAnnotationCommand.Execute(false);
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Popup annotation toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage21.jpeg)
+
+Popup annotation toolbar also has only one button to toggle the popup annotation mode.
+Add a grid to the parent grid and add a toggle button to it. 
+
+{% tabs %}
+{% highlight xaml %}
+
+    <Grid x:Name="PopupAnnotationToolbar" Grid.Row="1"  >
+         <ToggleButton x:Name="PopupButton" Checked="PopupButton_Checked" Unchecked="PopupButton_Unchecked">
+        </Grid>
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Enable popup annotation when the toggle button is checked and disable it when it is unchecked. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PopupButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PopupAnnotationCommand.Execute(true);
+}
+private void PopupButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.PopupAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Text markup annotation toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage20.jpeg)
+
+Text markup annotation toolbar has three toggle buttons for the options listed below. 
+1.	Text highlight 
+2.	Text underline 
+3.	Text strikethrough 
+
+Add a grid with name &#34;TextMarkupAnnotationToolbar&#34; to the parent grid and add three toggle buttons to the grid in successive columns. 
+
+{% tabs %}
+{% highlight xaml %}
+
+    <Grid x:Name="TextMarkupAnnotationToolbar" Grid.Row="1" >
+       <Grid.ColumnDefinitions>
+          <ColumnDefinition Width="2*"></ColumnDefinition>
+          <ColumnDefinition Width="2*"></ColumnDefinition>
+          <ColumnDefinition Width="2*"></ColumnDefinition>
+       </Grid.ColumnDefinitions>
+
+  <ToggleButton x:Name="HighlightButton" Grid.Column="0" Checked="HighlightButton_Checked" Unchecked="HighlightButton_Unchecked" />
+
+                 
+  <ToggleButton x:Name="UnderlineButton" Grid.Column="1" Checked="UnderlineButton_Checked" Unchecked="UnderlineButton_Unchecked">
+
+  <ToggleButton x:Name="StrikethroughButton" Grid.Column="2" Checked="StrikethroughButton_Checked" Unchecked="StrikethroughButton_Unchecked"        
+
+    </Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When a toggle button is checked enable the corresponding annotation mode and disable it when unchecked. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void HighlightButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.HighlightAnnotationCommand.Execute(true);
+}
+private void HighlightButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.HighlightAnnotationCommand.Execute(false);
+}
+
+private void UnderlineButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.UnderlineAnnotationCommand.Execute(true);
+}
+
+private void UnderlineButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.UnderlineAnnotationCommand.Execute(false);
+}
+
+private void StrikethroughButton_Checked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.StrikeoutAnnotationCommand.Execute(true);
+}
+
+private void StrikethroughButton_Unchecked(object sender, RoutedEventArgs e)
+{
+     pdfViewer.StrikeoutAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Search toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage19.jpeg)
+
+The search toolbar has two toolbars, one at the top and one at the bottom. 
+
+### Search top toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage18.jpeg)
+
+The search top toolbar has the following UI elements
+
+1.	Text box to get the input text
+2.	Search button
+3.	Cancel button
+Add a grid with name &#34;TopSearchToolbar&#34; to the parent grid and add a text box and two buttons. 
+
+
+{% tabs %}
+{% highlight xaml %}
+
+    <Grid x:Name="TopSearchToolbar" >
+           <Grid.ColumnDefinitions>
+               <ColumnDefinition Width="8.0*"></ColumnDefinition>
+               <ColumnDefinition Width="2.0*"></ColumnDefinition>
+           </Grid.ColumnDefinitions>
+
+           <Grid Grid.Column="0" >
+                 <Grid.ColumnDefinitions>
+                     <ColumnDefinition Width="10*"></ColumnDefinition>
+                  </Grid.ColumnDefinitions>
+
+           <Grid Grid.Column="0">
+               <Grid >
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="8*"></ColumnDefinition>
+                        <ColumnDefinition Width="2*"></ColumnDefinition>
+                    </Grid.ColumnDefinitions>
+
+           <Grid Grid.Column="0">
+           <TextBox  Name="PageSearchTextBox" />
+           </Grid>
+
+           <Grid Grid.Column="1">
+           <Button x:Name="SearchIcon" Click="SearchIcon_Click"/>
+           </Grid>
+           </Grid>
+           </Grid>
+                  
+
+           </Grid>
+           <Grid Grid.Column="1" x:Name="Close" >
+           <Button Name="CloseButton" Content="Cancel" Click="CloseSearch_Click"/>
+           </Grid>
+              
+           </Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When the search button was clicked, call the SearchText method of PdfViewer with the text obtained from the pageSearchTextBox. If a match is found, make the next button and previous button at the bottom search toolbar visible. The bottom search toolbar will be described later. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void SearchIcon_Click(object sender, RoutedEventArgs e)
+{
+	if (!string.IsNullOrEmpty(PageSearchTextBox.Text))
+	{
+		if (pdfViewer.SearchText(PageSearchTextBox.Text))
+		{
+			NextButton.Visibility = Visibility.Visible;
+			PrevButton.Visibility = Visibility.Visible;
+		}
+	}
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+When the cancel button was clicked the top and bottom toolbars will be hidden and the text will be cleared from the search text box. And the highlights on the found text instances will be cleared using PdfViewer&#39;s ClearTextSelectionCommand. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void CloseSearch_Click(object sender, RoutedEventArgs e)
+{
+	TopSearchTab.Visibility = Visibility.Collapsed;
+	SearchBottomToolbar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
+	TopTab.Visibility = Visibility.Visible;
+	BottomToolbar.Visibility = Windows.UI.Xaml.Visibility.Visible;
+	PageSearchTextBox.Text = "";
+	pdfViewer.ClearTextSelectionCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Search bottom toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage17.jpeg)
+
+The search bottom toolbar has two buttons
+
+1.	Previous button to go to the previous instance
+2.	Next button to go to the next instance
+
+Add a grid to the parent grid with the name &#34;SearchBottomToolbar&#34; and two buttons. Set the Command property of the buttons to PdfViewer&#39;s SearchPreviousCommand and SearchNextCommand respectively. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="5" x:Name="SearchBottomToolbar">
+  <Grid.ColumnDefinitions>
+     <ColumnDefinition Width="8*"></ColumnDefinition>
+     <ColumnDefinition Width="2*"></ColumnDefinition>
+     <ColumnDefinition Width="8*"></ColumnDefinition>
+   </Grid.ColumnDefinitions>
+                  
+<Button x:Name="PrevButton" Grid.Column="0"  Command="{Binding SearchPreviousCommand}" CommandParameter="{Binding Text, ElementName=PageSearchTextBox}" />
+
+<Button x:Name="NextButton" Grid.Column="2" Command="{Binding SearchNextCommand}" CommandParameter="{Binding Text, ElementName=PageSearchTextBox}"  />
+
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+### Bookmark toolbar
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage16.jpeg)
+
+Bookmark toolbar has the following UI elements. 
+
+1.	SfTreeNavigator inside a ScrollView to display the available bookmarks
+2.	Button to hide the bookmark toolbar
+
+Add a grid to the parent grid with name &#34;BookmarkLayer&#34; and add the tree navigator and the button. The bookmarks will be populated in the navigator whenever a new PDF is opened as described earlier. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid x:Name="BookmarkToolbar" Grid.Column="0" Visibility="Collapsed">
+  <Grid.RowDefinitions>
+     <RowDefinition Height="*" />
+     <RowDefinition Height="60" />
+  </Grid.RowDefinitions>
+
+<ScrollViewer Grid.Row="0" x:Name="bookmarkScroller">
+  <tn:SfTreeNavigator x:Name="treeNavigator" NavigationMode="Extended" >
+  </tn:SfTreeNavigator>
+ </ScrollViewer>
+
+<Button Grid.Row="1" x:Name="BookmarkBackButton"Click="BookmarkBackButton_Click" />
+
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When the back button in the bookmark toolbar is clicked hide the bookmark toolbar and show the default toolbars. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void BookmarkBackButton_Click(object sender, RoutedEventArgs e)
+{
+     BookmarkToolbar.Visibility = Visibility.Collapsed;
+     TopTab.Visibility = Visibility.Visible;
+     BottomToolbar.Visibility = Visibility.Visible;
+     PageNumberPanel.Visibility = Visibility.Visible;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Page slider
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage14.jpeg)
+
+The page slider grid has a slider which will navigate to pages when it is adjusted.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid  Grid.Row="3" Name="BottomToolbar" >
+   <Grid.ColumnDefinitions>
+      <ColumnDefinition Width="1*"></ColumnDefinition>
+      <ColumnDefinition Width="8*"></ColumnDefinition>
+      <ColumnDefinition Width="1*"></ColumnDefinition>
+   </Grid.ColumnDefinitions>
+<Slider Name="PdfSlider" GotFocus="PdfSlider_GotFocus" ValueChanged="PdfSlider_ValueChanged" Grid.Column="1" ></Slider>
+            
+</Grid>
+
+
+{% endhighlight %}
+{% endtabs %}
+
+When the value of the slider changes, run the slider timer. When the slider timer ticks go to the page that corresponds to the current position of the slider. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfSlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
+{
+    Slider slider = sender as Slider;
+    m_sliderCurrentValue = (int)e.NewValue;
+    m_sliderTickCount = 0;
+    m_sliderTimer.Start();
+}
+
+void sliderTimer_Tick(object sender, object e)
+{
+    if (m_sliderTickCount == 50)
+    {
+        if (m_sliderCurrentValue == pdfViewer.PageCount)
+            pdfViewer.GotoPage(m_sliderCurrentValue);
+         else if ((m_sliderCurrentValue) > 0)
+             pdfViewer.GotoPage(m_sliderCurrentValue);
+         m_sliderTickCount = 0;
+         m_sliderTimer.Stop();
+    }
+            m_sliderTickCount++;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Page number panel 
+
+![customtoolbarimage](CustomToolbarImages/CustomToolbarImage15.jpeg)
+
+The page number panel has the following UI elements
+
+1.	A text box to get input page number
+2.	A text block to display the total number of pages
+
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid Grid.Row="3" Name="PageNumberPanel" >
+    <Grid.ColumnDefinitions>
+        <ColumnDefinition Width="5*"></ColumnDefinition>
+        <ColumnDefinition Width="5*"></ColumnDefinition>
+    </Grid.ColumnDefinitions>
+
+    <TextBox Name="CurrentPage" Grid.Column="0" KeyDown="PageDestinationTextBox_KeyDown" />
+    <TextBlock Grid.Column="1" Name="PageCount" >
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+When the enter key is pressed after entering the input page number, navigate to the page using PdfViewer&#39;s GoToPage method with the entered number as parameter. 
+
+{% tabs %}
+{% highlight c# %}
+
+private async void PageDestinationTextBox_KeyDown(object sender, KeyRoutedEventArgs e)
+{
+   int destinationPage = 0;
+
+   if (!string.IsNullOrEmpty(CurrentPage.Text))
+   {
+       bool gotoResult = int.TryParse(CurrentPage.Text, out destinationPage);
+       if (e.Key == VirtualKey.Enter && gotoResult)
+       {
+            pdfViewer.GotoPage(destinationPage);
+            PageDestinationTextBox.Text = string.Empty;
+            e.Handled = true;
+       }
+   }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The page count on the PageCount text block is set whenever a new PDF is loaded as described earlier. 
+
+Sample link:
+<http://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfViewerCustomToolbar154257435>
+
+Note that this sample is common to both mobile design and desktop design. 
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Viewing-PDF.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Viewing-PDF.md
new file mode 100644
index 000000000..cb60232de
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Viewing-PDF.md
@@ -0,0 +1,151 @@
+---
+layout: post
+title: Viewing PDF in UWP PDF Viewer control | Syncfusion
+description: Learn here all about Viewing PDF support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Viewing PDF in UWP PDF Viewer (SfPdfViewer)
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) allows you to load the PDF documents from the [`stream`](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream?view=net-5.0), [`storageFile`](https://learn.microsoft.com/en-us/uwp/api/windows.storage.storagefile?view=winrt-19041), and [`PdfLoadedDocument`](https://help.syncfusion.com/cr/file-formats/Syncfusion.Pdf.Parsing.PdfLoadedDocument.html) object.
+
+## Loading a PDF using PdfLoadedDocument object
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) allows you to load the PDF document synchronously and asynchronously from the specified pdfLoadedDocument object using the `LoadDocument` and  `LoadDocumentAsync` methods respectively.
+
+The following code explains how to load the document synchronously using a [`PdfLoadedDocument`](https://help.syncfusion.com/cr/file-formats/Syncfusion.Pdf.Parsing.PdfLoadedDocument.html) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly;
+//Loads the stream from the embedded resource.
+fileStream = assembly.GetManifestResourceStream("ApplicationNameSpace.Assets.PDFFileName.pdf");
+byte[] buffer = new byte[fileStream.Length];
+fileStream.Read(buffer, 0, buffer.Length);
+//Create a new PDFLoadedDocument object.
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+{% endhighlight %}
+{% highlight vbnet %}
+'Create a new PDFLoadedDocument object.
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+{% endhighlight %}
+{% endtabs %}
+
+The following code explains how to load the document asynchronously using the [`PdfLoadedDocument`](https://help.syncfusion.com/cr/file-formats/Syncfusion.Pdf.Parsing.PdfLoadedDocument.html) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+//Create a new PDFLoadedDocument object.
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
+await pdfViewer.LoadDocumentAsync(loadedDocument, cancellationTokenSource.Token);
+pdfViewer.LoadDocument(loadedDocument);
+{% endhighlight %}
+{% highlight vbnet %}
+'Create a new PDFLoadedDocument object.
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+Dim cancellationTokenSource As New CancellationTokenSource()
+Await pdfViewer.LoadDocumentAsync(loadedDocument, cancellationTokenSource.Token)
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the [`CancellationToken`](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken?view=net-5.0) enables you to cancel the asynchronous loading of a PDF document when it is in progress.
+
+## Loading a PDF using Stream object
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) allows you to load the PDF document synchronously and asynchronously from the specified stream using the `LoadDocument` and `LoadDocumentAsync` methods respectively.
+
+The following code explains how to load the document synchronously using a [`stream`](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream?view=net-5.0) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly; 
+//Loads the stream from the embedded resource.
+fileStream = assembly.GetManifestResourceStream("ApplicationNameSpace.Assets.PDFFileName.pdf"); 
+pdfViewer.LoadDocument(fileStream);
+{% endhighlight %}
+{% highlight vbnet %}
+'Loads the stream from the embedded resource. 
+Dim assembly As Assembly = GetType(MainPage).GetTypeInfo().Assembly 
+docStream = assembly.GetManifestResourceStream("ApplicationNameSpace. Assets.PDFFileName.pdf")
+pdfViewer.LoadDocument(docStream)
+{% endhighlight %}
+{% endtabs %}
+
+The following code explains how to load the document asynchronously using a [`stream`](https://learn.microsoft.com/en-us/dotnet/api/system.io.stream?view=net-5.0) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly; 
+//Loads the stream from the embedded resource.
+fileStream = assembly.GetManifestResourceStream("ApplicationNameSpace.Assets.PDFFileName.pdf"); 
+CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
+await pdfViewer.LoadDocumentAsync(fileStream, cancellationTokenSource.Token);
+{% endhighlight %}
+{% highlight vbnet %}
+Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly; 
+//Loads the stream from the embedded resource.
+fileStream = assembly.GetManifestResourceStream("ApplicationNameSpace.Assets.PDFFileName.pdf"); 
+Dim cancellationTokenSource As New CancellationTokenSource()
+Await pdfViewer.LoadDocumentAsync(fileStream, cancellationTokenSource.Token)
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the [`CancellationToken`](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken?view=net-5.0) enables you to cancel the asynchronous loading of a PDF document when it is in progress.
+
+## Loading a PDF using the StorageFile object
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) allows you to load the PDF document synchronously and asynchronously from the specified storage file using the `LoadDocument` and  `LoadDocumentAsync` methods respectively.
+
+The following code explains how to load the document synchronously using a [`StorageFile`](https://learn.microsoft.com/en-us/uwp/api/windows.storage.storagefile?view=winrt-19041) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+//Opens a file picker.
+var picker = new FileOpenPicker();
+picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
+picker.ViewMode = PickerViewMode.List;
+//Filters the PDF files in the documents library.
+picker.FileTypeFilter.Add(".pdf");
+StorageFile file = await picker.PickSingleFileAsync();
+pdfViewer.LoadDocument(file);
+{% endhighlight %}
+{% highlight vbnet %}
+'Opens a file picker. Dim picker = New FileOpenPicker()
+picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary 
+picker.ViewMode = PickerViewMode.List 
+'Filters the PDF files in the documents library. 
+picker.FileTypeFilter.Add(".pdf") 
+Dim file = Await picker.PickSingleFileAsync()
+pdfViewer.LoadDocument(file)
+{% endhighlight %}
+{% endtabs %}
+
+The following code explains how to load the document asynchronously using a [`StorageFile`](https://learn.microsoft.com/en-us/uwp/api/windows.storage.storagefile?view=winrt-19041) object that was created from the PDF in the Assets folder of the application.
+
+{% tabs %}
+{% highlight c# %}
+//Opens a file picker.
+var picker = new FileOpenPicker();
+picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
+picker.ViewMode = PickerViewMode.List;
+//Filters the PDF files in the documents library.
+picker.FileTypeFilter.Add(".pdf");
+StorageFile file = await picker.PickSingleFileAsync();
+CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
+await pdfViewer.LoadDocumentAsync(file, cancellationTokenSource.Token);
+{% endhighlight %}
+{% highlight vbnet %}
+'Opens a file picker. Dim picker = New FileOpenPicker()
+picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary 
+picker.ViewMode = PickerViewMode.List 
+'Filters the PDF files in the documents library. 
+picker.FileTypeFilter.Add(".pdf") 
+Dim file = Await picker.PickSingleFileAsync()
+Dim cancellationTokenSource As New CancellationTokenSource()
+Await pdfViewer.LoadDocument(file, cancellationTokenSource.Token);
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the [`CancellationToken`](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken?view=net-5.0) enables you to cancel the asynchronous loading of a PDF document when it is in progress.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-annotations.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-annotations.md
new file mode 100644
index 000000000..431cf36fa
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-annotations.md
@@ -0,0 +1,189 @@
+---
+layout: post
+title: Working with annotations in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Working with annotations support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with annotations in UWP PDF Viewer
+
+PDF Viewer allows user to include annotations in PDF files and provides options to modify or remove the existing annotations. The supported annotations are below. 
+
+1. Text markup annotations
+2. Shape annotations
+3. Ink annotations
+4. Popup annotations
+5. Free text annotations.
+6. Free text callout annotations. 
+7. Stamp annotations.
+
+The individual annotation types are discussed in detail under their own sections. 
+
+## Annotation events. 
+
+PDF viewer provides the following events. 
+
+1. AnnotationAdded
+2. AnnotationTapped
+3. AnnotationSelected
+4. AnnotationDeselected
+5. AnnotationRemoved
+6. AnnotationMovedOrResized
+
+The properties of the annotation involved in the event can be obtained from the `AnnotationProperties` property of the event args parameter of each event except AnnotationMovedOrResized. Since the annotation properties are obtained from the same `AnnotationProperties` instance for all events except AnnotationMovedOrResized, only the AnnotationAdded event is illustrated below. 
+
+The properties of the included annotation can be obtained by casting the `AnnotationAddedEventArgs` parameter's AnnotationProperties property to the property of corresponding annotation type.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.AnnotationAdded += PdfViewer_AnnotationAdded;
+
+private void PdfViewer_AnnotationAdded(object sender, AnnotationAddedEventArgs e)
+{	
+	//Check whether the annotation is text markup
+	if (e.AnnotationProperties is TextMarkupProperties)
+	{
+		TextMarkupProperties properties = e.AnnotationProperties as TextMarkupProperties;
+
+		//Obtain the annotation type such as Highlight, Underline, Strikethrough
+		AnnotationMode annotationMode = properties.AnnotationType;
+
+		//Obtain color of the annotation
+		Color color = properties.Color;
+
+		//Obtain the opacity value of the annotation
+		double opacity = properties.Opacity;
+
+		//Obtain the page number in which the annotation is added
+		int pageNumber = properties.PageNumber;
+	}
+}
+
+{% endhighlight %}
+
+The properties of the annotation involved in the `AnnotationMovedOrResized` event can be obtained from the `AnnotationMovedOrResizedEventArgs` parameter of the event handler. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.AnnotationMovedOrResized += PdfViewer_AnnotationMovedOrResized;
+
+private void PdfViewer_AnnotationAdded(object sender, AnnotationMovedOrResizedEventArgs e)
+{	
+	//Obtain the new position and size
+	int newX = e.NewX;
+	int newY = e.NewY;
+	int newHeight = e.NewHeight;
+	int newWidth = e.NewWidth;
+
+	//Obtain the old position and size
+	int oldX = e.OldX;
+	int oldY = e.OldY;
+	int oldHeight = e.OldHeight;
+	int oldWidth = e.OldWidth;
+
+	//Obtain the page number in which the annotation is added
+	int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
+
+## Enable and disable selection of annotations
+
+By default, PdfViewer allows the user to select the annotations by tapping on it, this action is followed by the appearance of the selector around the selected annotation. The selection of annotations can be disabled by setting `IsReadOnly` property of `AnnotationSettings` class to true. The default value of this API will be false.
+
+{% highlight c# %}
+
+//Disable the selection of annotations
+pdfViewer.AnnotationSettings.IsReadOnly = true;
+
+{% endhighlight %}
+
+## Setting the author for the annotations.
+The `Author` property of the [`IAnnotation`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.IAnnotation.html) is used to set the name of the author for all supported annotations.
+
+Refer to the following code example.
+
+{% highlight c# %}
+//Initialize the SfPdfViewer
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+
+pdfViewer.AnnotationAdded += PdfViewer_AnnotationAdded;
+private void PdfViewer_AnnotationAdded(object sender, Syncfusion.Windows.PdfViewer.AnnotationAddedEventArgs e)
+		{
+			if (e.Annotation is IAnnotation)
+			{
+				//sets the author name for the added annotation.  
+				e.Annotation.Author = "Syncfusion";
+			}
+		}
+{% endhighlight %}
+
+## Deleting Annotations
+
+The PDF viewer supports removing a single annotation and all the annotations in the PDF document.
+
+### Remove a selected annotation
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+<Grid> <syncfusion:SfPdfViewerControl Name="pdfViewer"></syncfusion:SfPdfViewerControl> 
+<Button Content="deleteAnnotationButton" Click="deleteAnnotationButton_clicked” ></Button> </Grid>
+
+{% endhighlight %}
+
+{% highlight c# %}
+pdfViewer.AnnotationSelected += PdfViewer_AnnotationSelected;
+IAnnotation annotation;
+
+private void PdfViewer_AnnotationSelected(object sender, AnnotationSelectedEventArgs e)
+{
+  // Get the selected annotation      
+  annotation = e.Annotation;
+}
+
+private void deleteAnnotationButton_clicked(object sender, RoutedEventArgs e)
+{
+  //Delete the selected shape annotation
+  pdfViewer.RemoveAnnotation(annotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Remove all annotations
+
+The following code snippet illustrates removing all annotations from the PDF.
+
+{% highlight c# %}
+
+pdfViewer.ClearAllAnnotations();
+
+{% endhighlight %}
+
+## How to get the list of annotations present in the PDF?
+
+Use the [`AnnotationCollection`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_AnnotationCollection) property to get the list of annotations present in the PDF document. Refer to the following code sample.
+
+{% highlight c# %}
+
+//Gets the list annotations present in a PDF.
+var annotations = pdfViewer.AnnotationCollection;
+
+{% endhighlight %}
+
+## How to show or hide the annotations present in the PDF?
+
+Use the [`AnnotationVisibility`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_AnnotationVisibility) property to change the visibility of the annotations present in a PDF document. By default, the visibility of the annotation is `Visibility.Visible`.
+
+{% highlight c# %}
+
+//Gets or sets the visibility of the annotations.
+pdfViewer.AnnotationVisibility = Visibility.Collapsed;
+
+{% endhighlight %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-custom-stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-custom-stamp-annotation.md
new file mode 100644
index 000000000..9c809b229
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-custom-stamp-annotation.md
@@ -0,0 +1,69 @@
+---
+layout: post
+title: Custom stamp annotation in UWP PDF Viewer control | Syncfusion
+description: Learn about Custom stamp annotation support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Working with custom stamp annotations in UWP PDF Viewer (SfPdfViewer)
+
+The PDF Viewer allows you to include any form of UIElement (Button, Entry, Label, Image, and more) anywhere in the pages of the PDF Viewer as a custom stamp annotation. You can add, move, resize, and delete the custom stamp annotations. Also, you can save and load the existing custom stamp annotation associated with a PDF document.
+
+N> Stamp annotations can be saved only by using the SaveAsync method.
+
+## Add a custom stamp
+
+The custom stamps can be added using the [`AddStamp`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_AddStamp_Windows_UI_Xaml_UIElement_System_Int32_) method.
+
+<table>
+
+<tr>
+<th>Method</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>AddStamp(view, pageNumber)</td>
+<td>Add custom stamp to the specified page.</td>
+</tr>
+
+<tr>
+<td>AddStamp(view, pageNumber, position)</td>
+<td>Add custom stamp to the specified page and position as Point object.</td>
+</tr>
+
+<tr>
+<td>AddStamp(view, pageNumber, bounds)</td>
+<td>Add custom stamp to the specified page and position as Rectangle object.</td>
+</tr>
+
+</table>
+
+A typical example of a custom stamp in the real world includes adding an image as a custom stamp. The PDF Viewer provides an option to add any user-defined signature or seal image as a custom stamp to a PDF document. The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+private async void Button_Clicked(object sender, RoutedEventArgs e)
+{
+    //Set the image source.
+    Image image = new Image();
+    Stream imageStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("PdfViewerCustomToolbar.Assets.Image.png");
+    StackPanel grid = new StackPanel();
+    grid.Height = 100; 
+    grid.Width = 100; 
+    BitmapImage bitmap = new BitmapImage();
+    bitmap.DecodePixelHeight = 500;
+    bitmap.DecodePixelWidth = 500;
+    await bitmap.SetSourceAsync(imageStream.AsRandomAccessStream());
+    image.Source = bitmap;
+    if (image.Source != null)
+        grid.Children.Add(image);
+    //Add the image as a custom stamp to the first page using the AddStamp method.
+    pdfViewer.AddStamp(grid, 1, new Point(100,100));
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-annotation.md
new file mode 100644
index 000000000..30f1eab19
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-annotation.md
@@ -0,0 +1,148 @@
+---
+layout: post
+title: Free text annotation in UWP PDF Viewer control | Syncfusion
+description: Learn about free text annotation support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Working with free text annotations in UWP PDF Viewer (SfPdfViewer)
+
+The PDF Viewer allows you to include free text annotations in a PDF document and provides options to modify or remove the existing free text annotations.
+
+## Adding free text annotations
+
+### Enabling free text annotation mode
+
+To enable a free text annotation, execute the `FreeTextAnnotationCommand` with true as a parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="FreeTextAnnotationButton" Click="FreeTextAnnotationButton_Click"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void FreeTextAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.FreeTextAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling free text annotation mode
+
+The free text annotation can be disabled by executing the same command with false as a parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="ResetAnnotationButton" Click="ResetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void ResetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.FreeTextAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of free text annotations
+
+You can customize the default values of text color, text size, stroke color, fill color, and stroke width of all free text annotations to be added. This will not affect the already added free text annotations.
+
+### Setting the default text color
+
+You can set the default text color of the free text annotations by using the [`TextColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_TextColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationSettings.TextColor = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default text size
+
+You can set the default text size of the free text annotations by using the [`TextSize`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_TextSize) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationSettings.TextSize = 10;
+
+{% endhighlight %}
+
+### Setting the default fill color
+
+You can set the default fill background color of the free text annotations by using the [`FillColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_FillColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationSettings.FillColor= Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default border stroke color
+
+You can set the default border stroke color of the free text annotations by using the [`StrokeColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_StrokeColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationSettings.StrokeColor = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default border stroke width
+
+You can set the default border stroke width of the free text annotations by using the [`StrokeWidth`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_StrokeWidth) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationSettings.StrokeWidth = 2;
+
+{% endhighlight %}
+
+### Changing the properties of a selected free text
+
+You can change the properties of a selected free text annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+ 
+ ![customtoolbarimage](images/image6.png)
+
+## Detecting the change in appearance properties of free text annotations
+
+The changes made to the free text annotation properties can be detected using the `FreeTextAnnotationEdited` event. The property values before and after the change can be obtained using the [`FreeTextAnnotationEditedEventArgs`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.FreeTextAnnotationEditedEventArgs.html) parameter of the event’s handler.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationEdited += PdfViewer_FreeTextAnnotationEdited;
+
+private void PdfViewer_FreeTextAnnotationEdited (object sender, FreeTextAnnotationEditedEventArgs e)
+{
+	//Obtain the text after change
+	string newText = e.NewText;
+	//Obtain the text before change
+	string oldText = e.OldText;
+	//Obtain the text size after change
+	double newTextSize = e.NewTextSize;
+	//Obtain the text size before change
+	double oldTextSize = e.OldTextSize;
+	//Obtain the color after change
+	Color newColor = e.NewColor;
+	//Obtain the color before change
+	Color oldColor = e.OldColor;
+}
+
+{% endhighlight %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-callout-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-callout-annotation.md
new file mode 100644
index 000000000..231361fd1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-free-text-callout-annotation.md
@@ -0,0 +1,212 @@
+---
+layout: post
+title: Free text calllout annotation in UWP PDF Viewer control | Syncfusion
+description: Learn about free text callout annotation support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: SfPdfViewerControl
+documentation: ug
+---
+
+# Working with free text callout annotations in UWP PDF Viewer (SfPdfViewer)
+
+The PDF Viewer allows you to include free text callout annotations in a PDF document and provides options to modify or remove the existing free text callout annotations.
+
+## Adding free text callout annotations
+
+### Enabling free text callout annotation mode
+
+To enable a free text callout annotation, execute the `FreeTextCalloutAnnotationCommand` with true as a parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="FreeTextCalloutAnnotationButton" Click="FreeTextCalloutAnnotationButton_Click"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void FreeTextCalloutAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.FreeTextCalloutAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling free text callout annotation mode
+
+The free text callout annotation can be disabled by executing the same command with false as a parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="ResetAnnotationButton" Click="ResetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void ResetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.FreeTextCalloutAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of free text callout annotations
+
+You can customize the default values of text color, text size, stroke color, fill color, stroke width, and opacity of all free text callout annotations to be added. This will not affect the already added free text annotations.
+
+### Setting the default text color
+
+You can set the default text color of the free text callout annotations by using the [`TextColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_TextColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.TextColor = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default text size
+
+You can set the default text size of the free text callout annotations by using the [`TextSize`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_TextSize) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.TextSize = 10;
+
+{% endhighlight %}
+
+### Setting the default fill color
+
+You can set the default fill background color of the free text callout annotations by using the [`FillColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_FillColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextAnnotationCalloutSettings.FillColor= Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default border stroke color
+
+You can set the default border stroke color of the free text callout annotations by using the [`StrokeColor`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_StrokeColor) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.StrokeColor = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default border stroke width
+
+You can set the default border stroke width of the free text callout annotations by using the [`StrokeWidth`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextAnnotationSettings_StrokeWidth) property. Refer to the following code.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.StrokeWidth = 2;
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of free text callout annotations by using the [`Opacity`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_Opacity) property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.Opacity = 0.5f;
+
+{% endhighlight %}
+
+### Setting the default minimum width and minimum size
+
+By using the [`MinWidth`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_MinWidth) and [`MinHeight`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_MinHeight) properties, you can set the minimum width and height of the free text callout annotation for resizing.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.MinWidth= 100;
+pdfViewer.FreeTextCalloutAnnotationSettings.MinHeight= 100;
+
+{% endhighlight %}
+
+### Enable a free text input box with automatic resizing
+
+By using the [`AutoSizeFreeTextInputBox`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_AutoSizeFreeTextInputBox) property, you can enable or disable the automatic resizing of the free text input box.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.AutoSizeFreeTextInputBox= true;
+
+{% endhighlight %}
+
+### Setting the default callout line segment count
+
+You can set the default callout line segment count of the free text callout annotations by using the [`CalloutLineSegmentCount`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.PdfViewerFreeTextCalloutAnnotationSettings.html#Syncfusion_Windows_PdfViewer_PdfViewerFreeTextCalloutAnnotationSettings_CalloutLineSegmentCount) property. By default, the free text callout annotation is added with two line segments.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationSettings.CalloutLineSegmentCount = CalloutLineSegmentCount.One;
+
+{% endhighlight %}
+
+### Changing the properties of a selected free text callout
+
+You can change the properties of a selected free text callout annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+ 
+ ![customtoolbarimage](images/image7.png)
+
+## Detecting the movement of free text callout annotations
+
+The movement made in a free text callout annotations can be detected using the `FreeTextCalloutAnnotationMoved` event. The property values before and after the change can be obtained using the [`FreeTextCalloutAnnotationMovedEventArgs`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.FreeTextCalloutAnnotationMovedEventArgs.html) parameter of the event’s handler.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationMoved += PdfViewer_FreeTextCalloutAnnotationMoved;
+
+private void PdfViewer_FreeTextCalloutAnnotationMoved (object sender, FreeTextCalloutAnnotationMovedEventArgs e)
+{
+         //Obtain the new bounds of entire annotation after change
+	Rect newBounds =  e.NewBounds;
+	// Obtain the old bounds of entire annotation after change
+	Rect oldBounds = e.OldBounds;
+	// Obtain the new bounds of callout text after change
+	Rect newCalloutBounds = e.NewCalloutBounds;
+ 	// Obtain the old bounds of callout text after change
+	Rect oldCalloutBounds = e.OldCalloutBounds;
+}
+
+{% endhighlight %}
+
+## Detecting the resize of free text callout annotations
+
+The resizing of the free text callout annotations can be detected using the `FreeTextCalloutAnnotationResized` event. The property values before and after the change can be obtained using the [`FreeTextCalloutAnnotationResizedEventArgs`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.FreeTextCalloutAnnotationResizedEventArgs.html) parameter of the event’s handler.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.FreeTextCalloutAnnotationResized += PdfViewer_FreeTextCalloutAnnotationResized;
+
+private void PdfViewer_FreeTextCalloutAnnotationResized (object sender, FreeTextCalloutAnnotationResizedEventArgs e)
+{
+         //Obtain the new bounds of entire annotation after change
+	Rect newBounds =  e.NewBounds;
+	// Obtain the old bounds of entire annotation after change
+	Rect oldBounds = e.OldBounds;
+	// Obtain the new bounds of callout text after change
+	Rect newCalloutBounds = e.NewCalloutBounds;
+	// Obtain the old bounds of callout text after change
+	Rect oldCalloutBounds = e.OldCalloutBounds;
+}
+
+{% endhighlight %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-ink-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-ink-annotation.md
new file mode 100644
index 000000000..b93029bbd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-ink-annotation.md
@@ -0,0 +1,148 @@
+---
+layout: post
+title: Working with ink annotations in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Working with ink annotations support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with ink annotations in UWP PDF Viewer (SfPdfViewer)
+
+PDF Viewer allows you to include ink annotations in a PDF document and provides options to modify or remove the existing ink annotations.
+
+## Adding ink annotations
+
+### Enabling ink annotation mode
+
+To enable an ink annotation, execute the `InkAnnotationCommand` with `true` as parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="inkAnnotationButton" Click="inkAnnotationButton_Click"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+private void inkAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.InkAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling ink annotation mode
+
+ink annotation can be disabled by executing the same command with `false` as parameter. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Click="resetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void resetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.InkAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of ink annotations
+
+You can customize the default values of stroke color, opacity, and thickness of all ink annotations to be added. This will not affect the already added ink annotations.
+
+### Setting the default stroke color
+
+You can set the default stroke color of the ink annotations by using the `SfPdfViewerControl.InkAnnotationSettings.Color` property. Refer to the following code. 
+ 
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.InkAnnotationSettings.Color = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of the ink annotations by using the `SfPdfViewerControl.InkAnnotationSettings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.InkAnnotationSettings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Setting the default thickness
+
+You can set the thickness of the ink annotations by using the `SfPdfViewerControl.InkAnnotationSettings.Thickness` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.InkAnnotationSettings.Thickness = 5;
+
+{% endhighlight %}
+
+### Changing the properties of a selected ink
+
+You can change the properties of a selected ink annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+
+![Customtoolbarimage](images/image2.png)
+
+## Detecting the change in appearance properties of ink annotations
+
+The changes made in ink annotations' properties can be detected using the `SfPdfViewerControl.InkEdited` event. The property values before and after change can be obtained using the `InkEditedEventArgs` parameter of the event's handler. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.InkEdited += PdfViewer_InkEdited;
+
+private void PdfViewer_InkEdited(object sender, InkEditedEventArgs e)
+{
+	//Obtain the thickness after change
+	double newThickness = e.NewThickness;
+	
+	//Obtain the thickness before change
+	double oldThickness = e.OldThickness;
+	
+	//Obtain the opacity after change
+	double newOpacity = e.NewOpacity;
+	
+	//Obtain the opacity before change
+	double oldOpacity = e.OldOpacity;
+	
+	//Obtain the color after change
+	Color newColor = e.NewColor;
+	
+	//Obtain the color before change
+	Color oldColor = e.OldColor;
+	
+	//Obtain the page number in which the ink is added
+	int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
+
+## Improving the smoothness of ink annotation
+
+By default, SfPdfViewer uses the `Windows.UI.Xaml.Controls.Canvas` to draw ink strokes. The smoothness of ink annotations can be improved further by using the `UseWindowsInkCanvas` of `InkAnnotationSettings` of the PdfViewer. This API allows the control to use `WindowsUI.UI.Xaml.Controls.InkCanvas` for drawing ink strokes, which enables the smooth drawing of ink strokes. The code snippet for improving the smoothness of ink annotation is as follows.
+
+{% highlight c# %}
+
+//Enable the smooth drawing of ink strokes with the use of WindowsUI.UI.Xaml.Controls.InkCanvas.
+pdfViewer.InkAnnotationSettings.UseWindowsInkCanvas = true;
+
+{% endhighlight %}
+
+N> When `UseWindowsInkCanvas` is set to true, other annotations (except ink) cannot be selected in ink mode and the cursor will be changed to hand tool when it is hovered on any existing ink strokes.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-magnification.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-magnification.md
new file mode 100644
index 000000000..defe5c889
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-magnification.md
@@ -0,0 +1,129 @@
+---
+layout: post
+title: Working with magnification in UWP PDF Viewer | Syncfusion
+description: Learn here all about Working with magnification support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with magnification in UWP PDF Viewer (SfPdfViewer)
+
+Magnification of the PDF document can be done in multiple ways and the different ways are explained below. By default the viewer control supports ctrl+ mouse scroll to manipulate the magnification of the document. 
+
+In all code snippets that follow, 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section. 
+
+**Setting Custom zoom**
+
+The user is allowed to set custom magnification factor between 100 and 300 to magnify the document displayed. The following code illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Sets magnification value to 140%.
+pdfViewer.ZoomTo(140);
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Sets magnification value to 140%.
+pdfViewer.ZoomTo(140)
+{% endhighlight %}
+{% endtabs %}
+
+**Getting current zoom factor**
+
+The following code illustrates accessing zoom factor in which the document is displayed in the viewer.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Gets the current zoom value of PDF Viewer
+int zoom = pdfViewer.Zoom;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Gets the current zoom value of PDF Viewer
+Dim zoom As Integer = pdfViewer.Zoom
+{% endhighlight %}
+{% endtabs %}
+
+**Working with View Modes**
+
+The SfPdfViewerControl supports the below three view modes for better viewing experience.
+
+* FitWidth
+* Normal
+* OnePage
+
+The below code explains how to set the view mode to FitWidth.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+// Sets the PDF Page View Mode to Fit Width. 
+pdfViewer.ViewMode = PageViewMode.FitWidth;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Sets the PDF Page View Mode to Fit Width. 
+pdfViewer.ViewMode = PageViewMode.FitWidth
+{% endhighlight %}
+{% endtabs %}
+
+The below code explains how to set the view mode to Normal.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+// Sets the PDF Page View Mode to Normal. 
+pdfViewer.ViewMode = PageViewMode.Normal;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Sets the PDF Page View Mode to Normal. 
+pdfViewer.ViewMode = PageViewMode.Normal
+{% endhighlight %}
+{% endtabs %}
+The below code explains how to set the view mode to OnePage.
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+// Sets the PDF Page View Mode to Single Page View.
+pdfViewer.ViewMode = PageViewMode.OnePage;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Sets the PDF Page View Mode to Single Page View.
+pdfViewer.ViewMode = PageViewMode.OnePage
+{% endhighlight %}
+{% endtabs %}
+
+N> 
+* In Desktop view, when the zoom value is reduced below 100 percentage, the view will be automatically changes to show the thumbnails for easier navigation.
+* One page view mode is supported only in mobile view, where the view will be changed to Flip View for easier navigation.
+
+## Set minimum zoom percentage for PDF Viewer
+
+The PDF Viewer control allows you to set the minimum zoom percentage value for the PDF document being displayed. The following code example will set minimum zoom percentage of PDF Viewer instance to 30.
+
+{% tabs %}
+{% highlight c# %}
+pdfViewer.MinimumZoomPercentage = 30;
+{% endhighlight %}
+{% highlight vbnet %}
+pdfViewer.MinimumZoomPercentage = 30
+{% endhighlight %}
+{% endtabs %}
+
+N> The accepted minimum zoom percentage ranges from 10% to 100%. Values less than 10% will be taken as 10%. Likewise values greater than 100% will be taken as 100%. Default value is the zoom percentage at which a single page completely fits the view port of PdfViewer.
+* This fit-page zoom percentage is computed at runtime.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-page-navigation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-page-navigation.md
new file mode 100644
index 000000000..bc2d94fc7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-page-navigation.md
@@ -0,0 +1,151 @@
+---
+layout: post
+title: Working with page navigation in UWP PDF Viewer | Syncfusion
+description: Learn here all about Working with page navigation support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with page navigation in UWP PDF Viewer (SfPdfViewer)
+
+The PdfViewer allows navigation through the pages of PDF documents. The navigation from one page to other can be done by using “GoToPage” method.
+
+The following code snippet illustrates page navigation using the GotoPage method.
+
+{% tabs %}
+{% highlight c# %}
+// Navigates to the page 5 in the PDF document.
+pdfViewer.GotoPage(5);
+{% endhighlight %}
+{% highlight vbnet %}
+‘Navigates to the page 5 in the PDF document.
+pdfViewer.GotoPage(5)
+{% endhighlight %}
+{% endtabs %}
+
+There are also commands in PdfViewer, which could make the page navigation simpler:
+
+<table>
+<tr>
+<td>
+Names
+</td>
+<td>
+Description
+</td>
+</tr>
+<tr>
+<td>
+FirstPageCommand
+</td>
+<td>
+Navigates to the first page of the PDF document.
+</td>
+</tr>
+<tr>
+<td>
+LastPageCommand
+</td>
+<td>
+Navigates to the last page of the PDF document.
+</td>
+</tr>
+<tr>
+<td>
+PreviousPageCommand
+</td>
+<td>
+Navigates to the previous page of the PDF document.
+</td>
+</tr>
+<tr>
+<td>
+NextPageCommand
+</td>
+<td>
+Navigates to the next page of the PDF document.
+</td>
+</tr>
+<tr>
+<td>
+GoToPageCommand
+</td>
+<td>
+Navigates to the specified page of the PDF document.
+</td>
+</tr>
+</table>
+
+**FirstPageCommand**
+
+Navigation to the first page can be achieved by using the FirstPageCommand as shown below.
+
+{% tabs %}
+{% highlight xaml %}
+<Button Command="{Binding FirstPageCommand}" />
+{% endhighlight %}
+{% endtabs %}
+
+**LastPageCommand**
+
+Navigation to the last page can be achieved by using the LastPageCommand as shown below. 
+
+{% tabs %}
+{% highlight xaml %}
+<Button Command="{Binding LastPageCommand}" />
+{% endhighlight %}
+{% endtabs %}
+
+**NextPageCommand**
+
+NextPageCommand navigates to the page next to the currently displayed page in the PDF Viewer. 
+
+{% tabs %}
+{% highlight xaml %}
+<Button Command="{Binding NextPageCommand}" />
+{% endhighlight %}
+{% endtabs %}
+
+**PreviousPageCommand**
+
+PreviousPageCommand navigates to the page previous to the currently displayed page in the PDF Viewer. 
+
+{% tabs %}
+{% highlight xaml %}
+<Butston Command="{Binding PreviousPageCommand}" />
+{% endhighlight %}
+{% endtabs %}
+
+**GoToPageCommand**
+
+This command navigates to the specified page. 
+
+{% tabs %}
+{% highlight xaml %}
+<Button Command="{Binding GoToPageCommand}" CommandParameter="{Binding Path=Text, ElementName=PageNumberTextBox}" />
+{% endhighlight %}
+{% endtabs %}
+
+In the above snippet, the PageNumberTextBox refers to a text box instance that gets the page number input. 
+
+**Tracking the change of pages in PDF document**
+
+
+The PageChanged event is triggered when there is a change in the page being displayed in the PDF Viewer.
+
+The following code snippet updates the current page number in a text block, whenever the page is changed.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_PageChanged(object sender, PageChangedEventArgs e)
+{
+    pageNumberTextBlock.Text = e.NewPageNumber.ToString();
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub PdfViewer_PageChanged(sender As Object, e As PageChangedEventArgs) Handles pdfViewer.PageChanged
+    pageNumberTextBlock.Text = e.NewPageNumber.ToString()
+End Sub
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-popup-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-popup-annotation.md
new file mode 100644
index 000000000..166b97714
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-popup-annotation.md
@@ -0,0 +1,190 @@
+---
+layout: post
+title: Working with popup annotations in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Working with popup annotations support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with popup annotations in UWP PDF Viewer (SfPdfViewer)
+
+PDF Viewer allows you to include popup annotations in a PDF document and provides options to modify or remove the existing popup annotations.
+
+## Adding popup annotations
+
+### Enabling popup annotation mode
+
+To enable an popup annotation, execute the `PopupAnnotationCommand` with `true` as parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="popupAnnotationButton" Click="popupAnnotationButton_Click"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+private void popupAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.PopupAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling popup annotation mode
+
+popup annotation can be disabled by executing the same command with `false` as parameter. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Click="resetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void resetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.PopupAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting the inclusion of popup annotations
+
+The inclusion of a popup annotation can be obtained by using the `SfPdfViewerControl.PopupAnnotationAdded` event. The properties of the added popup can be obtained using the `PopupAnnotationAddedEventArgs` parameter of the event handler. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationAdded += PdfViewer_PopupAnnotationAdded;
+
+private void PdfViewer_PopupAnnotationAdded(object sender, PopupAnnotationAddedEventArgs e)
+{	
+
+	//Obtain the location where the popup is added
+    PointF location = e.Location;
+	
+	//Obtain the page number in which the popup is added
+	int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
+
+## Customizing the appearance of popup annotations
+
+You can customize the default values of color, opacity, horizontal scale, vertical scale and icon type of all popup annotations to be added. This will not affect the already added popup annotations.
+
+### Setting the default color
+
+You can set the default color of the popup annotations by using the `SfPdfViewerControl.PopupAnnotationSettings.Color` property. Refer to the following code. 
+ 
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationSettings.Color = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of the popup annotations by using the `SfPdfViewerControl.PopupAnnotationSettings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationSettings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Setting the default horizontal scale
+
+You can set the horizontal scale of the popup annotations by using the `SfPdfViewerControl.PopupAnnotationSettings.ScaleX` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationSettings.ScaleX = 2;
+
+{% endhighlight %}
+
+### Setting the default vertical scale
+
+You can set the vertical scale of the popup annotations by using the `SfPdfViewerControl.PopupAnnotationSettings.ScaleY` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationSettings.ScaleY = 2;
+
+{% endhighlight %}
+
+### Setting the default icon type
+
+You can set the icon type of the popup annotations by using the `SfPdfViewerControl.PopupAnnotationSettings.Icon` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupAnnotationSettings.Icon = PopupIcon.Comment;
+
+{% endhighlight %}
+
+### Changing the properties of a selected popup
+
+You can change the properties of a selected popup annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+
+![customtoolbarimage](images/image4.png)
+
+### Setting author name and subject of popup annotations
+
+The author name and subject of popup annotations can be added by right clicking the popup and choose 'Edit' from the context menu
+
+![customtoolbarimage](images/image5.png)
+
+## Detecting the change in appearance properties of popup annotations
+
+The changes made in popup annotation's properties can be detected using the `SfPdfViewerControl.PopupEdited` event. The property values before and after change can be obtained using the `PopupEditedEventArgs` parameter of the event's handler. In the below example, only the new properties are illustrated.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.PopupEdited += PdfViewer_PopupEdited;
+
+private void PdfViewer_PopupEdited(object sender, PopupEditedEventArgs e)
+{	
+	PopupProperties newProperties = e.PopupNewProperties;
+	PopupProperties oldProperties = e.PopupOldProperties;
+
+	//Obtain the author of the popup
+	string Author = newProperties.Author;
+
+	//Obtain the icon type of the popup
+	PopupIcon icon = newProperties.PopupIcon;
+
+	//Obtain the color of the popup
+	Color color = newProperties.Color;
+
+	//Obtain the comment of the popup
+	string comment = newProperties.Comment;
+
+	//Obtain the subject of the popup
+	string subject = newProperties.Subject;
+
+	//Obtain the opacity of the popup
+	double opacity = newProperties.Opacity;
+
+	//Obtain the location of the popup
+	PointF location = newProperties.Location;
+
+	//Obtain the page number in which the popup is added
+	int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-shape-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-shape-annotation.md
new file mode 100644
index 000000000..d278b560f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-shape-annotation.md
@@ -0,0 +1,147 @@
+---
+layout: post
+title: Working with shape annotations in UWP Pdf Viewer | Syncfusion
+description: Learn here all about Working with shape annotations support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with shape annotations in UWP PDF Viewer (SfPdfViewer)
+
+PDF Viewer allows you to include shape annotations in a PDF document and provides options to modify or remove the existing shape annotations. The supported shape annotations are:
+
+1. Rectangle
+2. Ellipse
+3. Line
+
+In all the code snippets that follow, only Rectangle shape annotation is used for brevity. Other shape annotations can be used in the same way. 
+
+## Adding shape annotations
+
+### Enabling shape annotation mode
+
+To enable a shape annotation, execute the annotation's corresponding command with `true` as parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="shapeAnnotationButton" Click="shapeAnnotationButton_Click"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+private void shapeAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.RectangleAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling shape annotation mode
+
+Shape annotations can be disabled by executing the same command with `false` as parameter. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Click="resetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void resetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.RectangleAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of shape annotations
+
+You can customize the default values of stroke color, fill color (except for line annotation), opacity, and thickness of all shape annotations to be added. This will not affect the already added shape annotations.
+
+### Setting the default stroke color
+
+You can set the default stroke color of rectangle annotations by using the `SfPdfViewerControl.RectangleAnnotationSettings.Color` property. Refer to the following code. 
+ 
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.RectangleAnnotationSettings.Color = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of rectangle annotations by using the `SfPdfViewerControl.RectangleAnnotationSettings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.RectangleAnnotationSettings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Setting the default thickness
+
+You can set the thickness of the rectangle annotations by using the `SfPdfViewerControl.RectangleAnnotationSettings.Thickness` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.RectangleAnnotationSettings.Thickness = 5;
+
+{% endhighlight %}
+
+### Changing the properties of a selected shape
+
+You can change the properties of the selected annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+
+![Customtoolbarimage](images/image1.png)
+
+## Detecting the change in appearance properties of shape annotations
+
+The changes made in shape annotations' properties can be detected using the `SfPdfViewerControl.ShapeEdited` event. The property values before and after change can be obtained using the `ShapeEditedEventArgs` parameter of the event's handler. 
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.ShapeEdited += PdfViewer_ShapeEdited;
+
+private void PdfViewer_ShapeEdited(object sender, ShapeEditedEventArgs e)
+{
+	//Obtain the thickness after change
+	double newThickness = e.NewThickness;
+	
+	//Obtain the thickness before change
+	double oldThickness = e.OldThickness;
+	
+	//Obtain the opacity after change
+	double newOpacity = e.NewOpacity;
+	
+	//Obtain the opacity before change
+	double oldOpacity = e.OldOpacity;
+	
+	//Obtain the color after change
+	Color newColor = e.NewColor;
+	
+	//Obtain the color before change
+	Color.oldColor = e.OldColor;
+	
+	//Obtain the fill color after change
+	Color newFillColor = e.NewFillColor;
+	
+	//Obtain the fill color before change
+	Color oldFillColor = e.OldFillColor;
+	
+	//Obtain the page number in which the shape is added
+	int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-markup-annotation.md
new file mode 100644
index 000000000..a8400610b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-markup-annotation.md
@@ -0,0 +1,95 @@
+---
+layout: post
+title: Text markup annotations in UWP Pdf Viewer Control | Syncfusion
+description: Learn here all about Working with text markup annotations support in Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with text markup annotations in UWP PDF Viewer
+
+PDF Viewer allows users to include text markup annotations in a PDF document and provides options to modify or remove the existing text markup annotations. The supported text markup annotations are:
+
+1. Highlight
+2. Underline
+3. Strikeout
+
+In all the code snippets that follow, only Highlight annotation is used for brevity. Other text markup annotations can be used in the same way. 
+
+## Adding text markup annotations
+
+### Enabling text markup annotation mode
+
+To enable a text markup annotation, execute the annotation's corresponding command with `true` as parameter.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="textMarkupAnnotationButton" Click="TextMarkupAnnotationButton_Click"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+private void TextMarkupAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.HighlightAnnotationCommand.Execute(true);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling text markup annotation mode
+
+Text markup annotation can be disabled by executing the same command with `false` as parameter. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewerControl x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Click="resetAnnotationButton_Click" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void resetAnnotationButton_Click(object sender, RoutedEventArgs e)
+{
+	pdfViewer.HighlightAnnotationCommand.Execute(false);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of text markup annotations
+
+You can customize the default values of color and opacity of all text markup annotations to be added. This will not affect the already added text markup annotations.
+
+### Setting the default color
+
+You can set the default color of a highlight annotation by using the `SfPdfViewerControl.HighlightAnnotationSettings.Color` property. Refer to the following code. 
+ 
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.HighlightAnnotationSettings.Color = Color.FromArgb(255, 255, 0, 0);
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of a highlight markup annotation by using the `SfPdfViewerControl.HighlightAnnotationSettings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+pdfViewer.HighlightAnnotationSettings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Changing the properties of a selected text markup
+
+You can change the properties of a selected text markup annotation or remove it by right clicking it and choosing the desired property from the displayed options.
+
+![customtoolbarimage](images/image3.png)
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-search.md b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-search.md
new file mode 100644
index 000000000..ee287a6bc
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/Working-with-text-search.md
@@ -0,0 +1,194 @@
+---
+layout: post
+title: Working with text search in UWP PDF Viewer | Syncfusion
+description: Learn here all about Working with text search support in Syncfusion<sup>®</sup> UWP PDF Viewer (SfPdfViewer) control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Working with text search in UWP PDF Viewer (SfPdfViewer)
+
+Text search can be done in two ways, by using the SearchText method or by using the commands.
+
+In all code snippets found below, 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/viewing-pdf) section. 
+
+**Using search methods**
+
+The following code shows how to initiate the text search using the method.
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the text in the PDF Document.
+    pdfViewer.SearchText("the");
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Searches for the text in the PDF Document.
+    pdfViewer.SearchText("the")
+End Sub
+{% endhighlight %}
+{% endtabs %}
+The following code shows how to search for the next instance.
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the text in the PDF Document.
+    pdfViewer.SearchNextText("the");
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Searches for the text in the PDF Document.
+    pdfViewer.SearchNextText("the")
+End Sub
+{% endhighlight %}
+{% endtabs %}
+The following code shows how to search for the previous instance.
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the text in the PDF Document.
+    pdfViewer.SearchPrevText("the");
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Searches for the text in the PDF Document.
+    pdfViewer.SearchPrevText("the")
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+**Using search commands**
+
+The following code shows how to search for the next instance using SearchNextCommand.
+
+{% tabs %}
+{% highlight xaml %}
+<Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer"></syncfusion:SfPdfViewerControl>
+        <Button Content="Search Next" Command="{Binding ElementName=pdfViewer, Path=SearchNextCommand}" CommandParameter="{Binding Text, ElementName=PageSearchTxtBox}"></Button>
+</Grid>
+{% endhighlight %}
+{% endtabs %}
+The following code shows how to search for the previous instance using SearchPreviousCommand.
+{% tabs %}
+{% highlight xaml %}
+<Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer"></syncfusion:SfPdfViewerControl>
+        <Button Content="Search Next" Command="{Binding ElementName=pdfViewer, Path=SearchPreviousCommand}" CommandParameter="{Binding Text, ElementName=PageSearchTxtBox}"></Button>
+</Grid>
+{% endhighlight %}
+{% endtabs %}
+
+**Using asynchronous search methods**
+
+The PDF viewer allows the users to perform text search asynchronously using the [SearchTextAsync](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_SearchTextAsync_System_String_System_Threading_CancellationToken_) method. The user can also cancel the asynchronous text search when it is in progress.
+
+{% tabs %}
+{% highlight c# %}
+CancellationTokenSource cts = new CancellationTokenSource();
+
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void SearchButton_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the text in the PDF Document.
+    pdfViewer.SearchTextAsync(targetText, cts.Token);
+}
+
+private void CancelButton_Click(object sender, RoutedEventArgs e)
+{
+   cts.Cancel();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the `targetText` is the input text to be searched and the `cancellationToken` enables the users to cancel the asynchronous text search.
+
+The following code explains how to search for the next instance of the text asynchronously.
+
+{% tabs %}
+{% highlight c# %}
+
+CancellationTokenSource cts = new CancellationTokenSource();
+
+private void SearchNextButton_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the next text instance in the PDF Document.
+    pdfViewer.SearchNextTextAsync(targetText, cts.Token);
+}
+
+private void CancelButton_Click(object sender, RoutedEventArgs e)
+{
+   cts.Cancel();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code explains how to search for the previous instance of the text asynchronously. 
+
+{% tabs %}
+{% highlight c# %}
+
+CancellationTokenSource cts = new CancellationTokenSource();
+
+private void SearchPreviousButton_Click(object sender, RoutedEventArgs e)
+{
+    //Searches for the previous instance of the text in the PDF Document.
+    pdfViewer.SearchPreviousTextAsync(targetText, cts.Token);
+}
+
+private void CancelButton_Click(object sender, RoutedEventArgs e)
+{
+   cts.Cancel();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The text search operations can only be performed after the display of the PDF document in the viewer control and this cannot be initiated immediately after loading the PDF document.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image1.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image1.png
new file mode 100644
index 000000000..b8c72b86f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image1.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image2.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image2.png
new file mode 100644
index 000000000..53a3281f2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image2.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image3.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image3.png
new file mode 100644
index 000000000..66fc01626
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image3.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image4.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image4.png
new file mode 100644
index 000000000..564474d63
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image4.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image5.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image5.png
new file mode 100644
index 000000000..bf7a17622
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image5.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image6.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image6.png
new file mode 100644
index 000000000..3d25a2721
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image6.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image7.png b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image7.png
new file mode 100644
index 000000000..6ef6afbd9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Concepts-and-Features/images/image7.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started.md
new file mode 100644
index 000000000..e7414cf89
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started.md
@@ -0,0 +1,476 @@
+---
+layout: post
+title: Getting Started with UWP Pdf Viewer control | Syncfusion
+description: Learn here about getting started with Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Getting Started with UWP PDF Viewer (SfPdfViewer)
+This section explains about the assemblies required for the deployment of SfPdfViewer and how to create simple application using the SfPdfViewer control.
+
+## Required Assemblies
+
+The following list of assemblies are required for adding a PDF viewer control to the Universal Windows Platform application.
+
+* Syncfusion.SfPdfViewer.UWP
+* Syncfusion.Pdf.UWP
+* Syncfusion.SfColorPickers.UWP
+* Syncfusion.SfInput.UWP
+* Syncfusion.SfRadialMenu.UWP
+* Syncfusion.SfShared.UWP
+
+Each of these assemblies always needs to be in parallel with its associated resource files as shown in the screenshot below. However, it is not necessary to have all these assemblies in a single folder as long as the resource files are along with the assemblies in their respective folders. The screenshot shows only the SfPdfViewer assembly for brevity.
+
+![Dependent assemblies needed for SfPdfViewerControl](Getting-Started_images/Getting-Started_img3.jpeg)
+
+The aforementioned placement of the assemblies and the resource files in the same folder becomes important only when the assemblies need to be moved from the installed location of the assemblies to somewhere else. When the assemblies are moved the resource files must also be moved and placed in the same folder as the assemblies.
+
+N> Starting with v16.2.0.x, if you reference Syncfusion<sup>®</sup> assemblies from trial setup or from the NuGet feed, you also have to include a license key in your projects. Please refer to [this link](https://help.syncfusion.com/common/essential-studio/licensing/overview) to know about registering Syncfusion<sup>®</sup> license key in your UWP application to use our components.
+
+
+## Create a simple application with the SfPdfViewer
+
+Follow the below steps to create a simple application with the SfPdfViewer and load a PDF document.
+
+1. Create a new UWP application in the Visual Studio.
+
+2. Open the Visual Studio tool box and drag the SfPdfViewerControl toolbox item to the designer window. Name the SfPdfViewerControl as pdfViewer.
+
+![SfPdfViewerControl in visual studio toolbox](Getting-Started_images/Getting-Started_img1.jpeg)
+
+When you drag the SfPdfViewer toolbox item to the window, it automatically adds the required assembly references to the current application.
+
+To add the SfPdfViewer by using code, add the required assemblies mentioned previously as reference to the project.
+
+Add the following code in XAML to make use of the SfPdfViewer.
+
+{% tabs %}
+{% highlight xaml %}
+<Page
+    x:Class="SimpleSample.MainPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:SimpleSample"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:syncfusion="using:Syncfusion.Windows.PdfViewer"
+    >
+    <Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer"> </syncfusion:SfPdfViewerControl>
+    </Grid>
+</Page>
+{% endhighlight %}
+{% endtabs %}
+
+## Loading PDF document through binding
+
+The following steps explains how to load a PDF document through binding.
+
+1. The SfPdfViewer’s ItemSource property allows you to bind PDF documents in XAML. The ItemsSource property accepts a stream input that can be bound to the viewer during initialization.
+
+2. To bind the PDF file, add the PDF file to the project as an asset. Right Click the PDF file and open the properties window. In the properties window, set the Build Action as Embedded Resource.
+
+3. Create a simple class that loads a PDF report and provides the stream as a property that can be bound to the viewer as shown in the following code. Save the class file as PdfReport.cs.
+
+{% tabs %}
+{% highlight c# %}
+class PdfReport : INotifyPropertyChanged
+    {
+        private Stream docStream;
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        /// <summary>
+        /// Stream object to be bound to the ItemsSource of the PDF Viewer
+        /// </summary>
+        public Stream DocumentStream
+        {
+            get
+            {
+                return docStream;
+            }
+            set
+            {
+                docStream = value;
+                OnPropertyChanged(new PropertyChangedEventArgs("DocumentStream"));
+            }
+        }
+
+        public PdfReport()
+        {
+            //Loads the stream from the embedded resource.
+            Assembly assembly = typeof(MainPage).GetTypeInfo().Assembly;
+            docStream = assembly.GetManifestResourceStream("SimpleSample.Assets.JavaScript_Succinctly.pdf");
+        }
+
+        public void OnPropertyChanged(PropertyChangedEventArgs e)
+        {
+            if (PropertyChanged != null)
+                PropertyChanged(this, e);
+        }        
+    }
+{% endhighlight %}
+{% highlight vbnet %}
+Class PdfReport
+    Implements INotifyPropertyChanged
+
+    Private docStream As Stream
+    Private Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+    ''' <summary>
+    ''' Stream object to be bound to the ItemsSource of the PDF Viewer
+    ''' </summary>
+    Public Property DocumentStream As Stream
+        Get
+            Return docStream
+        End Get
+        Set
+            docStream = Value
+            OnPropertyChanged(New PropertyChangedEventArgs("DocumentStream"))
+        End Set
+    End Property
+
+    Public Sub New()
+        'Loads the stream from the embedded resource.
+        Dim assembly As Assembly = GetType(MainPage).GetTypeInfo().Assembly
+        docStream = assembly.GetManifestResourceStream("SimpleSample.JavaScript_Succinctly.pdf")
+    End Sub
+
+    Public Sub OnPropertyChanged(e As PropertyChangedEventArgs)
+        RaiseEvent PropertyChanged(Me, e)
+    End Sub
+End Class
+{% endhighlight %}
+{% endtabs %}
+
+In order to bind the DocumentStream property of the PdfReport class, the DataContext needs to be set for the page. To add the DataContext in XAML, use the following code example.
+
+{% tabs %}
+{% highlight xaml %}
+<Page
+    x:Class="SimpleSample.MainPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:SimpleSample"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:syncfusion="using:Syncfusion.Windows.PdfViewer"
+    Loaded="Page_Loaded">
+    <Page.DataContext>
+        <local:PdfReport/>
+    </Page.DataContext>
+    <Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer"></syncfusion:SfPdfViewerControl>
+    </Grid>
+</Page>
+{% endhighlight %}
+{% endtabs %}
+
+Once the DataContext has been set, the ItemSource dependency property can be set by using the following code in XAML.
+
+{% tabs %}
+{% highlight xaml %}
+<Page
+    x:Class="SimpleSample.MainPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:SimpleSample"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:syncfusion="using:Syncfusion.Windows.PdfViewer"
+    Loaded="Page_Loaded">
+    <Page.DataContext>
+        <local:PdfReport/>
+    </Page.DataContext>
+    <Grid>
+        <syncfusion:SfPdfViewerControl Name="pdfViewer" ItemsSource="{Binding DocumentStream}"></syncfusion:SfPdfViewerControl>
+    </Grid>
+</Page>
+{% endhighlight %}
+{% endtabs %}
+
+
+## Loading PDF document using FileOpenPicker
+
+Alternatively, a FileOpenPicker can also be used to load documents at run time. To achieve this, include a button to the application.
+
+{% tabs %}
+{% highlight xaml %}
+<Button Name="Open" Click="Open_Click" Content="Open"/>
+{% endhighlight %}
+{% endtabs %}
+
+Include the below code in the click event of the button.
+
+{% tabs %}
+{% highlight c# %}
+async private void Open_Click(object sender, RoutedEventArgs e)
+        {
+            //Opens a file picker.
+            var picker = new FileOpenPicker();
+            picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
+            picker.ViewMode = PickerViewMode.List;
+            //Filters PDF files in the documents library.
+            picker.FileTypeFilter.Add(".pdf");
+            var file = await picker.PickSingleFileAsync();
+            if (file == null) return;
+            //Reads the stream of the loaded PDF document.
+            var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
+            Stream fileStream = stream.AsStreamForRead();
+            byte[] buffer = new byte[fileStream.Length];
+            fileStream.Read(buffer, 0, buffer.Length);
+            //Loads the PDF document.
+            PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+            pdfViewer.LoadDocument(loadedDocument);
+        }
+{% endhighlight %}
+{% highlight vbnet %}
+Private Async Sub Open_Click(sender As Object, e As RoutedEventArgs)
+    'Opens a file picker.
+    Dim picker = New FileOpenPicker()
+    picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary
+    picker.ViewMode = PickerViewMode.List
+    'Filters PDF files in the documents library.
+    picker.FileTypeFilter.Add(".pdf")
+    Dim file = Await picker.PickSingleFileAsync()
+    If file Is Nothing Then
+        Return
+    End If
+    'Reads the stream of the loaded PDF document.
+    Dim stream = Await file.OpenAsync(Windows.Storage.FileAccessMode.Read)
+    Dim fileStream As Stream = stream.AsStreamForRead()
+    Dim buffer As Byte() = New Byte(fileStream.Length - 1) {}
+    fileStream.Read(buffer, 0, buffer.Length)
+    'Loads the PDF document.
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+## Magnification operations
+
+The SfPdfViewer provides the following set of commands to perform magnification.
+
+* IncreaseZoomCommand
+* DecreaseZoomCommand
+
+The following XAML code shows how to bind the IncreaseZoomCommand to a button
+{% tabs %}
+{% highlight xaml %}
+<Button Content="ZoomIn" Command="{Binding ElementName=pdfViewer, Path=IncreaseZoomCommand}" HorizontalAlignment="Left" VerticalAlignment="Top"></Button>
+{% endhighlight %}
+{% endtabs %}
+
+The following XAML code shows how to bind the DecreaseZoomCommand to a button
+
+{% tabs %}
+{% highlight xaml %}
+<Button Content="ZoomOut" Command="{Binding ElementName=pdfViewer, Path=DecreaseZoomCommand}" HorizontalAlignment="Left" VerticalAlignment="Top"></Button>
+{% endhighlight %}
+{% endtabs %}
+
+N>
+* By default, the SfPdfViewer also supports the Ctrl + scroll key combination for performing magnification by using the keyboard and mouse.
+* When the PDF viewer zoom value is decreased below 100%, the view will be automatically changed to show the thumbnails.
+
+## Printing a document
+
+The following XAML code shows how to bind the PrintCommand to a Button
+{% tabs %}
+{% highlight xaml %}
+<Button Content="Print" Command="{Binding ElementName=pdfViewer, Path=PrintCommand}" ></Button>
+{% endhighlight %}
+{% endtabs %}
+
+## Search Operations
+
+The SearchText method can be used to search a text in the document. In addition to the current match, the method also highlights all the possible matches in the current page with a different color.
+
+The following commands can be used for performing the Search-Next and Search-Previous operations.
+
+* SearchNextCommand
+* SearchPreviousCommand
+
+Code example to initiate text search
+
+{% tabs %}
+{% highlight c# %}
+private void searchButton_Click(object sender, RoutedEventArgs e)
+        {
+            pdfViewer.SearchText((searchTxtBx.Text));
+        }
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub searchButton_Click(sender As Object, e As RoutedEventArgs)
+    pdfViewer.SearchText((searchTxtBx.Text))
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+Binding SearchNextCommand and SearchPreviousCommand to buttons
+
+{% tabs %}
+{% highlight xaml %}
+<Button Content="Search Next" Command="{Binding ElementName=pdfViewer, Path=SearchNextCommand}" ></Button>
+
+<Button Content="Search Previous" Command="{Binding ElementName=pdfViewer, Path=SearchPreviousCommand}" ></Button>
+{% endhighlight %}
+{% endtabs %}
+
+## Page Navigations
+
+The below list of commands are helpful for performing the page navigation operations.
+
+* FirstPageCommand
+* LastPageCommand
+* PreviousPageCommand
+* NextPageCommand
+
+## Unloading PDF document from the viewer
+
+The SfPdfViewer control allows you to unload the PDF document from the viewer when the control is not in use anymore. This releases the PDF document and all its associated resources. To achieve this include a button in the application.
+
+{% tabs %}
+{% highlight xaml %}
+<Button Name="Unload" Click="Unload_Click" Content="Open"/>
+{% endhighlight %}
+{% endtabs %}
+
+Include the below code in the click event of the button.
+
+{% tabs %}
+{% highlight c# %}
+private void Unload_Click(object sender, RoutedEventArgs e)
+        {
+            //Unloads the PDF Document displayed in the PDF Viewer Control.
+            pdfViewer.Unload();
+        }
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Unload_Click(sender As Object, e As RoutedEventArgs)
+    pdfViewer.Unload()
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+## Saving a PDF document
+
+The `Save` method returns the PDF document along with the changes made (annotations addition and modification) as a stream, which can be saved as a file.
+
+{% tabs %}
+{% highlight c# %}
+
+//Save the PDF document
+Stream pdfDocumentStream = pdfViewerControl.Save();
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The Save method does not save the stamp annotations in the PDF document. Instead, use the `SaveAsync` method to save them.
+
+## Saving a PDF document asynchronously
+
+The PDF Viewer also allows you to save and return the PDF document with the changes as a stream asynchronously using the `SaveAsync` method.
+
+{% tabs %}
+{% highlight c# %}
+
+//Save the PDF document asynchronously 
+Task<Stream> pdfDocumentStream = pdfViewerControl.SaveAsync();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Events to track the loading of PDFs
+
+The PDFViewer control allows you to track the loading of PDFs using the following events. The `DocumentLoaded`` event triggers after the document is properly loaded in the SfPdfViewer. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewerControl pdfViewer = new SfPdfViewerControl();
+
+pdfViewer.DocumentLoaded += PdfViewer_DocumentLoaded;
+
+private void PdfViewer_DocumentLoaded(object sender, DocumentLoadedEventArgs args)  
+{  
+        // Get the total page count of the loaded PDF document. 
+        int pageCount = pdfViewer.PageCount; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Dispose the managed resources of PDFViewer
+
+The PDF Viewer control allows you to dispose the managed resources which are associated with the viewer. You need to call the `Dispose` method of the PDFViewer control as shown in the following code sample to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disposes all the managed resources of SfPdfViewer
+pdfViewer.Dispose();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Supported input interactions
+
+The SfPdfViewerControl supports the following input interactions to be performed in the PDF document:
+
+* Mouse or Touch pad
+* Touch
+* Stylus or pen
+
+The following is the list of possible operations to be performed with the supported input interactions in the SfPdfViewerControl:
+
+<table>
+
+<tr>
+<th>Operations</th>
+<th>Mouse or Touch pad</th>
+<th>Touch</th>
+<th>Stylus or Pen</th>
+</tr>
+
+<tr>
+<td>Scrolling</td>
+<td>Supported</td>
+<td>Supported</td>
+<td>Supported</td>
+</tr>
+
+<tr>
+<td>Zooming</td>
+<td>Supported</td>
+<td>Supported</td>
+<td>Not supported</td>
+</tr>
+
+<tr>
+<td>Adding annotations</td>
+<td>Supported</td>
+<td>Supported</td>
+<td>Supported</td>
+</tr>
+
+<tr>
+<td>Moving and resizing the annotations</td>
+<td>Supported</td>
+<td>Supported</td>
+<td>Supported</td>
+</tr>
+
+<tr>
+<td>Editing the annotations</td>
+<td>Supported</td>
+<td>Supported</td>
+<td>Supported</td>
+</tr>
+
+</table>
+The following image shows the final SfPdfViewer with all the features being implemented.
+![Getting started image of SfPdfViewerControl](Getting-Started_images/Getting-Started_img2.jpeg)
+
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img1.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img1.jpeg
new file mode 100644
index 000000000..c9199166e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img1.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img2.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img2.jpeg
new file mode 100644
index 000000000..5e1b60e3d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img2.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img3.jpeg b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img3.jpeg
new file mode 100644
index 000000000..92313a7cf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/uwp/Getting-Started_images/Getting-Started_img3.jpeg differ
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Acquire-number-of-pages-in-the-document-being-displayed.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Acquire-number-of-pages-in-the-document-being-displayed.md
new file mode 100644
index 000000000..990d7c405
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Acquire-number-of-pages-in-the-document-being-displayed.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title: Acquire number of pages in the document being displayed | Syncfusion
+description: The Syncfusion Essential<sup>®</sup> UWP PDF viewer provides option to acquire number of pages in the document being displayed.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Acquire number of pages in the document being displayed
+
+Using [PDF Viewer](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) the user can acquire number of pages in the document being displayed. The following code can be used to access the total number of pages displayed in the [PDF Viewer](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html). Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/pdf-viewer/concepts-and-features/viewing-pdf) section.
+
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Gets the total page count. 
+int pageCount = pdfViewer.PageCount;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Gets the total page count. 
+Dim pageCount As Integer = pdfViewer.PageCount
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Check-whether-the-loaded-PDF-document-is-edited-or-not.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Check-whether-the-loaded-PDF-document-is-edited-or-not.md
new file mode 100644
index 000000000..ca2b5c1b2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Check-whether-the-loaded-PDF-document-is-edited-or-not.md
@@ -0,0 +1,26 @@
+---
+layout: post
+title: Check the document is edited or not in Syncfusion UWP PDF Viewer
+description: Check whether the loaded PDF document is edited or not in Syncfusion Essential<sup>®</sup> UWP PDF viewer control.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# How to check whether the loaded PDF document is edited or not?
+The [`IsDocumentEdited`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_IsDocumentEdited) property is a bindable property that returns a value that indicates whether the PDF is edited or not. 
+
+This property will be `true` when any annotations or form fields values are changed in the loaded PDF document. It will be reset to `false` when the PDF is saved. The undo and redo operations that change the annotations or form fields from their respective states at the time of saving will also set this property to `true`.
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight xaml %}
+//Retreives the value indicating whether the PDF document is edited
+ <Grid Loaded="Grid_Loaded">    
+    <syncfusion:SfPdfViewerControl Grid.Row="1" x:Name="pdfViewer" IsDocumentEdited="{Binding DocumentEdited}" />
+ </Grid>
+{% endhighlight %}
+{% endtabs %}
+
+N> The default value is `false`.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Customize-the-scrollbar.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Customize-the-scrollbar.md
new file mode 100644
index 000000000..f33e2e1fe
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Customize-the-scrollbar.md
@@ -0,0 +1,43 @@
+---
+layout: post
+title: Customize the scrollbar | Syncfusion
+description: The Syncfusion Essential<sup>®</sup> UWP PDF viewer provides option to customize the width of the vertical scrollbar and the color of the scrollbar thumb.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Customize the scrollbar in UWP PDF Viewer
+
+## Customize the color of the scrollbar thumb
+
+The PDF viewer uses the [ScrollViewer] (https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-19041) control to scroll the pages of a PDF. The color of the vertical and horizontal scrollbar thumbs can be customized using the following code. 
+ 
+{% tabs %}
+{% highlight xaml %}
+<sf:SfPdfViewerControl x:Name = “pdfViewer”>
+<sf:SfPdfViewerControl.Resources>
+        <SolidColorBrush x:Key="ScrollBarThumbFill" Color="Gold"/>
+        <SolidColorBrush x:Key="ScrollBarThumbFillPointerOver" Color="Orange"/>
+        <SolidColorBrush x:Key="ScrollBarThumbFillPressed" Color="Red"/>
+        <SolidColorBrush x:Key="ScrollBarThumbFillDisabled" Color="Pink"/>
+</sf:SfPdfViewerControl.Resources>
+</sf:SfPdfViewerControl>
+{% endhighlight %}
+{% endtabs %}
+
+## Customize the width of the vertical scrollbar
+
+The width of the vertical scrollbar of the [ScrollViewer](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-20348) can be modified by using the [VerticalScrollBarWidth](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html#Syncfusion_Windows_PdfViewer_SfPdfViewerControl_VerticalScrollBarWidth) property. The default value of the API is as same as the default width of the vertical scrollbar of the [ScrollViewer](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-20348) control.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the width of the vertical scrollbar in the PDF Viewer. 
+pdfViewerControl.VerticalScrollBarWidth = 100; 
+//Gets the width of the vertical scrollbar in the PDF Viewer. 
+double verticalScrollBarWidth = pdfViewerControl.VerticalScrollBarWidth;
+
+{% endhighlight %}
+{% endtabs %}
+
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Disable-thumbnail-view.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Disable-thumbnail-view.md
new file mode 100644
index 000000000..50a13de55
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Disable-thumbnail-view.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: Disable thumbnail view in Syncfusion Essential UWP PDF viewer.
+description: Learn here about Disable thumbnail view support in UWP PDF viewer control and how to enable or disable thumbnail view, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Disable thumbnail view in UWP PDF Viewer
+The SfPdfViewer control allows you to enable and disable thumbnail view that is opened when the document is magnified below 100%. The following code illustrates the same.
+{% tabs %}
+{% highlight c# %}
+pdfViewer.IsThumbnailViewEnabled = false;
+{% endhighlight %}
+{% highlight vbnet %}
+pdfViewer.IsThumbnailViewEnabled = False
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-and-disable-text-selection.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-and-disable-text-selection.md
new file mode 100644
index 000000000..1de8353d2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-and-disable-text-selection.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: Enable and disable text selection in UWP PDF viewer | Syncfusion
+description: Learn here all about Enable and disable text selection support in UWP PDF viewer control with text selection features, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Enable and disable text selection in UWP PDF Viewer
+The text selection feature of the PDF viewer can be disabled as shown in the following code.
+{% tabs %}
+{% highlight c# %}
+pdfViewer.IsTextSelectionEnabled = false;
+{% endhighlight %}
+{% highlight vbnet %}
+pdfViewer.IsTextSelectionEnabled = False
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-disable-undo-redo.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-disable-undo-redo.md
new file mode 100644
index 000000000..41b44affe
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Enable-disable-undo-redo.md
@@ -0,0 +1,21 @@
+---
+layout: post
+title: Disable undo and redo in UWP PDF viewer | Syncfusion
+description: Learn here about the support to enable and disable the undo and redo operations in UWP PDF viewer control.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Support to disable the undo and redo operations
+
+The undo operation using both the `UndoCommand` and keyboard shortcut Ctrl+Z can be enabled or disabled using the `IsUndoEnabled` property. The default value of this property is true.
+{% tabs %}
+{% highlight c# %}
+
+PdfViewer.IsUndoEnabled = false;
+
+{% endhighlight %}
+{% endtabs %}
+     
+N>Redo can be performed only if undo is enabled. So, enabling or disabling undo, effectively enables and disables redo as well.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-coordinates-of-a-text-in-a-PDF-document.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-coordinates-of-a-text-in-a-PDF-document.md
new file mode 100644
index 000000000..129f04602
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-coordinates-of-a-text-in-a-PDF-document.md
@@ -0,0 +1,43 @@
+---
+layout: post
+title: Get coordinates text in a PDF document in UWP PDF viewer | Syncfusion
+description: Learn here all about Get coordinates of a text in a PDF document support in UWP PDF viewer control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Get coordinates of a text in a PDF document in UWP PDF Viewer
+The SfPdfViewer control allows you to acquire the coordinates of multiple instances of a particular text in a page of the PDF document. The following code illustrates the same. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section. 
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Creates an instance to get the list of PdfTextCoordinates.
+    List<PdfTextCoordinates> coordinates = new List<PdfTextCoordinates>();
+    //Searches for the existence of a text and gets the text positions in a PDF page.
+    pdfViewer.GetTextCoordinates("example", 4, out coordinates);
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Creates an instance to get the list of PdfTextCoordinates. 
+    Dim coordinates As New List(Of PdfTextCoordinates)()
+    'Searches for the existence of a text and gets the text positions in a PDF page.
+    pdfViewer.GetTextCoordinates("example", 4, coordinates)
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+N> Getting coordinates of a text will work only after the display of the PDF document in the viewer, when tried before the display of the PDF document the out value will be a list of count 0.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-current-vertical-and-horizontal-offsets.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-current-vertical-and-horizontal-offsets.md
new file mode 100644
index 000000000..48fa6d47c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-current-vertical-and-horizontal-offsets.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title: Current vertical and horizontal offsets of UWP PDF viewer | Syncfusion
+description: Learn here all about Get current vertical and horizontal offsets support of UWP PDF viewer control and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Get current vertical and horizontal offsets in UWP PDF Viewer
+The SfPdfViewer control provides the value of the current vertical and horizontal offsets. The following code allows you to access the same. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section. 
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Gets Vertical Offset of a document.
+float vOffset = pdfViewer.VerticalOffset;
+//Gets Horizontal Offset of a document.
+float hOffset = pdfViewer.HorizontalOffset;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Gets Vertical Offset of a document.
+Dim vOffset As Single = pdfViewer.VerticalOffset
+'Gets Horizontal Offset of a document.
+Dim hOffset As Single = pdfViewer.HorizontalOffset
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-gap-between-the-pages.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-gap-between-the-pages.md
new file mode 100644
index 000000000..8191dc2c6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-gap-between-the-pages.md
@@ -0,0 +1,25 @@
+---
+layout: post
+title: Get page gap between the pages in UWP PDF viewer | Syncfusion
+description: Learn here about Get page gap between the pages support in UWP PDF viewer control with access the gap between two pages, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Get page gap between the pages in UWP PDF Viewer
+The SfPdfViewer control provides the property to access the gap between two pages being displayed in the PDF Viewer. This value can be accessed using the following code. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section.
+{% tabs %}
+{% highlight c# %}
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+pdfViewer.LoadDocument(loadedDocument);
+//Gets the gap between two pages.
+int pageGap = pdfViewer.PageGap;
+{% endhighlight %}
+{% highlight vbnet %}
+Dim loadedDocument As New PdfLoadedDocument(Buffer)
+pdfViewer.LoadDocument(loadedDocument)
+'Gets the gap between two pages.
+Dim pageGap As Integer = pdfViewer.PageGap
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-offset-collection.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-offset-collection.md
new file mode 100644
index 000000000..ee7646458
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Get-page-offset-collection.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Get page offset collection in Syncfusion Essential UWP PDF viewer.
+description: Learn here about Get page offset collection support in UWP PDF viewer control with page numbers as keys and the corresponding vertical location, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Get page offset collection in UWP PDF Viewer
+Page offset collection is a dictionary with page numbers as keys and the corresponding vertical location where the page ends as values. The following code example illustrates accessing the same. Here 'buffer' is the byte array read from the PDF file either using FileOpenPicker or from Assets folder, as illustrated in the [Viewing PDF](https://help.syncfusion.com/uwp/sfpdfviewer/concepts-and-features/viewing-pdf) section.
+{% tabs %}
+{% highlight c# %}
+private void Page_Loaded(object sender, RoutedEventArgs e)
+{
+    PdfLoadedDocument loadedDocument = new PdfLoadedDocument(buffer);
+    pdfViewer.LoadDocument(loadedDocument);
+}
+
+private void Button_Click(object sender, RoutedEventArgs e)
+{
+    //Gets the page offset collection.
+    Dictionary<int, double> offsetCollection = pdfViewer.PageOffsetCollection;
+}
+{% endhighlight %}
+{% highlight vbnet %}
+Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs)
+    Dim loadedDocument As New PdfLoadedDocument(buffer)
+    pdfViewer.LoadDocument(loadedDocument)
+End Sub
+
+Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
+    'Gets the page offset collection.
+    Dim offsetCollection As Dictionary(Of Integer, Double) = pdfViewer.PageOffsetCollection
+End Sub
+{% endhighlight %}
+{% endtabs %}
+
+N> The page offset collection will be generated only at the time of display of the PDF document in the viewer, when tried before the display of the document this would return a dictionary of count 0.
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Render-PDF-pages-using-pdfium-rendering-engine.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Render-PDF-pages-using-pdfium-rendering-engine.md
new file mode 100644
index 000000000..c57da89bc
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Render-PDF-pages-using-pdfium-rendering-engine.md
@@ -0,0 +1,233 @@
+---
+layout: post
+title: Rendering PDF pages using PDFium renderer | Syncfusion
+description: The Syncfusion Essential<sup>®</sup> UWP PDF viewer provides option to render the PDF pages using PDFium rendering engine. 
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Render PDF Pages using the PDFium renderer 
+
+The [`SfPdfViewerControl`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html) allows the users to render the PDF pages using the PDFium rendering engine. The `IPdfRenderer` interface defines the methods and properties which provides the necessary values and perform the necessary operations to render the pages using the PDFium library. The user needs to add a class in their application which must implement this interface and assign an instance of this class to the Renderer property of the [`SfPdfViewerControl`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html). 
+
+The PDF page rendering using the PDFium rendering engine is shown in detail 
+as follows. 
+
+## Loading the PDFium library
+
+To render the PDF pages using PDFium, the pdfium.dll library for the corresponding platform configuration (x86 or x64) must be loaded in the application project. The library can be either loaded from a file path or it can be added as a content file in the application project.
+
+### Loading the library from the file path
+
+Load the library from file path using the LoadLibrary external method. 
+
+{% tabs %}
+{% highlight c# %}
+
+	string path = Path.Combine(ApplicationData.Current.LocalFolder.Path, "pdfium.dll");
+    LoadLibrary(path);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding the library as Content
+
+Add the pdfium.dll file to the project with BuildAction as content. When added as content, it is not necessary to load the library programmatically. 
+
+## Implementing the IPdfRenderer interface
+
+Add a class to the application project and implement the `IPdfRenderer` interface in the class. 
+
+### Add definitions of the external methods
+
+In the class, define the external methods for the necessary operations such as initializing the PDFium library, rendering the PDF pages, obtaining the page size, and more. The pdfium.dll library provides implementations for these external methods. 
+
+Each external method definition must be preceded by the DllImport attribute. 
+
+
+{% tabs %}
+{% highlight c# %}
+
+    [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Auto)]
+    private static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPTStr)] string lpFileName);
+
+    [DllImport("pdfium.dll", EntryPoint = "FPDF_InitLibrary")]
+    public static extern void FPDF_InitLibrary();
+
+    [DllImport("pdfium.dll")]
+    public static extern int FPDF_GetPageCount(IntPtr document);
+
+    [DllImport("Pdfium.dll")]
+    public static extern int FPDF_GetPageSizeByIndex(IntPtr document, int page_index, out double width, out double height);
+
+    [DllImport("Pdfium.dll")]
+    public static extern IntPtr FPDFBitmap_CreateEx(int width, int height, int format, IntPtr first_scan, int stride);
+
+    [DllImport("Pdfium.dll")]
+    public static extern void FPDFBitmap_FillRect(IntPtr bitmapHandle, int left, int top, int width, int height, uint color);
+
+    [DllImport("Pdfium.dll")]
+    public static extern IntPtr FPDFBitmap_Destroy(IntPtr bitmapHandle);
+
+    [DllImport("Pdfium.dll")]
+    public static extern void FPDF_RenderPageBitmap(IntPtr bitmapHandle, IntPtr page, int start_x, int start_y, int size_x, int size_y, int rotate, FPDF flags);
+
+    [DllImport("pdfium.dll")]
+    public static extern IntPtr FPDF_LoadPage(IntPtr document, int page_index);
+
+    [DllImport("Pdfium.dll")]
+    public static extern int FPDF_GetPageWidth(IntPtr page);
+
+    [DllImport("Pdfium.dll")]
+    public static extern int FPDF_GetPageHeight(IntPtr page);
+
+    [DllImport("Pdfium.dll", CharSet = CharSet.Ansi)]
+    public static extern IntPtr FPDF_LoadCustomDocument([MarshalAs(UnmanagedType.LPStruct)]FPDF_FILEACCESS access, string password);
+
+    [DllImport("Pdfium.dll")]
+    public static extern void FPDF_CloseDocument(IntPtr page);
+
+    [DllImport("Pdfium.dll")]
+    public static extern IntPtr FPDF_ClosePage(IntPtr page);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Initialize the PDFium library
+
+The following code sample shows initializing the PDFium library and loading the PDF document. The `Initialize` method will be called every time a PDF is called.
+
+{% tabs %}
+{% highlight c# %}
+
+	public void Initialize(Stream stream, string password)
+    {
+        fileStream = stream;
+        FPDF_InitLibrary();
+        FPDF_FILEACCESS access = new FPDF_FILEACCESS
+        {
+            m_FileLen = (uint)fileStream.Length,
+            m_GetBlock = Marshal.GetFunctionPointerForDelegate(_getBlockDelegate),
+            m_Param = (IntPtr)2,
+        };
+        document = FPDF_LoadCustomDocument(access, password);
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Implement the PageCount property
+
+The `PageCount` property must return the total page count by calling the external method defined earlier. When a new PDF is loaded, the previous PDF must be closed and the page count should be reset. 
+
+{% tabs %}
+{% highlight c# %}
+
+	public int PageCount
+    {
+        get
+        {
+            if (pageCount == -1)
+                pageCount = FPDF_GetPageCount(document);
+            return pageCount;
+        }
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Implement the GetPageSize method
+
+The `GetPageSize` method must call the external method and return the size of the PDF page corresponding to the given index. 
+
+{% tabs %}
+{% highlight c# %}
+
+	public Size GetPageSize(int pageIndex)
+    {
+        double height = 0, width = 0;
+        FPDF_GetPageSizeByIndex(document, pageIndex, out width, out height);
+        Size size;
+        size.Width = (int)width;
+        size.Height = (int)height;
+        return size;
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Render the PDF page
+
+The `RenderPageBitmap` method must call the external methods which render the PDF page and return the rendered SoftwareBitmap.
+
+{% tabs %}
+{% highlight c# %}
+
+	public SoftwareBitmap RenderPageBitmap(int pageIndex, double pageWidth, double pageHeight)
+    {
+        var page = FPDF_LoadPage(document, pageIndex);
+
+        int width = (int)pageWidth;
+        int height = (int)pageHeight;
+        byte[] buffer = new byte[width * height * 4];
+
+        unsafe
+        {
+            fixed (byte* p = buffer)
+            {
+                IntPtr createdpages = FPDFBitmap_CreateEx(width, height, 4, (IntPtr)p, width * 4);
+                uint background = 0xFFFFFFFF;
+                FPDFBitmap_FillRect(createdpages, 0, 0, width, height, background);
+                FPDF_RenderPageBitmap(createdpages, page, 0, 0, width, height, 0, FPDF.ANNOT);
+                FPDFBitmap_Destroy(createdpages);
+                FPDF_ClosePage(page);
+            }
+        }
+
+        SoftwareBitmap softwareBitmap = new SoftwareBitmap(BitmapPixelFormat.Bgra8, width, height, BitmapAlphaMode.Premultiplied);
+        softwareBitmap.CopyFromBuffer(buffer.AsBuffer());
+
+        return softwareBitmap;
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Close the PDF document
+
+When a new PDF is to be loaded, the previous PDF must be closed, and the page count should be reset. 
+
+{% tabs %}
+{% highlight c# %}
+
+	public void Close()
+    {
+        if (document != IntPtr.Zero)
+            FPDF_CloseDocument(document);
+        pageCount = -1;
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Setting the Renderer property
+
+Set the `Renderer` property to a new instance of the class created above. If the `Renderer` property is not set, the pages are rendered using the default rendering of a [`SfPdfViewerControl`](https://help.syncfusion.com/cr/uwp/Syncfusion.Windows.PdfViewer.SfPdfViewerControl.html). 
+
+{% tabs %}
+{% highlight c# %}
+
+	sfPdfViewerControl.Renderer = new CustomerPDFRenderer();
+
+{% endhighlight %}
+{% endtabs %}
+
+## PDFium renderer sample
+
+The sample that illustrates loading a PDF using the Pdfium renderer can be downloaded from the link below. 
+  
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfiumRenderer-36218231.zip> 
+
+N> Please ensure that the proper file path for the pdfium.dll assembly is provided in the `Initialize` method of the `CustomerPdfRenderer` class before running the application. Also make sure that you are using the appropriate pdfium.dll assembly with respect to their architecture (x86 or x64).
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Toggle-the-display-of-the-page-number.md b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Toggle-the-display-of-the-page-number.md
new file mode 100644
index 000000000..6f64dc6b1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/How-to/Toggle-the-display-of-the-page-number.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: Toggle the display of the page number in UWP PDF viewer | Syncfusion
+description: Learn here about Toggle the display of the page number support in UWP PDF viewer control and disable the display of the page number, and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# Toggle the display of the page number in UWP PDF Viewer
+The following code example can be used to disable the display of the page number on the top left corner of each page. 
+{% tabs %}
+{% highlight c# %}
+pdfViewer.ShowPageNumber = false;
+{% endhighlight %}
+{% highlight vbnet %}
+pdfViewer.ShowPageNumber = False
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/uwp/Overview.md b/Document-Processing/PDF/PDF-Viewer/uwp/Overview.md
new file mode 100644
index 000000000..c8ec5a2d1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/uwp/Overview.md
@@ -0,0 +1,26 @@
+---
+layout: post
+title: About UWP Pdf Viewer control | Syncfusion
+description: Learn here all about introduction of Syncfusion<sup>®</sup> UWP Pdf Viewer (SfPdfViewer) control, its elements and more.
+platform: uwp
+control: PDF viewer
+documentation: ug
+---
+
+# UWP PDF Viewer (SfPdfViewer) Overview
+
+The PDF viewer for Universal Windows Platform is a native control for viewing and printing PDF documents. The control internally makes use of the Windows rendering engine (Windows.Data.Pdf) for rendering the pages of the PDF document.
+
+**Key features**
+
+* Open, view and print the PDF documents.
+* Perform text selection and text search in the PDF document.
+* Zoom tools and view modes for better viewing experience.
+* App bar can be completely customized using the API bindings.
+* Navigate to the pages instantly.
+* Navigate to bookmarks already present in a PDF document.
+* Navigate to the topic or position by tapping the document link annotation of the topics in the table of contents in a PDF document.
+* Detects hyperlinks, and tapping on the hyperlink will open the URL in a browser.
+* Review and annotate a PDF document using various annotations, such as highlight, underline, strikethrough, line, rectangle, ellipse, ink, custom stamp, sticky note, free text, and free text callout.
+* Add and modify the existing form field content in a PDF document.
+* All static text within the PDF Viewer can be localized to any supported language.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Bookmark-Navigation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Bookmark-Navigation.md
new file mode 100644
index 000000000..73fc6c3e5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Bookmark-Navigation.md
@@ -0,0 +1,121 @@
+---
+layout: post
+title:  Bookmark Navigation in Xamarin.Android PDF viewer | Syncfusion
+description: Bookmark navigation allows users to view the bookmarks and navigate to the destination saved in the bookmarks in PDF Viewer Xamarin.Android
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Bookmark Navigation
+
+PDF viewer allows users to view the bookmarks present in the loaded PDF document and navigate to the destination saved in the bookmarks. 
+
+## Enabling and disabling bookmark feature
+
+You can enable and disable the bookmark button from the built-in toolbar using the `BookmarkNavigationEnabled` property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkNavigationEnabled</td>
+<td>Gets or sets the value that enable and disable the bookmark feature in PDF viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+This property removes the bookmark button from the built-in toolbar and disable the bookmark feature, when it is set to false and vice versa.
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark feature is disabled
+pdfViewerControl. BookmarkNavigationEnabled = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## Expand and collapse the bookmark pane from built-in toolbar
+
+The bookmark pane is expanded and collapsed by clicking the bookmark button from the built-in toolbar.
+
+![Button for bookmark](pdfviewer_images/BookmarkButton.png)
+
+## Expand and collapse the bookmark pane programmatically
+
+The bookmark pane is expanded and collapsed programmatically by using the `BookmarkPaneVisible` bindable property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkPaneVisible</td>
+<td>Gets or sets the value to expand and collapse the bookmark pane in PDF viewer. Setting this property to true expands the pane and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark pane will be collapsed, if it is expanded
+pdfViewerControl.BookmarkPaneVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Programmatically navigate to a bookmark destination
+
+You can navigate to a desired bookmark destination using the `GotoBookmark(PdfBookmark)` method. The target/destination bookmark should be provided as the argument to this method. Refer to the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Loads the PDF document in PdfLoadedDocument
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(documentStream);
+
+//Retrieves the bookmark collection from the loaded PDF document
+PdfBookmarkBase bookmark = loadedDocument.Bookmarks;
+
+//Navigate to the specified bookmark destination offset
+pdfViewerControl.GoToBookmark(bookmark[0]);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Track the occurrence of the bookmark navigation
+
+You can track the bookmark navigation operation using the `BookmarkNavigationOccurred` event. The argument of this event will provide the instance of the bookmark, destination page number, and vertical offset. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.BookmarkNavigationOccurred += PdfViewerControl_BookmarkNavigationOccurred;
+
+
+private void PdfViewerControl_BookmarkNavigationOccurred(object sender, Syncfusion.SfPdfViewer.XForms.BookmarkNavigationOccurredEventArgs e)
+{
+      //Retrieves the current bookmark
+      PdfBookmark bookmark = e.Bookmark;
+
+      //Gets the vertical offset of the bookmark
+      double destinationOffset = e.Offset;
+
+      //Gets the current page number in which the bookmark destination resides
+      int pageNumber = e.PageNumber;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Bookmarks](pdfviewer_images/bookmark.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Built-in-toolbar.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Built-in-toolbar.md
new file mode 100644
index 000000000..e83d1c35d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Built-in-toolbar.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title:  Built-in toolbar in PDF viewer Xamarin.Android  | Syncfusion
+description: The PDF Viewer Xamarin.Android allows the users to perform almost all operations in PDF Viewer using the built-in toolbar
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with built-in toolbar
+
+The SfPdfViewer has a built-in toolbar, which has provisions to perform majority of the operations in the PDF viewer. You  can disable the built-in toolbar and develop your own toolbar.
+
+## How to disable the built-in toolbar of SfPdfViewer?
+
+The following API is used to disable the built-in toolbar in the PDF viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.Toolbar.Enabled = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the built-in toolbar of SfPdfViewer is always visible.
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Documentlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Documentlink.md
new file mode 100644
index 000000000..15de20c27
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Documentlink.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title:  Document link in PDF viewer Xamarin.Android | Syncfusion
+description: Document Link Annotation or Table of content support in PDF viewer Xamarin.Android allows the user to navigate to specific destination within PDF document.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Document Link Annotation (Table of content)
+
+The PDF viewer navigates to a specific destination within the PDF document.
+
+
+## How to disable document link navigation in PDF document using PDF viewer control?
+
+Set the “EnableDocumentLinkAnnotation” property to false to disable the document link navigation in PDF viewer. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.EnableDocumentLinkAnnotation =false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableDocumentLinkAnnotation property is set to true.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Export-as-image.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Export-as-image.md
new file mode 100644
index 000000000..62d0dd1ed
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Export-as-image.md
@@ -0,0 +1,87 @@
+---
+layout: post
+title: Exporting as images using PDF Viewer Xamarin.Android | Syncfusion
+description: Convert pages of the PDF to image stream with custom scale factor using Syncfusion<sup>®</sup> Xamarin.Android PDF Viewer control, its elements, and more.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Exporting the pages of PDF document as images
+
+The PdfViewerControl allows users to export the pages of a PDF document as image streams using the `ExportAsImage` method. The resultant image streams can be saved as image files in the local storage.
+
+## Exporting a single PDF page as image
+
+To export a single PDF page as image, you should use the ExportAsImage method that accepts page index as its parameter. The following code example describes exporting page at index 0 as image stream. 
+
+{% tabs %}
+{% highlight c# %}
+//Get the PDF Viewer instance from the axml layout
+SfPdfViewer pdfViewer = this.FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+//Accessing the PDF document that is placed inside the assets directory as stream
+Stream docStream = Assets.Open("GIS Succinctly.pdf");
+// Load the PDF document stream in SfPdfViewer
+pdfViewer.LoadDocument(docStream);
+// Export the page of PDF document to image stream with the given index
+Stream imgStream = pdfViewer.ExportAsImage(0);
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a single PDF page as image with custom scale factor
+
+To export a single PDF page as image with custom scale factor, you should use the ExportAsImage method that accepts page index and scale factor as its parameters. The following code example describes exporting page at index 0 with the scale factor 2.0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the PDF Viewer instance from the axml layout
+SfPdfViewer pdfViewer = this.FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+//Accessing the PDF document that is placed inside the assets directory as stream
+Stream docStream = Assets.Open("GIS Succinctly.pdf");
+// Load the PDF document stream in SfPdfViewer
+pdfViewer.LoadDocument(docStream);
+// Export the 0th index of PDF page to image stream with size two times greater than the original size 
+Stream stream = pdfViewer.ExportAsImage(0,2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a range of PDF pages as images
+
+To export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index and end page index as its parameter. The following code example describes exporting pages ranging between index 0 and 3 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the PDF Viewer instance from the axml layout
+SfPdfViewer pdfViewer = this.FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+//Accessing the PDF document that is placed inside the assets directory as stream
+Stream docStream = Assets.Open("GIS Succinctly.pdf");
+// Load the PDF document stream in SfPdfViewer
+pdfViewer.LoadDocument(docStream);
+// Export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+Stream[] stream = pdfViewer.ExportAsImage(0,3);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a range of PDF pages as images with custom scale factor
+
+To export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index, end page index, and scale factor as its parameter. The following code example describes exporting pages ranging between index 0 and 3 with the scale factor 2 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the PDF Viewer instance from the axml layout
+SfPdfViewer pdfViewer = this.FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+//Accessing the PDF document that is placed inside the assets directory as stream
+Stream docStream = Assets.Open("GIS Succinctly.pdf");
+// Load the PDF document stream in SfPdfViewer
+pdfViewer.LoadDocument(docStream);
+// Export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+// All the exported images are scaled 2 times larger than its original size
+Stream[] stream = pdfViewer.ExportAsImage(0,3, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/FreeText-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/FreeText-Annotation.md
new file mode 100644
index 000000000..f0cca7587
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/FreeText-Annotation.md
@@ -0,0 +1,442 @@
+---
+layout: post
+title:  Freetext annotations in Xamarin.Android PDF Viewer | Syncfusion
+description: Learn about free text annotations support in Syncfusion<sup>®</sup> Xamarin.Android Pdf Viewer (SfPdfViewer) control and more details.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with free text annotations
+
+PDF viewer allows you to include free text annotations in a PDF document and provides options to modify or remove the existing ones.
+
+## Adding free text annotations using toolbar
+
+### Enabling free text mode
+
+Set the `AnnotationMode` property of the PDF viewer to FreeText. After setting the annotation mode, the zooming, panning, and scrolling will be disabled, tap anywhere on the PDF page displayed and a popup will appear. Type the text in the popup and click &#34;Ok&#34; to add text to the page. Zooming, panning, and scrolling will be enabled again if the free text annotation is added.
+
+In all code snippets, the term ApplicationContext represents  the `ApplicationContext` property of the MainActivity.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationMode = AnnotationMode.FreeText;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling free text mode
+
+Setting the AnnotationMode to `None` disables the free text annotation mode. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of free text annotations
+
+The event `FreeTextAnnotationAdded` will be raised when a free text annotation is added to the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationAdded += PdfViewer_FreeTextAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding free text annotations programmatically
+
+By `AddAnnotation` method , You can add the free text annotations programmatically. The created free text annotation object passed as a parameter. The `FreeTextAnnotation` instance acquires the text, page number and bounds as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+string text = "Syncfusion";
+           
+//Creates the free text annotation
+FreeTextAnnotation freeTextAnnotation = new FreeTextAnnotation(text, 1, new Rectangle(100, 100, 100, 50));           
+
+//Add the free text annotation to the specified page 
+pdfViewer.AddAnnotation(freeTextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting tap on free text annotations
+
+Tapping a free text annotation selects it or deselects if it is already selected. The event `FreeTextAnnotationTapped` is raised when a free text is tapped.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationTapped += PdfViewer_FreeTextAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting free text annotations
+
+You can select a free text annotation by tapping on it. When a free text is selected, the `FreeTextAnnotationSelected` event is raised.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationSelected += PdfViewer_FreeTextAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+When the event is raised, the properties of the selected free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %} 
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Obtain the bounds of the annotation
+	Rect bounds = args.Bounds;
+
+	//Obtain the text in the annotation
+	string text = args.Text;
+
+	//Obtain the size of the text in the annotation
+	float textSize = args.FontSize;
+
+	//Obtain the color of the text
+	Color textColor = args.TextColor;
+
+	//Obtain the page number in which the selected annotation is
+	int pageNumber = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting free text annotation programmatically
+
+By `SelectAnnotation` method, You can select the free text annotation programmatically. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified free text annotation
+pdfViewer.SelectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting free text annotations
+
+You can deselect a selected free text annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the `FreeTextAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationDeselected += PdfViewer_FreeTextAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting free text annotation programmatically?
+
+By `DeselectAnnotation` method, You can deselect the free text annotation. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified free text annotation 
+pdfViewer.DeselectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of free text annotations
+
+You can customize the default text color and size of all free text annotations to be added. This will not affect the already added free text annotations. The appearance of a selected free text can also be modified. 
+
+### Setting the default text color
+
+You can set the default text color of the free text annotations by using the `SfPdfViewer.AnnotationSettings.FreeText.TextColor` property. Refer to the following code.
+ 
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationSettings.FreeText.TextColor = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text size
+
+You can set the default text size of the free text annotations by using the `SfPdfViewer.AnnotationSettings.FreeText.TextSize` property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationSettings.FreeText.TextSize = 4; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default background-color
+
+You can set the background color for the free text annotations using the `SfPdfViewer.AnnotationSettings.FreeText.FillColor` property. The default value is set to `Color.Transparent`.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the background color of the free text annotation
+
+pdfViewerControl.AnnotationSettings.FreeText.FillColor = Color.LightBlue;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.FreeText.MinimumSize` property, You can set the minimum size to which the free text annotations could be resized.
+ 
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the free text annotations
+pdfViewerControl.AnnotationSettings.FreeText.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the properties of a selected free text
+
+You can change the properties of the selected annotation by casting the `sender` parameter of the `FreeTextAnnotationSelected` event handler to `FreeTextAnnotation` and modifying its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %} 
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationSelected += PdfViewer_FreeTextAnnotationSelected;
+changeFreeTextPropertiesButton.Clicked += ChangeFreeTextPropertiesButton_Clicked;
+FreeTextAnnotation selectedFreeTextAnnotation;
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to free text annotation
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void ChangeFreeTextPropertiesButton_Clicked(object sender, EventArgs e)
+{
+	//Change the color of the text
+    selectedFreeTextAnnotation.Settings.TextColor = Color.Purple;
+
+    //Change the size of the text
+    selectedFreeTextAnnotation.Settings.TextSize = 6;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing free text annotations
+
+To move or resize the annotation, it should be selected. After the selector appears, tapping and dragging anywhere inside the selector will move the annotation. Tapping on the bubbles around the selector and dragging will resize the annotation. 
+
+### Detecting the move or resize of a free text
+
+The event `FreeTextAnnotationMovedOrResized` is raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationMovedOrResized += PdfViewer_FreeTextAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the moved or resized free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_FreeTextAnnotationMovedOrResized(object sender, FreeTextAnnotationMovedOrResizedEventArgs args)
+{
+	//Retrieve the old bounds of the annotation
+	Rect oldBounds = args.OldBounds;
+
+	//Retrieve the new bounds of the annotation
+	Rect newBounds = args.NewBounds;
+
+	//Retrieve the current page number
+	int pageNumber = args.PageNumber;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting free text annotations
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document.
+
+### Removing all annotations
+
+The `ClearAllAnnotations` method can be used to delete all annotations irrespective of their types from the PDF. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ClearAllAnnotations();
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing a selected free text annotation
+
+The following code snippet illustrates removing a selected free text from the PDF document.
+{% tabs %}
+{% highlight c# %}
+
+FreeTextAnnotation selectedFreeTextAnnotation;
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to free text annotation.
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void deleteFreeTextAnnotationButton_Clicked(object sender, EventArgs e)
+{
+	//Delete the selected free text annotation
+	pdfViewer.RemoveAnnotation(selectedFreeTextAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a free text
+
+The event `FreeTextAnnotationRemoved` is raised when a free text annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.FreeTextAnnotationRemoved += PdfViewer_FreeTextAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed free text can be obtained from the `args` parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_FreeTextAnnotationRemoved(object sender, FreeTextAnnotationRemovedEventArgs args)
+{
+	//Get the bounds 
+	Rect bounds = args.Bounds;
+	//Get the page number on which the deselected free text is 
+	int pageNumber = args.PageNumber;
+	//Get the text of the free text annotation 
+	string text = args.Text;
+	//Get the text color 
+	Color textColor = args.TextColor;
+	//Get the text size 
+	float textSize = args.FontSize;
+}
+
+{% 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.
+
+The following code sample explains modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_FreeTextAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ FreeTextAnnotationAdded (object sender, FreeTextAnnotationAddedEventArgs args)
+{
+//Sets the name for the annotation.
+(sender as FreeTextAnnotation).Name = "FreeText1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_FreeTextAnnotationAdded)  event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Getting-Started.md
new file mode 100644
index 000000000..e93ead705
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Getting-Started.md
@@ -0,0 +1,640 @@
+---
+layout: post
+title: Getting Started with Xamarin.Android PDF Viewer Control | Syncfusion
+description: Learn here about getting started with Syncfusion Essential<sup>®</sup> Xamarin.Android PDF Viewer Control, its elements, and more.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting Started with Xamarin.Android PDF Viewer
+
+This section demonstrates how to create an application that displays a PDF file using [Xamarin.Android PDF Viewer](https://www.syncfusion.com/xamarin-android-ui-controls/pdf-viewer) (SfPdfViewer) control.
+
+## Assemblies Required
+
+After installing Essential Studio<sup>®</sup> for Xamarin, you can find all the required assemblies in the installation folders,
+
+{Syncfusion Essential Studio Installed location}\Essential Studio\{Essential Studio version}\Xamarin\lib\android\
+
+Example: C:\Program Files (x86)\Syncfusion\Essential Studio\15.3.0.28\Xamarin\lib\android\
+
+For creating a PDF Viewer for android, the following assemblies need to be referenced in your Android project.
+
+<table>
+<tr>
+<th>Project</th>
+<th>Required assemblies</th>
+</tr>
+<tr>
+<td>Xamarin.Android</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.Android.dll<br/>Syncfusion.SfBusyIndicator.Android.dll<br/>Syncfusion.SfRangeSlider.Android.dll<br/>Syncfusion.Licensing.dll<br/>Syncfusion.SfProgressBar.Android.dll<br/></td>
+</tr>
+</table>
+
+N> Starting with v16.2.0.x, if you reference Syncfusion<sup>®</sup> assemblies from trial setup or from the NuGet feed, you also have to include a license key in your projects. Please refer to [this link](https://help.syncfusion.com/common/essential-studio/licensing/license-key) to know about registering Syncfusion<sup>®</sup> license key in your Xamarin.Android application to use our components.
+
+## Create a simple PDF Viewer
+
+Create a new blank application for Android using Visual Studio and name it as “GettingStartedDroid”. Refer the above-mentioned assemblies to the project. 
+
+Add a PDF document you need to display in the PDF Viewer (here GIS Succinctly.pdf is used) and set the build action property as “AndroidAsset”.
+
+Add the below code in the Main.axml to include PDF Viewer control.
+   
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+Please add the below code snippet in the MainActivity class
+
+* In the MainActivity.cs class, declare an instance of SfPdfViewer globally. 
+* In the override method OnCreate, set the content view to Main, locate the PDF viewer and load the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Deploying this project in the Android device would display the PDF document and allow you to scroll and zoom through the pages.
+
+## Loading a PDF from an URL
+
+PDF documents can be loaded from a given URL into the PdfViewer by downloading the PDF and then loading the stream of the downloaded file into the PdfViewer. In the following code sample, the `HttpClient.GetAsync( )` method sends a GET request to the specified Uri as an asynchronous operation and the `HttpContent.ReadAsStreamAsync( )` method will serialize the HTTP content and returns a stream that represents the content as an asynchronous operation. Finally, the obtained stream is passed to the `LoadDocument( )` method of SfPdfViewer.
+
+{% tabs %}
+{% highlight c# %}
+
+HttpClient httpClient = new HttpClient();
+HttpResponseMessage response = await httpClient.GetAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/GIS_Succinctly1774404643.pdf");
+Stream pdfStream = await response.Content.ReadAsStreamAsync();
+pdfViewerControl.LoadDocument(pdfStream);
+
+{% endhighlight %}
+{% endtabs %}
+
+The sample that illustrates loading a PDF from an URL can be downloaded from the link below,
+ 
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/LoadPDFFromURL-NativeAndroid-1933958599.zip> 
+
+N> An Internet connection is necessary to get the stream from an URL. Please ensure that the device has a proper internet connection before running the sample application.
+
+## Unloading PDF document from the Viewer
+
+The Xamarin.Android PDF Viewer (SfPdfViewer) control allows you to unload the PDF document from the viewer, when the PDF document is not in use anymore. This releases the PDF document and all its associated resources of the application.
+
+You need to call the Unload method of SfPdfViewer control as in the below code snippet to achieve the same.
+
+{% tabs %}   
+{% highlight c# %}
+
+pdfViewerControl.Unload();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get & set the current page number?
+
+PageChanged event of the PDF viewer can be used to track the change in the current page being displayed in the PDF viewer. 
+
+This below code snippet demonstrates how to track the current page number being viewed using PageChanged event and how to navigate to the respective page in the PDF Viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+          android:id="@+id/pagenumberentry"
+          android:layout_width="50dp"
+          android:layout_height="30dp"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:textAlignment="center"
+          android:background="@drawable/edittextbg"
+          android:textColor="@android:color/black"
+          android:inputType="number"
+          android:selectAllOnFocus="true"
+          android:gravity="center" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+EditText pageNumberEntry;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    pageNumberEntry = FindViewById<EditText>(Resource.Id.pagenumberentry);
+
+    //Wire up PageChanged event with PdfViewer_PageChanged
+    pdfViewer.PageChanged += PdfViewer_PageChanged;
+    //Wire up KeyPress event with PageNumberEntry_KeyPress
+    pageNumberEntry.KeyPress += PageNumberEntry_KeyPress;
+}
+
+private void PdfViewer_PageChanged(object sender, PageChangedEventArgs args)
+{
+    //Set the text of PageNumberEntry EditText control to the PageNumber event argument of PageChanged event.
+    pageNumberEntry.Text = args.PageNumber.ToString();
+}
+
+private void PageNumberEntry_KeyPress(object sender, Android.Views.View.KeyEventArgs e)
+{
+    e.Handled = false;
+    if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
+    {
+        int pageNumber = 0;
+        //Validated the entered text input is integer or validate.
+        if (int.TryParse((pageNumberEntry.Text), out pageNumber))
+        {
+            if ((pageNumber > 0) && (pageNumber <= pdfViewer.PageCount))
+                pdfViewer.GoToPage(pageNumber);
+        }
+         pageNumberEntry.ClearFocus();
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>When a page number which is not in the bounds (1 – page count) is provided as an input to the GoToPage method, no action will be performed.
+
+## How to dispose the managed resources of SfPdfViewer
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html) control allows you to dispose the managed resources which are associated with the viewer. You need to call the `Dispose` method of the [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html) control as shown in the following code sample to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disposes all the managed resources of SfPdfViewer
+pdfViewer.Dispose();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to clear the undo and redo stack
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html) control allows you to clear the undo and redo stacks that contain the changes that are made to the annotations in the PDF document, by calling the `ClearUndoRedoStack` API. When this method is called, the `CanUndo` and `CanRedo` properties will be set to `false`.
+
+{% tabs %}
+{% highlight c# %}
+
+//To clear the undo and redo stack 
+pdfViewer.ClearUndoRedoStack();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the total page number?
+
+PageCount property of the PDF viewer can be used to acquire the total number of pages in the PDF document that is being loaded. The PageCount property of the PDF viewer will be updated only after loading the PDF document, it can be tracked using DocumentLoaded event of the PDF viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <TextView
+          android:id="@+id/pagecounttext"
+          android:layout_width="50dp"
+          android:textAlignment="center"
+          android:textColor="@android:color/black"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:textSize="18dp"
+          android:gravity="center"
+          android:text="0" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+TextView pageCountText;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    pageCountText = FindViewById<TextView>(Resource.Id.pagecounttext);
+
+    //Wire up DocumentLoaded event with PdfViewer_DocumentLoaded
+    pdfViewer.DocumentLoaded += PdfViewer_DocumentLoaded;
+}
+
+private void PdfViewer_DocumentLoaded(object sender, System.EventArgs args)
+{
+    //Set the text of the PageCountText TextView to PageCount of PDF viewer
+    pageCountText.Text = pdfViewer.PageCount.ToString();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to next page and previous page?
+
+GoToPreviousPage and GoToNextPage methods of PDF viewer can be used to perform page navigation operations. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="2"
+            android:layout_height="50dp">
+      <ImageButton
+          android:id="@+id/pagedownbutton"
+          android:background="#E9E9E9"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:src="@drawable/pagedown" />
+      <ImageButton
+          android:id="@+id/pageupbutton"
+          android:background="#E9E9E9"
+          android:src="@drawable/pageup"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+ImageButton pageDownButton;
+ImageButton pageUpButton;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    pageDownButton = FindViewById<ImageButton>(Resource.Id.pagedownbutton);
+    pageUpButton = FindViewById<ImageButton>(Resource.Id.pageupbutton);
+
+    pageDownButton.Click += PageDownButton_Click;
+    pageUpButton.Click += PageUpButton_Click;
+}
+
+private void PageUpButton_Click(object sender, System.EventArgs e)
+{
+    //Method navigates to the previous page of the PDF document
+    pdfViewer.GoToPreviousPage();
+}
+
+private void PageDownButton_Click(object sender, System.EventArgs e)
+{
+    //Method navigates to the next page of the PDF document
+    pdfViewer.GoToNextPage();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+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.
+  .
+Refer the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Gets the list annotations present in the PDF
+var annotations = pdfViewer.Annotations;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The list remains empty if the PDF does not have any pre-existing annotations.
+
+## Rendering the appearance content of annotations
+
+By default, the PDF Viewer does not render the appearance content of annotations. But the appearance can be rendered by flattening the annotations before loading the PDF. This can be achieved by setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) API to true. The default value of the API is set to false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the annotations should be flattened when the PDF is loaded or not.
+pdfViewerControl.AnnotationSettings.Flatten = true;
+
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Annotations are only flattened when the page displayed in the viewer is only for viewing the appearance of annotations. Once the annotations are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) property to `true` will does not affect the save and annotation export operations. The annotations will not be flattened in these operations.
+
+## Designing a toolbar
+
+This section depicts how to design a toolbar for the PDF viewer and include functionalities such as page navigation options. This simple toolbar consists of options such as current page number, total page count in the PDF document, go to previous page and go to next page.
+
+In Main.axml, please add this code snippet to design the toolbar to add the page navigation options.
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="2"
+            android:layout_height="50dp">
+      <ImageButton
+          android:id="@+id/pagedownbutton"
+          android:background="#E9E9E9"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:src="@drawable/pagedown" />
+      <ImageButton
+          android:id="@+id/pageupbutton"
+          android:background="#E9E9E9"
+          android:src="@drawable/pageup"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+In MainActivity.cs, please add the below code snippet which contains the implementation for the following operations
+
+* Access & display the current page number being displayed and navigate to the specified page.
+* Display the total number of pages
+* Navigate to the previous page
+* Navigate to the next page
+
+{% tabs %}
+{% highlight c# %}
+
+using Android.App;
+using Android.Widget;
+using Android.OS;
+using Syncfusion.SfPdfViewer.Android;
+using System.IO;
+using Android.Views;
+using Android.Views.InputMethods;
+using Android.Content;
+
+namespace GettingStartedDroid
+{
+    [Activity(Label = "GettingStartedDroid", MainLauncher = true, Icon = "@drawable/icon")]
+    public class MainActivity : Activity
+    {
+        SfPdfViewer pdfViewer;
+        EditText pageNumberEntry;
+        TextView pageCountText;
+        ImageButton pageDownButton;
+        ImageButton pageUpButton;
+        LinearLayout mainView;
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+            SetContentView(Resource.Layout.Main);
+
+            //Access the controls in the design.
+            pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+            pageNumberEntry = FindViewById<EditText>(Resource.Id.pagenumberentry);
+            pageCountText = FindViewById<TextView>(Resource.Id.pagecounttext);
+            pageDownButton = FindViewById<ImageButton>(Resource.Id.pagedownbutton);
+            pageUpButton = FindViewById<ImageButton>(Resource.Id.pageupbutton);
+            mainView = FindViewById<LinearLayout>(Resource.Id.parentview);
+
+            //Wire up events.
+            pageNumberEntry.KeyPress += PageNumberEntry_KeyPress;
+            pageDownButton.Click += PageDownButton_Click;
+            pageUpButton.Click += PageUpButton_Click;
+            pdfViewer.DocumentLoaded += PdfViewer_DocumentLoaded;
+            pdfViewer.PageChanged += PdfViewer_PageChanged;
+
+            //Access the document in the resource as stream and load it in the PDF viewer.
+            Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+            pdfViewer.LoadDocument(PdfStream);
+        }
+
+        private void PdfViewer_PageChanged(object sender, PageChangedEventArgs args)
+        {
+            pageNumberEntry.Text = args.PageNumber.ToString();
+        }
+
+        private void PdfViewer_DocumentLoaded(object sender, System.EventArgs args)
+        {
+            //Set the text of the PageCountText TextView to PageCount of PDF viewer
+            pageCountText.Text = pdfViewer.PageCount.ToString();
+        }
+
+        private void PageUpButton_Click(object sender, System.EventArgs e)
+        {
+            //Method navigates to the previous page of the PDF document
+            pdfViewer.GoToPreviousPage();
+        }
+
+        private void PageDownButton_Click(object sender, System.EventArgs e)
+        {
+            //Method navigates to the next page of the PDF document
+            pdfViewer.GoToNextPage();
+        }
+
+        private void PageNumberEntry_KeyPress(object sender, Android.Views.View.KeyEventArgs e)
+        {
+            e.Handled = false;
+            if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
+            {
+                int pageNumber = 0;
+                if (int.TryParse((pageNumberEntry.Text), out pageNumber))
+                {
+                    //Validated the entered text input is integer or validate.
+                    if ((pageNumber > 0) && (pageNumber <= pdfViewer.PageCount))
+                        pdfViewer.GoToPage(pageNumber);
+                    else
+                    {
+                        DisplayAlertDialog();
+                        pageNumberEntry.Text = pdfViewer.PageNumber.ToString();
+                    }
+                }
+                pageNumberEntry.ClearFocus();
+                InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+                inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+            }
+        }
+
+        void DisplayAlertDialog()
+        {
+            AlertDialog.Builder alertDialog = new AlertDialog.Builder(mainView.Context);
+            alertDialog.SetTitle("Error");
+            alertDialog.SetMessage("Please enter the valid page number");
+            alertDialog.SetPositiveButton("OK", (senderAlert, args) => { });
+            Dialog dialog = alertDialog.Create();
+            dialog.Show();
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The final output will look as like in the below screenshot.
+
+![SfPdfViewer](pdfviewer_images/gettingstarted.png)
+
+This demo can be downloaded from the below link.
+
+http://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStartedDroid-1943126494.zip
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Handwritten-Signature.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Handwritten-Signature.md
new file mode 100644
index 000000000..a30ad7c34
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Handwritten-Signature.md
@@ -0,0 +1,264 @@
+---
+layout: post
+title:  Handwritten signature in Xamarin.Android PDF Viewer | Syncfusion
+description: Learn about handwritten signatures support in Syncfusion<sup>®</sup> Xamarin.Android Pdf Viewer (SfPdfViewer) control and more details.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with handwritten signatures
+
+PDF viewer allows you to include handwritten signatures in PDF documents and provides options to modify or remove the existing ones.
+
+## Adding handwritten signatures using toolbar
+
+### Enabling handwritten signature mode
+
+Set the `AnnotationMode` property of the PDF viewer instance to `HandwrittenSignature`. After setting the signature mode the signature pad would appear on which the signature can be drawn. After drawing the signature, the `Done` button should be tapped to add the drawn signature to the PDF, you can use clear button to redraw the signature or close button to cancel signing.
+
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.HandwrittenSignature;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling handwritten signature mode
+
+Setting the `AnnotationMode` to `None` will disable the signature mode and would hide the signature pad.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding handwritten signature programmatically
+
+By `AddAnnotation` method, You can add the handwritten signatures programmatically. The created handwritten signature object passed as a parameter. The `HandwrittenSignature` instance acquires the InkPointsCollection, page number and position as the parameters.
+
+The following code sample illustrates the adding of handwritten signature programmatically. 
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+
+System.Drawing.Point position = new System.Drawing.Point(100, 100);
+HandwrittenSignature signature = new HandwrittenSignature(inkPointsCollection, 1, position);
+signature.Settings.Color = Color.Red;           
+
+//Adds the  handwritten signature to the specified page 
+pdfViewer.AddAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select handwritten signature programmatically
+
+By `SelectAnnotation` method, You can select the handwritten signature programmatically. The specified handwritten signature object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified handwritten signature 
+pdfViewer.SelectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect handwritten signature programmatically
+
+By `DeselectAnnotation` method, You can deselect the handwritten signature programmatically .The specified handwritten signature object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified handwritten signature
+pdfViewer.DeselectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of handwritten signatures
+
+You can customize the default values such as stroke color, opacity, and thickness of all signatures to be added. This will not affect the already added signatures.
+
+### Setting the default stroke color
+
+You can set the default stroke color of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Color` property. Refer to the following code. 
+
+{% tabs %} 
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Color = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default opacity
+
+You can set the default opacity of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default thickness
+
+You can set the thickness of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize` property, You can set the minimum size to which the handwritten signatures could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the handwritten signatures
+pdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Similarity with Ink annotations
+
+The handwritten signatures are preserved as ink annotations in PdfViewer. However, on saving you can choose whether to preserve the signature as ink annotation or flatten it. This can be achieved using the `pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave` property.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default value of the property is `true`.
+
+### Events
+
+Since the handwritten signature is preserved as ink annotation, the events for both handwritten signatures and ink annotations are same. The events supported by ink annotations are described in detail [here](https://help.syncfusion.com/xamarin-android/sfpdfviewer/ink). 
+
+When the common events occur, ink annotation and handwritten signature can be distinguished using the event argument's `IsChildSignature` property. Also, the `sender` parameter will be of type `InkAnnotation` and `HandwrittenSignature` for the respective annotations. For brevity, only the `InkSelected` event is illustrated below. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.InkSelected += PdfViewer_InkSelected;
+
+private void PdfViewer_InkSelected(object sender, Syncfusion.SfPdfViewer.Android.InkSelectedEventArgs args)
+{
+	if(args.IsSignature)
+	{
+		//The event occurred was raised by handwritten signature
+		//The "sender" parameter is of type "HandwrittenSignature"
+	}
+	else
+	{
+		//The event occurred was raised by ink annotation
+		//The "sender" parameter is of type "InkAnnotation"
+	}
+}
+
+{% 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.
+
+The following code sample explains modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is HandwrittenSignature)
+    {
+     (sender as HandwrittenSignature).Name = "HandwrittenSignature1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event. But this can be done in all other events as well. 
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Hyperlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Hyperlink.md
new file mode 100644
index 000000000..e3fd3cc4b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Hyperlink.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title:  Hyperlink navigation in PDF viewer Xamarin.Android | Syncfusion
+description: Hyperlink navigation support in PDF Viewer Xamarin.Android detects hyperlinks present in PDF and on tapping it, will open the URL in the browser.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Hyperlink navigation
+
+PDF viewer supports hyperlink navigation that detects hyperlinks and tapping on the hyperlink will open the URL in the browser.
+
+
+## How to disable hyperlink navigation in PDF document using PDF viewer control?
+
+You can disable the hyperlink navigation by setting the “AllowHyperlinkNavigation” property of PDF viewer to false. By default, hyperlink navigation is enabled in PDF viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+        
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+	//Load the PDF document stream to SfPdfViewer
+	pdfViewer.LoadDocument(PdfStream);
+	//Disabling hyperlink navigation in PDF document using SfPdfViewer
+	pdfViewer.AllowHyperlinkNavigation = false;
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire the properties of clicked URI from PDF viewer?
+
+You can acquire the details of the hyperlink that is tapped in the PDF viewer control from the HyperlinkClickedEventArgs and HyperlinkClicked event. Refer to the following code snippet for more details.
+
+{% tabs %}
+{% highlight c# %}
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+        
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+	//Load the PDF document stream to SfPdfViewer
+	pdfViewer.LoadDocument(PdfStream);
+	//Wire up the hyperlink clicked event
+	pdfViewer.HyperlinkClicked += PdfViewer_HyperlinkClicked;
+
+}
+
+private void PdfViewer_HyperlinkClicked(object sender, HyperlinkClickedEventArgs args)
+{
+	// Gets or sets a value indicating whether the hyperlink navigation was handled.
+     args.Handled = false;
+
+	// Gets the hyperlink being clicked.
+    string uri = args.Uri;
+
+	// Gets the current page index of the hyperlink.
+    int pageIndex = args.PageIndex;
+
+	//Gets the bounds of the hyperlink is being clicked.
+    Rectangle hyperlinkBound = args.Bounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Importing-and-exporting-data.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Importing-and-exporting-data.md
new file mode 100644
index 000000000..fbac29602
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Importing-and-exporting-data.md
@@ -0,0 +1,102 @@
+---
+layout: post
+title: Importing and exporting data in Xamarin.Android Pdf Viewer| Syncfusion
+description: Learn about importing and exporting data support in Syncfusion<sup>®</sup> Xamarin.Android Pdf Viewer (SfPdfViewer) control and more details. 
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Importing and exporting data
+
+PDF Viewer provides options to import and export data like form fields and annotations in the PDF document.
+
+## Importing and exporting form data
+
+The import and export of form data supports the following extensions.
+
+* fdf
+* xfdf
+* json
+* xml
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting form data 
+
+The `ExportFormData` method exports the current data filled in the form fields into a stream in the specified file format. The name of the PDF (with extension) from which the data are exported should be given as the second argument to the method.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export form data to "fdf" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportFormData(DataFormat.Fdf, "PdfFileName.fdf");
+
+{% endhighlight %}
+{% endtabs %}
+
+N>While saving the stream returned by the `ExportFormData` method, the file name must have the same extension as the file type that was given as the first argument. For example, in the above case the file type provided is `fdf`, so the saved file extension should be `.fdf`.
+
+### Importing form data
+
+The `ImportFormData` method imports the data from a file of specified type and fills the saved data into the form fields.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import form data from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportFormData(fdfStreamToImport, DataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Importing and exporting annotations
+
+The import and export of annotations support following extensions.
+
+* fdf
+* xfdf
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting annotations
+
+The `ExportAnnotations` method exports the current annotations added to the document into a stream in the specified file format.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+A selective list of annotations can also be exported in the specified file format using the `ExportAnnotations` overload method . The annotations list needs to be exported, and the data format should be passed as method arguments. The following code example explains exporting the list of annotations present only on the first page.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the list of annotations present on the first page
+List<IAnnotation> firstPageAnnotations = pdfViewerControl.Annotations.Where(annotation => annotation.PageNumber == 1).ToList();
+
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(firstPageAnnotations, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Importing annotations
+
+The `ImportAnnotations` method imports the annotations from the file of specified type and fills the saved annotations into the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import annotations from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportAnnotations(fdfStreamToImport, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Ink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Ink.md
new file mode 100644
index 000000000..3a43a5499
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Ink.md
@@ -0,0 +1,642 @@
+---
+layout: post
+title:  Add freehand scribble in PDF using Syncfusion PDF Viewer Android
+description: PDF viewer Xamarin.Android allows user to add ink annotation and provides options to edit or remove an existing ink annotation in the PDF file.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with ink annotation in Xamarin.Android PDF Viewer
+
+PDF viewer allows you to include ink annotation in the PDF document and provides options to edit or remove the existing ink annotation in the PDF document.
+
+## Inclusion of ink annotation
+
+This section describes how to include ink annotation in PDF viewer control Xamarin.Android.
+
+### Enabling ink annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer object to ink to enable the ink annotation. By setting this, zooming and scrolling will be disabled and touch interactions will be converted into inks on the PDF pages. Refer to the following code. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+{% endhighlight %}
+{% endtabs %}
+
+Use the following code to reset the annotation mode to none. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding ink annotation using toolbar
+
+Steps involved in adding ink annotation to the PDF document:
+
+1.	Switch to ink annotation mode.
+2.	Add inks to the pages of the PDF document, this will be recorded as a session.
+3.	You can perform undo and redo operations for every stroke made in the session.
+4.	You can also choose the color and thickness of the ink, here color and thickness are restricted to the complete ink and not individual strokes.
+5.	After adding ink annotation, you can either accept or discard the changes.
+
+### How to accept and include the ink annotation on to the PDF viewer?
+
+The following code can be used to accept and include the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to ignore/discard drawn ink annotation from the PDF viewer before inclusion?
+
+The following code can be used to ignore or discard the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(false);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding ink annotation programmatically
+
+By `AddAnnotation` method, You can add the ink annotations programmatically. The created ink annotation object passed as a parameter. The `InkAnnotation` instance acquires the InkPointsCollection, page number and position as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+
+Android.Graphics.Point position = new Android.Graphics.Point(100, 100);
+InkAnnotation inkAnnotation = new InkAnnotation(inkPointsCollection, 1, position);
+inkAnnotation.Settings.Color = Android.Graphics.Color.Red;     
+      
+//Adds the ink annotation to the specified page 
+pdfViewer.AddAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to identify whether the ink annotation is included?
+
+You can identify whether the drawn ink annotation has been added to the PDF viewer control or not by using the `InkAdded` event. This event will be raised once the annotation is added. 
+
+{% tabs %}
+{% highlight c# %}
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkAdded`+= pdfViewer_InkAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewer_InkAdded(object sender, InkAddedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to perform undo and redo operation during inking session?
+
+You can perform undo and redo operations on the drawn ink annotations during the pre-conformance session. 
+
+The following code can be used to perform undo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.UndoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the undo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.CanUndoInkModified += PdfViewer_CanUndoInkModified;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanUndoInkModified(object sender, CanUndoInkModifiedEventArgs args)
+{
+    bool canUndoInk = args.CanUndoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code can be used to perform redo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.RedoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the redo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.CanRedoInkModified += PdfViewer_CanRedoInkModified;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanRedoInkModified(object sender, CanRedoInkModifiedEventArgs args)
+{
+   bool CanRedoInk = args.CanRedoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting ink annotation
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document. 
+
+### Removing a selected annotation.
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkSelected	+= PdfViewer_InkSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+
+private void PdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+
+    //Removes the selected annotation from the PDF viewer.
+    pdfViewer.RemoveAnnotation(selectedInkAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to identify the removal of ink annotation?
+
+You can identify removal of ink annotation using the `InkRemoved` event, which is available in the PDF viewer control. This event will be raised when you remove the ink annotation from the PDF viewer control.
+
+The following C# code shows how to acquire bounds, page number, color, thickness, and opacity of the removed ink annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkRemoved+=PdfViewer_InkRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkRemoved(object sender, InkRemovedEventArgs args)
+{
+
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Working with ink annotation settings
+
+You can customize the color, opacity, and thickness of the ink annotation.
+
+### Changing the color
+
+You can set the color of the ink annotation by using the `AnnotationSettings.Ink.Color` property. Refer to the following code sample. 
+ 
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Color = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Changing the opacity
+
+You can set the opacity of the ink annotation by using the `AnnotationSettings.Ink.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the thickness
+
+You can set the thickness of the ink annotation by using the `AnnotationSettings.Ink.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the minimum size
+
+By the `AnnotationSettings.Ink.MinimumSize` property, You can set the minimum size to which the ink annotations could be resized. 
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the ink annotations
+pdfViewer.AnnotationSettings.Ink.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to select the ink annotation?
+
+You can select the ink annotation by tapping the annotation. 
+
+### Select the ink annotation programmatically
+
+By `SelectAnnotation` method, You can select the ink annotation programmatically. The specified ink annotation object passed as a parameter. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified ink annotation
+pdfViewer.SelectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+### How to change the properties of ink annotation after selection?
+
+You can select and change the properties of the ink annotation using the `InkSelected` event. This event will be raised when you select the ink annotation. This is illustrated in the following code sample. 
+
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkSelected += PdfViewer_InkSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can change the properties of the selected annotation using the `InkSelectedEventArgs` object.  The following code shows how to change the properties of the selected annotation in the `InkSelectedEventHandler`.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+
+    //Sets the color of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Color = Color.Blue;
+
+    //Sets the opacity of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Opacity = 0.3f;
+
+    //Sets the thickness of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Thickness = 3;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify whether the ink annotation is tapped or not using the`InkTapped` event. This event will be triggered if you tap the ink annotation whether to select or deselect the annotation. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkTapped += PdfViewer_InkTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkTapped(object sender, InkTappedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to deselect the ink annotation?
+
+You can deselect the ink annotation by tapping on the selected annotation or on the PDF page. Deselection can be identified using the `InkDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkDeselected += PdfViewer_InkDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to identify the deselected annotation from the raised event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkDeselected(object sender, InkDeselectedEventArgs args)
+{ 
+   //Retrieves the bounds of the deselected annotation.
+   Rectangle bounds = args.Bounds;
+
+   //Retrieves the page number where the deselected annotation resides.
+   int page = args.PageNumber;
+
+   //Retrieves the color of the deselected annotation.
+   Color color = args.Color;
+
+   //Retrieves the thickness of the deselected annotation.
+   float thickness = args.Thickness;
+
+   //Retrieves the opacity of the deselected annotation.
+   float opacity = args.Opacity;
+ 
+ }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect the ink annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the ink annotation programmatically. The specified ink annotation object passed as a parameter. 
+
+The following code Sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified ink annotation
+pdfViewer.DeselectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## How to move or resize the selected ink annotation?
+
+Select and drag the annotation to move or resize the ink annotation. 
+
+### How to identify whether the ink annotation is moved or resized?
+
+The event `AnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMovedOrResized += PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args) 
+{
+     //Retrieves the old bounds of the annotation
+     Rectangle oldBounds = args.OldBounds;
+
+     //Retrieves the new bounds of the annotation
+     Rectangle newBounds = args.NewBounds;
+}
+
+{% 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. 
+
+When the ink session ends after drawing the strokes, the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event will be raised. The [InkAnnotation](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.InkAnnotation.html) instance that is drawn on the page is exposed as sender argument of the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event. We can get the Ink points which we drew on the page from [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.InkAnnotation.html#Syncfusion_SfPdfViewer_Android_InkAnnotation_InkPointsCollection). The [InkPointsCollection](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.InkAnnotation.html#Syncfusion_SfPdfViewer_Android_InkAnnotation_InkPointsCollection) is of a type List<List<float>>. Each List<float> in this collection represents each stroke of the ink annotation we drew. There are as many List<float> instances in the [InkPointsCollection](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.InkAnnotation.html#Syncfusion_SfPdfViewer_Android_InkAnnotation_InkPointsCollection) as the number of strokes in the ink annotation.
+
+The List<float> in turn, has the series of alternate X and Y coordinates of the ink stroke. i.e. the values at the odd position are X coordinates and at the even position are Y coordinates.
+
+We can modify or add new stroke points in the [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.InkAnnotation.html#Syncfusion_SfPdfViewer_Android_InkAnnotation_InkPointsCollection). As soon as the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event handler completes execution, the modified points will be reflected in the ink annotation on the UI.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args) 
+{     
+     InkAnnotation inkAnnotation = sender as InkAnnotation;         
+ 
+     List<List<float>> drawnPoints = inkAnnotation.InkPointsCollection; 
+ 
+     //Modify the drawn ink points 
+     List<List<float>> modifiedPoints = PerformModification(drawnPoints); 
+ 
+     inkAnnotation.InkPointsCollection = modifiedPoints; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The strokes cannot be smoothened when the user is drawing the strokes as the points are still being recorded. They can be smoothened only after the user confirms the end of the ink session. 
+
+## How to get and set the name of the ink annotations?
+
+The PDF Viewer allows the users to get and set the name of ink annotations through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is InkAnnotation)
+    {
+    (sender as InkAnnotation).Name = "Ink1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_InkAdded) event. But this can be done in all other events as well. 
+
+## How to change properties of each ink stroke separately
+
+By default, when the ink annotation is drawn, all strokes that are drawn in the ink annotation mode before clicking the done button will be considered as a single ink annotation. All these strokes will be selected and their properties changed as a whole since they represent a single ink annotation. 
+
+You can change the properties of each ink stoke separately by setting the `SfPdfViewer.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke` API to `true`.
+
+The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke = true;
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Loading-password-protected-PDFs.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Loading-password-protected-PDFs.md
new file mode 100644
index 000000000..36f5b5c22
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Loading-password-protected-PDFs.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title: Load encrypted PDFs using SfPdfViewer in Xamarin.Android | Syncfusion
+description: The Syncfusion<sup>®</sup> PDF Viewer allows the user to load and view the password protected PDF documents easily
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Loading password protected PDFs
+
+Password protected PDFs can be loaded using the `LoadDocument(Stream pdfStream, string password)` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+string password = "PASSWORD";
+pdfViewerControl.LoadDocument(pdfStream, password);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code snippet, `pdfStream` is the Stream instance read from the encrypted PDF and `password` is the key with which the PDF is encrypted. 
+
+## Handling invalid passwords
+
+If the password provided with the `LoadDocument(Stream pdfStream, string password)` is invalid, then the `PasswordErrorOccurred` event is raised. The `Title` property of the `PasswordErrorOccurredEventArgs` parameter helps identify whether the event raised due to invalid password. In that case the `Title` property will read "Error loading encrypted PDF document". 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PasswordErrorOccurred += PdfViewerControl_PasswordErrorOccurred;
+private void PdfViewerControl_PasswordErrorOccurred(object sender, PasswordErrorOccurredEventArgs args)
+{
+	//Get the details regarding the password error occurred. 
+    string title = args.Title;
+    string description = args.Description;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The event will also be raised when an encrypted PDF is loaded without providing a password using the `LoadDocument(Stream pdfStream)` overload.        
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Localization.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Localization.md
new file mode 100644
index 000000000..8304ce310
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Localization.md
@@ -0,0 +1,24 @@
+---
+layout: post
+title: Localization in Xamarin.Android PDF viewer| Syncfusion
+description: Learn here about Set localized text for the static texts used in Syncfusion<sup>®</sup> Xamarin.Android PDF Viewer Control, its elements, and more.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: UG
+---
+
+# Localization in Xamarin.Android PDF Viewer
+
+Localization is the process of configuring the application to a specific language. PdfViewerControl supports to localize its static text.
+
+Create String.xml in resource file in Android
+
+Location- ProjectName.Android/Resources/values/Strings.Xml
+
+![SfPdfViewer](pdfviewer_images/androidstrings.png)
+
+In below screenshot we have localized the text in PDF Viewer in Xamarin.Android from English to French language.
+
+![PDF Viewer with localized text](pdfviewer_images/pdfviewerlocalization.png)
+
+![PDF Viewer in Xamarin.Android](pdfviewer_images/pdfviewerlocalizationoutput.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Printing-PDF-files.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Printing-PDF-files.md
new file mode 100644
index 000000000..d0c93087f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Printing-PDF-files.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title: Printing in PDF Viewer Xamarin.Android | Syncfusion
+description: PDF Viewer in Xamarin.Android supports printing the PDF documents loaded in it. It allows printing of document with/without file names.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: UG
+---
+
+# Printing PDF files
+
+PDF Viewer allows printing the loaded PDF documents using the Print button in the built-in toolbar. 
+
+![Print PDF file using SfPdfViewer](pdfviewer_images/print.png)
+
+The Print operation could be performed using the following APIs programmatically.
+
+{% tabs %}
+{% highlight c# %}
+
+//Print the PDF
+pdfViewerControl.Print();
+
+//Print the PDF with given file name
+pdfViewerControl.Print(string filename);
+
+{% endhighlight %}
+{% endtabs %}
+
+The following example demonstrates the usage of print operation within a button click event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+	//Print the PDF
+    pdfViewerControl.Print("PdfFileName.pdf");
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default file name of the printed document will be “SavedDocument.pdf”.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Rendering-PDF-pages-using-pdfium.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Rendering-PDF-pages-using-pdfium.md
new file mode 100644
index 000000000..2230c496e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Rendering-PDF-pages-using-pdfium.md
@@ -0,0 +1,283 @@
+---
+layout: post
+title: PDFium rendering in PDF Viewer Xamarin.Android | Syncfusion
+description: Describes how PDF Viewer in Xamarin.Android supports rendering the PDF pages using pdfium rendering engine.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: UG
+---
+
+# Rendering PDF pages using pdfium in PDF Viewer Xamarin.Android
+
+The PdfViewer allows using Pdfium to render the pages of a PDF document, which is a third-party open-source PDF rendering engine. By default, the PdfViewer uses native Android PDF rendering. However, using the Pdfium rendering engine will overcome the defects in the native Android PDF rendering.
+
+## Creating Pdfium binding library
+
+To use Pdfium in your application, the Pdfium binding library is needed. The Pdfium binding project can be created from the scratch using the following steps.
+
+1.Download the pdfium-android-1.7.0.aar Android archive file from this link.
+ 
+<https://mvnrepository.com/artifact/com.github.barteksc/pdfium-android/1.7.0>
+
+2.To create the binding project from this archive file refer to this link. 
+<https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/> 
+
+3.Install the `Xamarin.Android.Support.Compat` dependency package in the project.
+
+4.Compile the project to generate the Pdfium library.
+
+## Using Pdfium binding library in the application project
+
+Refer to the created binding library in your android project. 
+
+Add a new class named `CustomPdfRenderer` to the android application project. This class must implement the [ICustomPdfRenderer](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.ICustomPdfRenderer.html) interface defined in the `Syncfusion.SfPdfViewer.Android` namespace. .
+
+The entire CustomPdfRenderer class is given as follows. 
+
+{% tabs %}
+{% highlight c# %}
+
+internal class CustomPdfRenderer : ICustomPdfRenderer
+{
+   internal PdfiumCore m_pdfiumCore;
+   internal PdfDocument m_pdfDocument;
+   internal int m_pageCount;
+   internal Bitmap.Config m_bitmapConfig;
+  
+   /// <summary>
+   /// Gets or sets the total page count of the PDF document.
+   /// </summary>
+   public int PageCount
+   {
+    get
+    {
+     return m_pageCount;
+    }
+    set
+    {
+     m_pageCount = value;
+    }
+   }
+   
+   /// <summary>
+   /// Gets or sets the Bitmap.Config to render the bitmap from the PDF document.
+   /// </summary>
+   public Bitmap.Config BitmapConfig
+   {
+    get
+    {
+     return m_bitmapConfig;
+    }
+    set
+    {
+     m_bitmapConfig = value;
+    }
+   }
+
+    /// <summary>
+    /// Initializes the required object.
+    /// </summary>
+    /// <param name="context">Context of the application.</param>
+    /// <param name="inputStream">PDF document stream.</param>
+    public void Initialize(Context context, Stream inputStream)
+    {
+      if (inputStream == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: inputStream");
+      }
+          
+	  //Initializes the PdfiumCore instance.
+      m_pdfiumCore = new PdfiumCore(context);
+      byte[] byteArray = ReadBytes(inputStream);
+      
+	  if (m_pdfiumCore == null)
+      {
+       throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+      }
+          
+      //Creates the PdfDocument instance from the PDF byte array.
+      m_pdfDocument = m_pdfiumCore.NewDocument(byteArray);
+     
+	  if (m_pdfDocument == null)
+      {
+       throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+      }
+  
+      if (m_bitmapConfig == null)
+      {
+       m_bitmapConfig = Bitmap.Config.Rgb565;
+      }
+      
+	  //Gets the total number of pages in the PDF document.
+      m_pageCount = m_pdfiumCore.GetPageCount(m_pdfDocument);	    
+      
+	}
+     
+	 /// <summary>
+     /// Converts the stream to byte array to render the PDF document using Pdfium renderer.
+     /// </summary>
+     /// <param name="inputStream">PDF document stream to convert into byte array.</param>
+     /// <returns>byte array of PDF document</returns>
+     private static byte[] ReadBytes(Stream input)
+     {
+        if (input.CanSeek)
+        {
+         input.Position = 0;
+        }
+       
+	    byte[] buffer = new byte[16 * 1024];
+		
+        using (MemoryStream ms = new MemoryStream())
+        {
+         int read;
+         while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
+         {
+           ms.Write(buffer, 0, read);
+         }
+         return ms.ToArray();     
+        }
+      }
+	  
+      /// <summary>
+      /// Renders the PDF page as a bitmap with specified page index.
+      /// </summary>
+      /// <param name="bitmap">Bitmap to render the content of the PDF page. </param>
+      /// <param name="pageIndex">Index of the page in the PDF document being rendered.</param>
+      /// <param name="pageWidth">Width of the page to be drawn on to the bitmap.</param>
+      /// <param name="pageHeight">Height of the page to be drawn on to the bitmap.</param>
+      public void Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight)
+      {
+        if (bitmap == null)
+        {
+           throw new System.NullReferenceException("object reference is not set to an instance: bitmap");
+        }
+			
+        if (m_pdfiumCore == null)
+        {
+           throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+        }
+        else if (m_pdfDocument == null)
+        {
+           throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+        }
+        else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+        {
+           throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+        }
+        else
+        {
+           //Sets the config of Bitmap format, we required to render the PDF pages.
+           bitmap.SetConfig(m_bitmapConfig);
+				
+           //Opens the PDF page with the specified page index to render the page as a bitmap.
+           m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+				
+           m_pdfiumCore.RenderPageBitmap(m_pdfDocument, bitmap, pageIndex, 0, 0, pageWidth, pageHeight);
+        }
+       }
+		 
+      /// <summary>
+      /// Gets the size of the page with the provided index in the PDF document.
+      ///</summary>
+      /// <param name="pageIndex">Page index to the get page size.</param>
+      /// <returns>Size of the page of PDF document.</returns>
+      public Android.Util.Size GetPageSize(int pageIndex)
+      {
+        if (m_pdfiumCore == null)
+        {
+          throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+        }
+        else if (m_pdfDocument == null)
+        {
+          throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+        }
+        else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+        {
+          throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+        }
+        else
+        {
+          //Opens the PDF page with specified index to get its size.
+          m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+				
+          int pageHeight = m_pdfiumCore.GetPageHeightPoint(m_pdfDocument, pageIndex);
+          int pageWidth = m_pdfiumCore.GetPageWidthPoint(m_pdfDocument, pageIndex);
+          return new Android.Util.Size(pageWidth, pageHeight);
+        }
+       }
+              
+	    /// <summary>
+        /// Renders the PDF page as a bitmap with the specified page index.
+        /// </summary>
+        /// <param name="bitmap">Bitmap to render the content of the PDF page. </param>
+        /// <param name="pageIndex">Index of the page in the PDF document being rendered.</param>
+        /// <param name="pageWidth">Width of the page to be drawn on to the bitmap.</param>
+        /// <param name="pageHeight">Height of the page to be drawn on to the bitmap.</param>
+        /// <param name="x">The x coordinate of the origin of the region to be rendered.</param>	
+        /// <param name="y">The y coordinate of the origin of the region to be rendered.</param>
+        public void Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight,  float xOffset= 0, float yOffset = 0)
+        {
+           if (bitmap == null)
+           {
+              throw new System.NullReferenceException("object reference is not set to an instance: bitmap");
+           }
+           
+		   if (m_pdfiumCore == null)
+           {
+               throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+           }
+           else if (m_pdfDocument == null)
+           {
+               throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+           }
+           else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+           {
+               throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+           }
+           else
+           {
+               //Sets the config of Bitmap format, we required to render the PDF pages
+               bitmap.SetConfig(m_bitmapConfig);
+               //Opens the PDF page with the specified page index to render the page as a bitmap.
+               m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+               m_pdfiumCore.RenderPageBitmap(m_pdfDocument, bitmap, pageIndex, xOffset, yOffset, pageWidth, pageHeight);
+            }
+        }
+		
+        /// <summary>
+        /// Closes the initialized object to release memory.
+        /// </summary>
+        public void Close()
+        {
+           //Closes the created PdfDocument instance.
+           m_pdfiumCore.CloseDocument(m_pdfDocument);
+           //Disposes the PdfiumCore instance.
+           m_pdfiumCore.Dispose();	
+        }
+    }			
+{% endhighlight %}
+{% endtabs %}
+
+Regarding the above code example, there are two overloads of the `Render` method.
+
+<table>
+<tr>
+<td>Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight)</td>
+<td>This overload renders the entire page specified by the pageIndex parameter. This method will be called when the page is not zoomed in.</td>
+</tr>
+<tr>
+<td>Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight,  float xOffset = 0, float yOffset = 0)</td>
+<td>When the page is zoomed in, the tile rendering is used in the PDF viewer to conserve memory. When the page is rendered using the tile rendering, this method will be called which renders only the portion of the page visible in the viewport of the device.</td>
+</tr>
+</table>
+
+Create an instance of the `CustomPdfRenderer` class and assign it to the [CustomPdfRenderer](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_CustomPdfRenderer) property of the PdfViewer as shown in the following code sample,
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.CustomPdfRenderer = new CustomPdfRenderer();
+
+{% endhighlight %}
+{% endtabs %}
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Search-For-Text-Instance.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Search-For-Text-Instance.md
new file mode 100644
index 000000000..533fda485
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Search-For-Text-Instance.md
@@ -0,0 +1,1028 @@
+---
+layout: post
+title:  Search text in PDF using PDF viewer Xamarin.Android | Syncfusion
+description: Search text support allows the user to locate and highlight text instances in the PDF document using PDF Viewer Xamarin.Android
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Search for a text instance
+
+PDF Viewer provides support to find and highlight texts in the PDF document and it provides the following methods to perform text search operations.
+
+<table>
+
+<tr>
+<td>SearchText</td>
+<td>Initiates text search and highlights all the matches of the searched text in the whole document.</td>
+</tr>
+
+<tr>
+<td>SearchNext</td>
+<td>Used to initiate text search and to traverse through the matches of the searched text in downwards direction.</td>
+</tr>
+
+<tr>
+<td>SearchPrevious</td>
+<td>Used to initiate text search and to traverse through the matches of the searched text in upward direction.</td>
+</tr>
+
+<tr>
+<td>CancelSearch</td>
+<td>Used to cancel the text search when text search is in progress and used to clear the highlights over the text matches.</td>
+</tr>
+
+</table>
+
+## How to initiate text search?
+
+SearchText method can be used to initiate text search operation. The text to be searched is provided as a parameter to this method.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## How to identify if there is no instance of the text being searched?
+
+SearchCompleted event in the PDF viewer can be used to track the completion of the text search operation, NoMatchFound property of TextSearchEventArgs (event argument of this event) can be used to find if no match of text is being found.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+    //Wire up SearchCompleted event with PdfViewer_SearchCompleted
+    pdfViewer.SearchCompleted += PdfViewer_SearchCompleted;
+
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+private void PdfViewer_SearchCompleted(object sender, TextSearchEventArgs args)
+{
+    bool isNoMatchFound = args.NoMatchFound;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to the next match of the text?
+
+SearchNext method of PDF viewer can be used to navigate to the successive match of the text in the PDF document. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+        <ImageButton
+          android:id="@+id/textSearchButton"
+          android:layout_width="30dp"
+          android:layout_height="30dp"
+          android:background="#E9E9E9"
+          android:src="@drawable/SearchIcon"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:layout_marginRight="20dip"
+          android:layout_marginBottom="10dip"
+          android:layout_gravity="right" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+ImageButton textSearchButton;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+    textSearchButton= FindViewById<ImageButton>(Resource.Id.textSearchButton);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+    //Wire up SearchCompleted event with PdfViewer_SearchCompleted
+    pdfViewer.SearchCompleted += PdfViewer_SearchCompleted;
+    //Wire up Click event with TextSearchButton_Click
+    textSearchButton.Click += TextSearchButton_Click;
+    
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+private void TextSearchButton_Click(object sender, System.EventArgs e)
+{
+    //Navigates to the successive matches of the text.
+    pdfViewer.SearchNext(searchView.Text);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to the previous match of the text?
+
+SearchPrevious method of PDF viewer can be used to navigate to the previous match of the text in the PDF document. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+        <ImageButton
+          android:id="@+id/textSearchButton"
+          android:layout_width="30dp"
+          android:layout_height="30dp"
+          android:background="#E9E9E9"
+          android:src="@drawable/SearchIcon"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:layout_marginRight="20dip"
+          android:layout_marginBottom="10dip"
+          android:layout_gravity="right" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+ImageButton textSearchButton;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+    textSearchButton= FindViewById<ImageButton>(Resource.Id.textSearchButton);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+    //Wire up SearchCompleted event with PdfViewer_SearchCompleted
+    pdfViewer.SearchCompleted += PdfViewer_SearchCompleted;
+    //Wire up Click event with TextSearchButton_Click
+    textSearchButton.Click += TextSearchButton_Click;
+    
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+private void TextSearchButton_Click(object sender, System.EventArgs e)
+{
+    //Navigates to the previous matches of the text.
+    pdfViewer.SearchPrevious(searchView.Text);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to identify if a complete cycle of text search is performed?
+
+Text search operation will start the process from the current page being displayed, then process the succeeding pages till last page of the document and then process the initial left-over pages if any.
+
+For example, consider a PDF document which consists of 20 pages and the user initiates the text search operation from the page 10 (current page being displayed). 
+
+* Now PDF viewer control will process the current page (page number 10) and highlight the matches if any
+* Then the following pages from page 11 to 20 one by one will be processed and highlight the matches if any
+* Once the end of the document is reached, the search will get started from page 1 to 9
+* When the search process, finds the same matching instance again, then the NoMoreOccurrence property of the TextSearchEventArgs of SearchCompleted event will be set to true.
+
+When we manually scroll the PDF document while navigating using the SearchNext() or SearchPrevious(), the search cycle will get restarted from the first matching instance of current page. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="1"
+            android:layout_height="50dp">
+    <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+    //Wire up SearchCompleted event with PdfViewer_SearchCompleted
+    pdfViewer.SearchCompleted += PdfViewer_SearchCompleted;
+
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+private void PdfViewer_SearchCompleted(object sender, TextSearchEventArgs args)
+{
+    bool isNoMoreOccurrenceFound = args.NoMoreOccurrence;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to cancel text search?
+
+CancelSearch method can be used to cancel the text search progress. When the text search is in progress this method can be used to cancel the same, when text search is completed, this command can be used to clear all the highlighted texts in the PDF viewer.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout>
+        <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+        <ImageButton
+            android:id="@+id/clearSearchResult"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:src="@drawable/CancelSearch"
+            android:background="#E9E9E9"
+            android:layout_marginTop="5dip"
+            android:layout_marginRight="1dp"
+            android:layout_gravity="right|center_vertical" />
+      </FrameLayout>
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+EditText searchView;
+SfPdfViewer pdfViewer;
+ImageButton clearSearchButton;
+
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    
+    //Access the controls in the design.
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    searchView = FindViewById<EditText>(Resource.Id.search);
+    clearSearchButton = FindViewById<ImageButton>(Resource.Id.clearSearchResult);
+
+    searchView.FocusableInTouchMode = true;
+    searchView.TextSize = 18;
+    searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+    searchView.TextAlignment = TextAlignment.Center;
+
+    //Wire up KeyPress event with SearchView_KeyPress
+    searchView.KeyPress += SearchView_KeyPress;
+    //Wire up SearchCompleted event with PdfViewer_SearchCompleted
+    pdfViewer.SearchCompleted += PdfViewer_SearchCompleted;
+    //Wire up Click event with ClearSearchButton_Click
+    clearSearchButton.Click += ClearSearchButton_Click;
+
+    //Access the document in the resource as stream and load it in the PDF viewer.
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+}
+
+private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+{   
+    //Condition passes when the search icon on the keyboard is being tapped.
+    if (e.KeyCode == Keycode.Enter)
+    {
+        //Checks whether the entered string is empty or has only space character.
+        if (!string.IsNullOrWhiteSpace(searchView.Text) && !string.IsNullOrEmpty(searchView.Text))
+        {
+            var searchText = searchView.Text;
+            //Initiates text search.
+            pdfViewer.SearchText(searchText);
+        }
+        InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+        inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+    }
+}
+
+private void ClearSearchButton_Click (object sender, TextSearchEventArgs args)
+{
+    pdfViewer.CancelSearch(); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to track search progress?
+
+Text search progress can be tracked using the TextSearchInitiated event and TextMatchFound event. 
+
+### SearchInitiated
+
+TextSearchInitiated event will be triggered soon after the call of the SearchText method, the event argument of this event will contain details about the text being searched.
+
+### TextMatchFound
+
+TextMatchFound event will be triggered once when the match of the text is found in the page of the PDF document. When text search is triggered using SearchText method this event would be triggered for every page in which the match is found, when text search is triggered using SearchNext or SearchPrevious methods, this event would be triggered for every match being found.
+
+### SearchCompleted
+
+TextSearchCompleted event will be triggered once when all the pages are being search for the match of the input text at-least once. The event argument would contain properties NoMatchFound and NoMoreOccurrenceFound.
+
+When NoMatchFound is set to true, it means that the PDF viewer could not find any match for the searched text in the PDF document.
+
+When NoMoreOccurrence is set to true, it means that the PDF viewer had completed one full cycle of search and has hit the first instance again.
+
+## Implementing search bar with search features.
+
+With the continuation of the getting started sample, you can extend the UI design to perform the text search in the PDF Viewer. Design the search toolbar in parallel to the main toolbar, here when the main toolbar is visible, search bar will be invisible and vice versa.
+
+* Main toolbar – A new option to initiate text search toolbar will be added to the existing options.
+* Search toolbar - A new and separate toolbar is created to search a text instance – it includes option to enter the text, perform search, cancel search and navigate back to the main toolbar.
+
+After the adding the search toolbar, the Main.axml file will look as like the below code snippet.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/parentview">
+  <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+    <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="6"
+            android:layout_height="50dp">
+      <EditText
+          android:id="@+id/pagenumberentry"
+          android:layout_width="50dp"
+          android:layout_height="30dp"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:textAlignment="center"
+          android:background="@drawable/edittextbg"
+          android:textColor="@android:color/black"
+          android:inputType="number"
+          android:selectAllOnFocus="true"
+          android:gravity="center" />
+      <TextView
+          android:textAlignment="center"
+          android:textColor="@android:color/black"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:textSize="18dp"
+          android:text="/" />
+      <TextView
+          android:id="@+id/pagecounttext"
+          android:layout_width="50dp"
+          android:textAlignment="center"
+          android:textColor="@android:color/black"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:textSize="18dp"
+          android:gravity="center"
+          android:text="0" />
+      <ImageButton
+          android:id="@+id/pagedownbutton"
+          android:background="#E9E9E9"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:src="@drawable/pagedown" />
+      <ImageButton
+          android:id="@+id/pageupbutton"
+          android:background="#E9E9E9"
+          android:src="@drawable/pageup"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip" />
+      <ImageButton
+          android:id="@+id/searchButton"
+          android:layout_width="30dp"
+          android:layout_height="30dp"
+          android:background="#E9E9E9"
+          android:src="@drawable/SearchIcon"
+          android:layout_marginLeft="10dip"
+          android:layout_marginTop="10dip"
+          android:layout_marginRight="10dip"
+          android:layout_marginBottom="10dip"
+          android:layout_gravity="right" />
+    </GridLayout>
+    <GridLayout
+          android:id="@+id/searchGrid"
+          android:background="#E9E9E9"
+          android:layout_width="match_parent"
+          android:columnCount="2"
+          android:layout_height="50dp">
+      <ImageButton
+          android:id="@+id/backButton"
+          android:layout_width="40dp"
+          android:layout_height="30dp"
+          android:background="#E9E9E9"
+          android:src="@drawable/backIcon"
+          android:layout_marginLeft="1dip"
+          android:layout_marginTop="10dip" />
+      <FrameLayout>
+        <EditText
+            android:id="@+id/search"
+            android:layout_width="310dp"
+            android:layout_height="30dp"
+            android:layout_marginLeft="1dip"
+            android:layout_marginTop="15dip"
+            android:inputType="text"
+            android:imeOptions="actionSearch"
+            android:background="@drawable/SearchEntry"
+            android:gravity="left" />
+        <ImageButton
+            android:id="@+id/clearSearchResult"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:src="@drawable/CancelSearch"
+            android:background="#E9E9E9"
+            android:layout_marginTop="5dip"
+            android:layout_marginRight="1dp"
+            android:layout_gravity="right|center_vertical" />
+      </FrameLayout>
+    </GridLayout>
+  </FrameLayout>
+
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+The code behind MainActivity.cs will be
+
+{% tabs %}
+{% highlight c# %}
+
+using Android.App;
+using Android.Widget;
+using Android.OS;
+using Syncfusion.SfPdfViewer.Android;
+using System.IO;
+using Android.Views;
+using Android.Views.InputMethods;
+using Android.Content;
+
+namespace GettingStartedDroid
+{
+    [Activity(Label = "GettingStartedDroid", MainLauncher = true, Icon = "@drawable/icon")]
+    public class MainActivity : Activity
+    {
+        SfPdfViewer pdfViewer;
+        EditText pageNumberEntry;
+        TextView pageCountText;
+        ImageButton pageDownButton;
+        ImageButton pageUpButton;
+        LinearLayout mainView;
+        GridLayout toolBarGrid;
+        GridLayout searchBarGrid;
+        EditText searchView;
+        ImageButton searchButton;
+        ImageButton backButton;
+        ImageButton clearSearchButton;
+        string searchText = string.Empty;
+
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+            SetContentView(Resource.Layout.Main);
+
+            //Access the controls in the design.
+            pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+            pageNumberEntry = FindViewById<EditText>(Resource.Id.pagenumberentry);
+            pageCountText = FindViewById<TextView>(Resource.Id.pagecounttext);
+            pageDownButton = FindViewById<ImageButton>(Resource.Id.pagedownbutton);
+            pageUpButton = FindViewById<ImageButton>(Resource.Id.pageupbutton);
+            mainView = FindViewById<LinearLayout>(Resource.Id.parentview);
+            toolBarGrid = FindViewById<GridLayout>(Resource.Id.toolbarGrid);
+            searchBarGrid = FindViewById<GridLayout>(Resource.Id.searchGrid);
+            searchButton = FindViewById<ImageButton>(Resource.Id.searchButton);
+            searchView = FindViewById<EditText>(Resource.Id.search);
+            backButton = FindViewById<ImageButton>(Resource.Id.backButton);
+            clearSearchButton = FindViewById<ImageButton>(Resource.Id.clearSearchResult);
+
+            //Wire up events.
+            pageNumberEntry.KeyPress += PageNumberEntry_KeyPress;
+            pageDownButton.Click += PageDownButton_Click;
+            pageUpButton.Click += PageUpButton_Click;
+            pdfViewer.DocumentLoaded += PdfViewer_DocumentLoaded;
+            searchButton.Click += SearchButton_Click;
+            backButton.Click += BackButton_Click;
+            clearSearchButton.Click += ClearSearchButton_Click;
+
+            searchView.SetHintTextColor(Android.Graphics.Color.Rgb(189, 189, 189));
+            searchView.Hint = "Search text";
+            searchView.FocusableInTouchMode = true;
+            searchView.TextSize = 18;
+            searchView.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+            searchView.TextAlignment = TextAlignment.Center;
+            searchView.KeyPress += SearchView_KeyPress;
+            searchView.TextChanged += SearchView_TextChanged;
+
+            searchBarGrid.Visibility = ViewStates.Invisible;
+
+            //Access the document in the resource as stream and load it in the PDF viewer.
+            Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+            pdfViewer.LoadDocument(PdfStream);
+        }
+
+        private void SearchView_TextChanged(object sender, Android.Text.TextChangedEventArgs e)
+        {
+            if (searchView.Text != string.Empty)
+            {
+                clearSearchButton.Visibility = ViewStates.Visible;
+            }
+            else
+            {
+                clearSearchButton.Visibility = ViewStates.Invisible;
+            }
+        }
+
+        private void SearchView_KeyPress(object sender, View.KeyEventArgs e)
+        {
+            var editText = sender as EditText;
+            if (e.KeyCode == Keycode.Enter)
+            {
+                if (!string.IsNullOrWhiteSpace(editText.Text) && !string.IsNullOrEmpty(editText.Text))
+                {
+                    searchText = editText.Text;
+                    pdfViewer.SearchText(searchText);
+                }
+                InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+                inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+            }
+        }
+
+        private void ClearSearchButton_Click(object sender, System.EventArgs e)
+        {
+            pdfViewer.CancelSearch();
+            searchView.Text = "";
+            clearSearchButton.Visibility = ViewStates.Invisible;
+            InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+            inputMethodManager.ShowSoftInput(searchView, ShowFlags.Implicit);
+        }
+
+        private void BackButton_Click(object sender, System.EventArgs e)
+        {
+            if (searchBarGrid.Visibility == ViewStates.Visible)
+            {
+                searchBarGrid.Visibility = ViewStates.Invisible;
+                toolBarGrid.Visibility = ViewStates.Visible;
+                pdfViewer.CancelSearch();
+                searchView.Text = "";
+                clearSearchButton.Visibility = ViewStates.Invisible;
+                InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+                inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+            }
+        }
+
+        private void SearchButton_Click(object sender, System.EventArgs e)
+        {
+            if (toolBarGrid.Visibility == ViewStates.Visible)
+            {
+                toolBarGrid.Visibility = ViewStates.Invisible;
+                searchBarGrid.Visibility = ViewStates.Visible;
+                searchView.RequestFocus();
+                clearSearchButton.Visibility = ViewStates.Invisible;
+                InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+                inputMethodManager.ShowSoftInput(searchView, ShowFlags.Implicit);
+            }
+        }
+
+        private void PdfViewer_DocumentLoaded(object sender, System.EventArgs args)
+        {
+            pageNumberEntry.Text = pdfViewer.PageNumber.ToString();
+            pageCountText.Text = pdfViewer.PageCount.ToString();
+        }
+
+        private void PageUpButton_Click(object sender, System.EventArgs e)
+        {
+            pdfViewer.GoToPreviousPage();
+        }
+
+        private void PageDownButton_Click(object sender, System.EventArgs e)
+        {
+            pdfViewer.GoToNextPage();
+        }
+
+        private void PageNumberEntry_KeyPress(object sender, Android.Views.View.KeyEventArgs e)
+        {
+            e.Handled = false;
+            if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
+            {
+                int pageNumber = 0;
+                if (int.TryParse((pageNumberEntry.Text), out pageNumber))
+                {
+                    if ((pageNumber > 0) && (pageNumber <= pdfViewer.PageCount))
+                        pdfViewer.GoToPage(pageNumber);
+                    else
+                    {
+                        DisplayAlertDialog();
+                        pageNumberEntry.Text = pdfViewer.PageNumber.ToString();
+                    }
+                }
+                pageNumberEntry.ClearFocus();
+                InputMethodManager inputMethodManager = (InputMethodManager)mainView.Context.GetSystemService(Context.InputMethodService);
+                inputMethodManager.HideSoftInputFromWindow(mainView.WindowToken, HideSoftInputFlags.None);
+            }
+        }
+
+        void DisplayAlertDialog()
+        {
+            AlertDialog.Builder alertDialog = new AlertDialog.Builder(mainView.Context);
+            alertDialog.SetTitle("Error");
+            alertDialog.SetMessage("Please enter the valid page number");
+            alertDialog.SetPositiveButton("OK", (senderAlert, args) => { });
+            Dialog dialog = alertDialog.Create();
+            dialog.Show();
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing search highlight color
+
+The colors in which the current instance and other instances are highlighted can be customized. The TextSearchSettings class in the PDF viewer instance can be used for this purpose.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.TextSearchSettings.OtherInstanceColor = Color.Argb(255, 0, 0, 200);
+pdfViewer.TextSearchSettings.CurrentInstanceColor = Color.Argb(0, 0, 255, 200);
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Select-And-Copy-Text.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Select-And-Copy-Text.md
new file mode 100644
index 000000000..e889f16a3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Select-And-Copy-Text.md
@@ -0,0 +1,320 @@
+---
+layout: post
+title:  Select & copy text using PDF viewer Xamarin.Android | Syncfusion
+description: Select and copy text support allows user to select the text in the PDF document and copy it to the clipboard using PDF Viewer Xamarin.Android
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Select and copy the text
+
+The PDF viewer supports text selection and copy feature, which allows user to select the text in the PDF document and copy it to the clipboard. This section illustrates about how to use this feature.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>IsTextSelectionEnabled</td>
+<td>Gets or sets the value that enables or disables the text selection feature in the PDF viewer. This property when set to true enables text selection and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewer;
+    
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+            SetContentView(Resource.Layout.Main);
+            pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+            Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+            pdfViewer.LoadDocument(PdfStream);
+
+            //Text selection feature in the PDF viewer is disabled.
+            pdfViewer.IsTextSelectionEnabled = false;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the context menu?
+
+By default, PDF viewer comes with a context menu that will be displayed above the selected text in the PDF document, which has a button (option) to copy the selected text. The display of the context menu can be disabled by setting ShowContextMenu property of the TextSelectionSettings class to false. The below code illustrates the same. By default, context menu will be enabled in the PDF viewer. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewer;
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+            SetContentView(Resource.Layout.Main);
+            pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+            Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+            pdfViewer.LoadDocument(PdfStream);
+      
+            //The display of the default context menu for the text selection is disabled.
+            pdfViewer.TextSelectionSettings.ShowContextMenu = false;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to modify the selection and its handle color?
+
+The color used for text selection and the color of the handle can be customized based on the developer’s requirements. The properties TextSelectionColor and TextSelectionHandleColor of the TextSelectionSettings class can be used to customize them. The below code snippet illustrates the same.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+		
+		SfPdfViewer pdfViewer;
+
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+            SetContentView(Resource.Layout.Main);
+            pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+            Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+            pdfViewer.LoadDocument(PdfStream);
+
+            //Customizing the color being displayed while selecting the text from PDF document.
+            pdfViewer.TextSelectionSettings.TextSelectionColor = Color.Argb(59, 255, 0, 0);
+            //Customizing the color of text selection handler displayed while selecting the text from PDF document.
+            pdfViewer.TextSelectionSettings.TextSelectionHandleColor = Color.Argb(0, 255, 0, 0);
+
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire selected text?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument of this event will contain a copy of the selected text in the String format. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer;
+
+protected override void OnCreate(Bundle bundle)
+{
+     
+     base.OnCreate(bundle);
+     SetContentView(Resource.Layout.Main);
+     pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+     Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+     pdfViewer.LoadDocument(PdfStream);
+
+     //Wiring up the TextSelectionCompleted event.
+     pdfViewer.TextSelectionCompleted += PdfViewer_TextSelectionCompleted;
+
+}
+
+private void PdfViewer_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+
+    //The selected text is acquired and stored in the variable selectedText.
+    var selectedText = args.SelectedText;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire page number, page bounds and selected region?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument would contain details about the page number in which the selection operation is performed, bounds of the page and the selection region. 
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer;
+
+    
+protected override void OnCreate(Bundle bundle)
+{
+    base.OnCreate(bundle);
+    SetContentView(Resource.Layout.Main);
+    pdfViewer = FindViewById<SfPdfViewer>(Resource.Id.pdfviewercontrol);
+    Stream PdfStream = Assets.Open("GIS Succinctly.pdf");
+    pdfViewer.LoadDocument(PdfStream);
+
+    //Wired up the TextSelectionCompleted event.
+    pdfViewer.TextSelectionCompleted += PdfViewer_TextSelectionCompleted;
+ }
+
+private void PdfViewer_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+                
+     //The number of the page in which the selection is performed is acquired.
+     var pageNumberOfSelectedText = args.PageNumber;
+
+     //The region of the text being selected is acquired.
+     var selectedTextRegion = args.SelectedRegion;
+
+     //The bounds of the page in which the selection is performed is acquired.
+     var pageBounds = args.PageBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the start index and end index of the selected text?
+
+The completion of the text selection action would trigger the [TextSelectionCompleted](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_TextSelectionCompleted) event. The event argument would contain details about the start index and end index of the selected text. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args) 
+{
+	//Starting index of the selected text on the page. 
+	int startIndex = args.SelectedTextStartIndex; 
+
+	//Ending index of the selected text on the page.
+	int endIndex= args.SelectedTextEndIndex; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The values of [SelectedTextStartIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_Android_TextSelectionCompletedEventArgs_SelectedTextStartIndex) and [SelectedTextEndIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_Android_TextSelectionCompletedEventArgs_SelectedTextEndIndex) properties correspond only to the text present in the page on which the text is selected. 
+
+## How to customize the text selection context menu?
+
+By default, the text selection context menu contains built-in menu items such as Copy, Highlight, Underline, and Strikethrough. You can add additional items in the text selection context menu by creating an instance of type [TextSelectionMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.TextSelectionMenuItem.html) and add the item to the [TextSelectionSettings.MenuOptions.Items](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.TextSelectionMenu.html#Syncfusion_SfPdfViewer_Android_TextSelectionMenu_Items) property. 
+As the type of this property is ObservableCollection, the following operations can be performed on the text selection context menu items. 
+
+1.	Adding a new item
+2.	Clearing the menu items
+3.	Inserting a new item
+4.	Removing an existing item
+
+Below code illustrates adding a new menu item to the text selection context menu.
+
+{% tabs %}
+{% highlight c# %}
+
+        TextSelectionMenuItem menuItem = new TextSelectionMenuItem();
+
+		//The text to display on the menu item
+		menuItem.Text = “Find text”;
+
+		//The ID to uniquely identify the menu item. 
+		menuItem.Id = "find_text";
+		pdfViewer.TextSelectionSettings.MenuOptions.Items.Add(menuItem);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to handle the click event of the menu item?
+
+The [TextSelectionMenuItemClicked](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.TextSelectionMenu.html#Syncfusion_SfPdfViewer_Android_TextSelectionMenu_TextSelectionMenuItemClicked) event is raised when any menu item is clicked. While performing the intended operation when a menu item is clicked, the selected text can be obtained as described in the [above](https://help.syncfusion.com/xamarin-android/sfpdfviewer/select-and-copy-text#how-to-acquire-selected-text) section. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionMenuItemClicked(object sender, TextSelectionMenuItemClickedEventArgs args) 
+{
+	TextSelectionMenuItem menuItem = sender as TextSelectionMenuItem;
+	switch(menuItem.Id)
+	{
+		//Perform the intended operation after identifying the menu item from its ‘Id’ value. 
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Shape-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Shape-Annotation.md
new file mode 100644
index 000000000..07f181dac
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Shape-Annotation.md
@@ -0,0 +1,571 @@
+---
+layout: post
+title:  Add & modify shapes using PDF viewer Xamarin.Android | Syncfusion
+description: PDF viewer Xamarin.Android allows user to add, move and delete shapes such as line, rectangle & ellipse PDF document
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with shape annotations
+
+PDF viewer allows you to include shape annotations in a PDF document and provides options to modify or remove the existing shape annotations. The supported shape annotations are:
+
+1. Rectangle 
+2. Circle
+3. Line
+4. Arrow
+5. Polygon
+6. Cloud
+
+In all of the code snippets that follows, the `Rectangle` shape annotation is used for illustration purpose. 
+
+## Adding shape annotations using toolbar
+
+### Enabling shape annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer to `Rectangle`. After the annotation mode is set to any of the shapes, the zooming, panning, and scrolling will be disabled and the shapes can be drawn only on the currently visible pages. Refer to the following code.
+
+In all the code snippets, the term ApplicationContext represents the `ApplicationContext` property of the `MainActivity`.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling shape annotation mode
+
+Use the following code to reset the annotation mode to None. When the annotation mode is reset, the zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of shape annotations
+
+The event `ShapeAnnotationAdded` will be raised when a shape annotation is added to the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.ShapeAnnotationAdded += PdfViewer_ShapeAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding the shape annotations programmatically 
+
+By `AddAnnotation` method, You can add the shape annotations programmatically. The created shape annotation object passed as a parameter. The `ShapeAnnotation` instance acquires the `ShapeAnnotationType`, page number and bounds as the parameters. 
+
+The following code sample illustrates the adding of rectangle annotation programmatically. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Bounds in which the rectangle shape annotation should be added
+Rectangle bounds = new Rectangle(100, 100, 200, 200);
+
+//Creates a new rectangle shape annotation
+ShapeAnnotation shapeAnnotation = new ShapeAnnotation(ShapeAnnotationType.Rectangle, 1, rectangle);         
+
+//Sets the stroke color for the rectangle shape annotation 
+shapeAnnotation.Settings.StrokeColor = Color.Red;
+
+//Add the rectangle shape annotation to the specified page
+pdfViewer.AddAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For the purpose of illustration, we have only provided the code example for adding rectangle annotation. But the same procedure can be followed for adding other shape annotations too.
+
+## How to draw a cloud shape annotation?
+
+To draw a cloud shape annotation, you should set the `BorderEffect` property of the shape annotation settings to `BorderEffect.Cloudy`. Only the rectangle and polygon annotations can be drawn with cloud border style. The following sample code illustrates how to draw a rectangle annotation with the cloud border style.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. For complex cloud polygons, the cloud border-style appearance might differ from other PDF readers like Adobe.
+
+## Detecting tap on shape annotations
+
+Tapping a shape annotation selects it or deselects it if it is already selected. The event ShapeAnnotationTapped is raised when a shape is tapped. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+
+## Selecting shape annotations
+
+You can select a shape annotation by tapping it. When a shape is selected, the `ShapeAnnotationSelected` event will be raised. The properties of the selected shape can be obtained from the `args` parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+    //Get the type of the annotation. Here it is rectangle because the AnnotationMode was set to Rectangle
+    AnnotationMode annotationMode = args.AnnotationType;
+            
+    //Get the bounds of the rectangle
+    Rect bounds = args.Bounds;
+
+    //Get the page number in which the annotations are present
+    int pageNumber = args.PageNumber;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting shape annotation programmatically
+
+By `SelectAnnotation` method, You can select the shape annotation programmatically. The specified shape annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified shape annotation
+pdfViewer.SelectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting shape annotations
+
+You can deselect a selected shape annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the `ShapeAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.ShapeAnnotationDeselected += PdfViewer_ShapeAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the deselected shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationDeselected(object sender, ShapeAnnotationDeselectedEventArgs args)
+{ 
+   //Which type of annotation is deselected e.g Rectangle, Circle, FreeText, Ink etc.,
+   AnnotationMode annotationType = args.AnnotationType;
+   
+   //Retrieves the bounds of the deselected annotation.
+   Rect bounds = args.Bounds;
+
+   //Retrieves the page number where the deselected annotation resides.
+   int page = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting shape annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the shape annotation programmatically. The specified shape annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified shape annotation
+pdfViewer.DeselectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Calling `DeselectAnnotation` method has no effect if the given annotation is not selected. The `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of shape annotations
+
+You can customize the values of stroke color, opacity, and thickness of all shape annotations to be added. This will not affect the already added shape annotations. The appearance of a selected free text can also be modified.
+
+### Setting the default stroke color
+
+You can set the default stroke color of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.StrokeColor` property. Refer to the following code.
+ 
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationSettings.Rectangle.Settings.StrokeColor = Color.Red;
+
+{% endhighlight %}
+
+### Setting the default opacity value
+
+You can set the default opacity of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationSettings.Rectangle.Settings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Setting the default thickness
+
+You can set the thickness of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.Thickness` property. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationSettings.Rectangle.Settings.Thickness = 5;
+
+{% endhighlight %}
+
+### Setting the default minimum size and minimum length
+
+By the `MinimumSize` property, You can set the minimum size to which the rectangle and circle shape annotations could be resized. 
+
+By the `MinimumLength` property, You can set the minimum length to which the annotations could be resized for line and arrow.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the rectangle annotations
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumSize = new Size(10, 10);
+
+//Sets the minimum size for the circle annotations
+pdfViewer.AnnotationSettings.Circle.Settings.MinimumSize = new Size(10, 10);
+
+//Sets the minimum length for the line annotations
+pdfViewer.AnnotationSettings.Line.Settings.MinimumLength = 10;
+
+//Sets the minimum length for the arrow annotations
+pdfViewer.AnnotationSettings.Arrow.Settings.MinimumLength = 10;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `MinimumSize` property will does not affect line, arrow, and polygon annotations. Also, the value of `MinimumLength` property will does not affect rectangle, circle, and polygon annotations.
+
+### Setting the default border style
+
+You can set the border style for the rectangle and polygon annotations using the `BorderEffect` property.  
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the cloud border style for rectangle annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+
+//Sets the cloud border style for polygon annotation 
+pdfViewer.AnnotationSettings.Polygon.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. 
+
+### Changing the properties of a selected shape
+
+You can change the properties of the selected annotation by casting the `sender` parameter of the `ShapeAnnotationSelected` event handler to `ShapeAnnotation` and modifying its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+	//Get the type of the annotation e.g Rectangle, Circle, FreeText, Ink etc.,
+    AnnotationMode annotationMode = args.AnnotationType;
+
+	//Cast the sender object as shape annotation.
+	ShapeAnnotation selectedShapeAnnotation = sender as ShapeAnnotation;
+
+	//Set the stroke color of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.StrokeColor = Color.Blue;
+
+	//Set the opacity of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.Opacity = 0.3f;
+
+	//Set the thickness of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.Thickness = 3;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing shape annotations
+
+Tap and drag the annotation to move it. It can be resized by selecting it and dragging the bubbles at the corners.  
+
+### Detecting the move or resizing of a shape
+
+The event `AnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.AnnotationMovedOrResized += PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args) 
+{
+	 //Determine whether the moved or resized annotation is a shape or some other annotation. 
+	 
+	 if(sender as ShapeAnnotation == null)
+	 {
+		//The annotation is not a shape
+	 }
+	 else
+	 {
+		//The annotation is a shape
+	 }
+	 
+     //Retrieve the old bounds of the annotation
+     Rect oldBounds = args.OldBounds;
+
+     //Retrieve the new bounds of the annotation
+     Rect newBounds = args.NewBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting shape annotations
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document.
+
+### Removing all annotations
+
+All annotations from the PDF, irrespective of their types can be removed using the `ClearAllAnnotations` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ClearAllAnnotations();
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing a selected shape annotation.
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+ShapeAnnotation selectedShapeAnnotation;
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object as Shape annotation.
+	selectedShapeAnnotation = sender as ShapeAnnotation;
+}
+
+private void deleteShapeAnnotationButton_Clicked(object sender, EventArgs e)
+{
+	//Delete the selected shape annotation
+	pdfViewer.RemoveAnnotation(selectedShapeAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a shape
+
+The event `ShapeAnnotationRemoved` will be raised when a shape annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(ApplicationContext);
+pdfViewer.ShapeAnnotationRemoved += PdfViewer_ShapeAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed shape can be retrieved from the `args` parameter of the event handler.  
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationRemoved(object sender, ShapeAnnotationRemovedEventArgs args)
+{
+	//Get the type of the annotation. Here it is rectangle because the AnnotationMode was set to rectangle
+	AnnotationMode annotationMode = args.AnnotationType;
+
+	//Get the bounds of the rectangle
+	Rect bounds = args.Bounds;
+
+	//Get the data points of the shape
+	List<Point> dataPoints = args.DataPoints;
+
+	//Get the opacity value
+	float opacity = args.Opacity;
+
+	//Get the page number in which the annotations are present
+	int pageNumber = args.PageNumber;
+
+	//Get the position of the shape within the page
+	Point position = args.Position;
+
+	//Get the stroke color of the shape 
+	Color strokeColor = args.StrokeColor;
+
+	//Get the thickness of the shape
+	float thickness = args.Thickness;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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 such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Arrow.Settings.IsLocked = true;
+ 
+//Disable the line annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Line.Settings.IsLocked = true;
+ 
+//Disable the rectangle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = true;
+ 
+//Disable the circle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = true;
+ 
+//Disable the polygon annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = true;
+
+{% endhighlight %}
+{% endtabs %}
+ 
+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# %}
+
+//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;
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+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?
+
+The PDF Viewer allows the users to get and set the name of the shape annotations through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API. 
+
+The following code sample explains modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_ShapeAnnotationAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ShapeAnnotationAdded(object sender, ShapeAnnotationAddedEventArgs args)
+{
+//Sets the name for the annotation.
+(sender as ShapeAnnotation).Name = "Shape1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_ShapeAnnotationAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Single-page-view-mode.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Single-page-view-mode.md
new file mode 100644
index 000000000..bb697de7b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Single-page-view-mode.md
@@ -0,0 +1,67 @@
+---
+layout: post
+title: Single page view mode in PDF Viewer Xamarin.Android | Syncfusion
+description: Learn about single page view mode support in Syncfusion<sup>®</sup> Xamarin.Android Pdf Viewer (SfPdfViewer) control and more details.
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Single page view mode
+
+The default continuous view mode of PDF Viewer allows vertical scrolling. In addition to that, PDF Viewer also provides options to view PDFs page by page with horizontal navigation support.
+
+![Single page view mode flipping](pdfviewer_images/SinglePageViewerFlipping.gif)
+
+![Single page view mode scrolling](pdfviewer_images/SinglePageViewerScrolling.gif)
+
+## Switching between view modes
+
+The view mode can be switched by choosing the corresponding option from the menu bar that appears when the view mode button is clicked. The view mode button is available on the top toolbar. 
+
+![Single page view mode](pdfviewer_images/SinglePageViewer1.png)
+
+![View mode options](pdfviewer_images/SinglePageViewer2.png)
+
+The view mode can also be changed programmatically using the `PageViewMode` property of the PDF viewer. The enum `PageViewMode` has two constants - `Continuous`, `PageByPage`. The default value is `Continuous`. The below code snippet illustrates how to switch to the page by page view mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PageViewMode = PageViewMode.PageByPage;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Tracking the changes in the `PageViewMode` property
+
+When the `PageViewMode` property changes, the `PageViewModeChanged` event is raised. The second parameter of the event handler is of type `PageViewModeChangedEventArgs` which provides the details about the old and new view modes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PageViewModeChanged += PdfViewerControl_PageViewModeChanged1;
+
+private void PdfViewerControl_PageViewModeChanged1(object sender, PageViewModeChangedEventArgs e)
+{
+    PageViewMode oldViewMode = e.PreviousPageViewMode;
+    PageViewMode newViewMode = e.CurrentPageViewMode;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to disable the page navigation by flipping in a single page view mode
+
+The page navigation by flipping the pages in a single page view mode can be enabled or disabled by setting the `IsPageFlipEnabled` API to `true` or `false` respectively.
+
+N>The default value of the `IsPageFlipEnabled` API is set to `true`. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the page navigation by flipping pages
+pdfViewer.IsPageFlipEnabled= false;
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/TextMarkup.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/TextMarkup.md
new file mode 100644
index 000000000..2c7685835
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/TextMarkup.md
@@ -0,0 +1,689 @@
+---
+layout: post
+title:  Add & modify text markups PDF viewer Xamarin.Android | Syncfusion
+description: PDF viewer Xamarin.Android allows user to highlight, underline and strikethrough the text content in the PDF document.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with text markup annotation
+
+The PDF viewer supports to add, edit, and delete text markup annotations (highlight, underline, and strikethrough) in the PDF document.
+
+AXML code for android layout
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:focusable="true"
+    android:focusableInTouchMode="true"
+    android:id="@+id/parentview">
+   <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+        <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="5"
+            android:layout_height="50dp">
+            <Button
+                android:id="@+id/annotationButton"
+                android:background="#E9E9E9"
+                android:layout_width="40dp"
+                android:layout_height="30dp"
+                android:padding="0dp"
+                android:layout_marginLeft="15dip"
+                android:layout_marginTop="10dip"/>
+             <Button
+                android:id="@+id/annotationBackButton"
+                android:layout_width="40dp"
+                android:layout_height="30dp"
+                android:background="#E9E9E9"
+                android:text="BackButton"
+                android:layout_marginLeft="10dip"
+                android:layout_marginRight ="10dip"
+                android:layout_marginTop="10dip" />
+        </GridLayout>
+   </FrameLayout>
+   <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code associated with the above axml layout
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+Button annotationButton;
+protected override void OnCreate(Bundle bundle)
+{
+	base.OnCreate(bundle);
+	SetContentView(Resource.Layout.Main);
+	pdfViewerControl=(SfPdfViewer)mainView.FindViewById(Resource.Id.pdfviewercontrol);
+	annotationButton = (Button)mainView.FindViewById(Resource.Id.annotationButton);
+	annotationButton.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+	annotationButton.TextSize = 18;
+	annotationButton.Click += AnnotationButton_Click;   
+	
+	annotationBackButton =(Button)mainView.FindViewById(Resource.Id.annotationBackButton);
+	annotationBackButton.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+	annotationBackButton.TextSize = 18;
+	annotationBackButton.Click += AnnotationBackButton_Click;             
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Highlight a text
+
+The two ways to highlight a text in the PDF document are: 
+
+1. By selecting the text and highlight option
+
+	* Select the text in the PDF document.
+    * Select “Highlight” option in the context menu that appears.
+	
+2. Enabling the highlight mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once highlight annotation mode is activated, scrolling of the document will be frozen and highlight annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+C# code to switch to highlight annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e)
+{
+    pdfViewerControl.AnnotationMode = AnnotationMode.Highlight;        
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationBackButton_Click(object sender, EventArgs e)
+{
+    pdfViewerControl.AnnotationMode = AnnotationMode.None;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Highlight the text programmatically
+
+By `AddAnnotation` method , You can highlight the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Highlight, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Underline a text
+
+The two ways to underline a text in the PDF document are: 
+
+1. By selecting the text and underline option
+
+	* Select the text in the PDF document.
+    * Select “Underline” option in the context menu that appears.
+	
+2. Enabling the underline mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once underline annotation mode is activated, scrolling of the document will be frozen and underline annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+
+C# code to switch to underline annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e)
+{
+	pdfViewerControl.AnnotationMode = AnnotationMode.Underline;        
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationBackButton_Click(object sender, EventArgs e)
+{
+       pdfViewerControl.AnnotationMode = AnnotationMode.None;
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Underline the text programmatically
+
+By `AddAnnotation` method , You can underline the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Underline, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Strikethrough a text
+
+The two ways to strikethrough a text in the PDF document are: 
+
+1. By selecting the text and strikethrough option
+
+	* Select the text in the PDF document.
+    * Select “Strikethrough” option in the context menu that appears.
+	
+2. Enabling the strikethrough mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once strikethrough annotation mode is activated, scrolling of the document will be frozen and strikethrough annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+C# code to switch to strikethrough annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e)
+{
+   pdfViewerControl.AnnotationMode = AnnotationMode.Strikethrough;        
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationBackButton_Click(object sender, EventArgs e)
+{
+	pdfViewerControl.AnnotationMode = AnnotationMode.None;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Strikethrough the text programmatically
+
+By `AddAnnotation` method , You can strikethrough the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Strikethrough, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting text markup annotation programmatically
+
+By `SelectAnnotation` method ,You can select the text markup annotation programmatically. The specified text markup annotation object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified text markup annotation
+pdfViewerControl.SelectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting text markup annotation programmatically
+
+By `DeselectAnnotation` method ,You can deselect the text markup annotation programmatically. The specified text markup annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified text markup annotation 
+pdfViewerControl.DeselectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Deleting a text markup annotation
+
+The PDF viewer removes a single annotation in the PDF document, removes all the annotations in a page, and removes all the annotations in the document.
+
+### Removing a single annotation.
+
+The following code snippet illustrates removing a single annotation from the PDF document.
+
+C# code to removing a single annotation
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+Button removeButton; 
+TextMarkupAnnotation selectedAnnotation;
+protected override void OnCreate(Bundle bundle)
+{
+	base.OnCreate(bundle);
+	SetContentView(Resource.Layout.Main);
+	pdfViewerControl=(SfPdfViewer)mainView.FindViewById(Resource.Id.pdfviewercontrol);
+	pdfViewerControl.TextMarkupSelected += PdfViewerControl_TextMarkupSelected;
+	annotationButton = (Button)mainView.FindViewById(Resource.Id.annotationButton);
+	annotationButton.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+	annotationButton.TextSize = 18;
+	annotationButton.Click += AnnotationButton_Click;         
+}
+private void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+	selectedAnnotation = (sender as TextMarkupAnnotation);
+}
+private void AnnotationButton_Click(object sender, EventArgs e) 
+{
+	if (selectedAnnotation != null)
+		pdfViewerControl.RemoveAnnotation(selectedAnnotation); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in a page
+
+The ClearAllAnnotations(int pageNumber) API can be used to remove all the annotations in a page of the PDF document. 
+
+C# code to removing all the annotations in a page
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e) 
+{
+	pdfViewerControl.ClearAllAnnotations(pageNumber);
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in the PDF document
+
+The ClearAllAnnotations API can be used to remove all the annotations in the PDF document.
+
+
+C# code to removing all the annotations in the PDF document
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e) 
+{
+	pdfViewerControl.ClearAllAnnotations();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Editing the color of the text markup annotation
+
+You can edit the color of the text markup annotation before including the annotation and after including the annotation. 
+
+### Before inclusion of the annotation or Default color
+
+You can alter the default color of the annotation to change the color while including annotation. Refer to the following code sample. 
+
+C# code for editing the color of the text markup annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void AnnotationButton_Click(object sender, EventArgs e) 
+{
+	pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Color = Color.Red;
+	pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Color = Color.Magenta;
+	pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Color = Color.Yellow;        
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Setting this property will not edit the color of annotations that are included in prior.
+
+### After inclusion of the annotation
+
+* Select the annotation.
+* TextMarkupSelected event will be triggered and you will get a copy of selected annotation. 
+* Edit the copy of annotation, so that you can edit the color of the text markup annotation.          
+
+The following code snippet illustrates the same.    
+C# code for changing the selected annotation color
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+Button colorButton; 
+TextMarkupAnnotation selectedAnnotation;
+protected override void OnCreate(Bundle bundle)
+{
+	base.OnCreate(bundle);
+	SetContentView(Resource.Layout.Main);
+	pdfViewerControl=(SfPdfViewer)mainView.FindViewById(Resource.Id.pdfviewercontrol);
+	pdfViewerControl.TextMarkupSelected += PdfViewerControl_TextMarkupSelected;
+	annotationButton = (Button)mainView.FindViewById(Resource.Id.annotationButton);
+	annotationButton.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+	annotationButton.TextSize = 18;
+	annotationButton.Click += AnnotationButton_Click;         
+}
+private void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+	selectedAnnotation = (sender as TextMarkupAnnotation);
+}
+private void AnnotationButton_Click(object sender, EventArgs e) 
+{
+	if (selectedAnnotation != null)
+	    selectedAnnotation.Settings.Color = Color.Red;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Performing undo and redo
+
+The PDF viewer performs undo and redo for the changes made in annotations in the PDF document. In text markup annotation undo and redo actions are provided for: 
+
+* Inclusion of new text markup annotation.
+* Deletion of text markup annotation.
+* Changing the color of the text markup annotation. 
+
+Refer to the following code sample to perform undo and redo operations:  
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:focusable="true"
+    android:focusableInTouchMode="true"
+    android:id="@+id/parentview">
+    <FrameLayout
+       android:id="@+id/parent"
+       android:layout_width="match_parent"
+       android:layout_height="50dp">
+    <GridLayout
+        android:id="@+id/toolbarGrid"
+        android:background="#E9E9E9"
+        android:layout_width="match_parent"
+        android:columnCount="5"
+        android:layout_height="50dp">
+      
+       <Button
+        android:id="@+id/undoAnnotationButton"
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+        android:layout_marginLeft="55dip"
+        android:layout_centerHorizontal="true"
+        android:layout_gravity="center_horizontal"         
+        android:layout_marginTop="10dip"
+        android:background="#E9E9E9"/>
+      
+       <Button
+        android:id="@+id/redoAnnotationButton"
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+        android:layout_centerHorizontal="true"      
+        android:layout_gravity="center_horizontal"
+        android:layout_marginLeft="20dip"
+        android:layout_marginTop="10dip"
+        android:background="#E9E9E9"/>        
+    </GridLayout>  
+   </FrameLayout>
+<Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+Button undoButton;
+Button redoButton;
+protected override void OnCreate(Bundle bundle)
+{
+	base.OnCreate(bundle);
+	SetContentView(Resource.Layout.Main);
+	pdfViewerControl = (SfPdfViewer)mainView.FindViewById(Resource.Id.pdfviewercontrol);
+	undoButton = mainView.FindViewById<Button>(Resource.Id.undoAnnotationButton);
+	undoButton.Click += UndoButton_Click;
+	redoButton = mainView.FindViewById<Button>(Resource.Id.redoAnnotationButton);
+    redoButton.Click += RedoButton_Click;
+}
+
+private void UndoButton_Click(object sender, EventArgs e)
+{
+	pdfViewerControl.PerformUndo();
+}
+
+private void RedoButton_Click(object sender, EventArgs e)
+{
+	pdfViewerControl.PerformRedo();
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Saving the PDF document
+
+After performing all the changes over the PDF document in the PDF viewer, the resultant document can be saved using the SaveDocument() API.
+
+{% tabs %}
+{% highlight axml %}
+
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:focusable="true"
+    android:focusableInTouchMode="true"
+    android:id="@+id/parentview">
+   <FrameLayout
+        android:id="@+id/parent"
+        android:layout_width="match_parent"
+        android:layout_height="50dp">
+        <GridLayout
+            android:id="@+id/toolbarGrid"
+            android:background="#E9E9E9"
+            android:layout_width="match_parent"
+            android:columnCount="5"
+            android:layout_height="50dp">
+            <Button
+                android:id="@+id/saveButton"
+                android:background="#E9E9E9"
+                android:src="@drawable/Save"
+                android:layout_width="40dp"
+                android:layout_height="30dp"
+                android:padding="0dp"
+                android:layout_marginLeft="15dip"
+                android:layout_marginTop="10dip"/>
+        </GridLayout>
+   </FrameLayout>
+   <Syncfusion.SfPdfViewer.Android.SfPdfViewer
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:id="@+id/pdfviewercontrol" />
+</LinearLayout>
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code for saving the PDF document
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+Button saveButton;
+protected override void OnCreate(Bundle bundle)
+{
+	base.OnCreate(bundle);
+	SetContentView(Resource.Layout.Main);
+	pdfViewerControl=(SfPdfViewer)mainView.FindViewById(Resource.Id.pdfviewercontrol);
+	saveButton = (Button)mainView.FindViewById(Resource.Id.saveButton);
+	saveButton.SetTextColor(Android.Graphics.Color.Rgb(103, 103, 103));
+	saveButton.TextSize = 18;
+	saveButton.Click += SaveButton_Click;              
+}
+
+private void SaveButton_Click(object sender, EventArgs e)
+{
+   	Stream stream = pdfViewerControl.SaveDocument();
+}
+
+{% endhighlight %}
+{% 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.
+
+The following code sample explains modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_TextMarkupAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_TextMarkupAdded(object sender, TextMarkupAddedEventArgs args)
+{
+(sender as TextMarkupAnnotation).Name = "TextMarkupAnnotation1";
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_TextMarkupAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-PDF-AcroForms.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-PDF-AcroForms.md
new file mode 100644
index 000000000..2017f3010
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-PDF-AcroForms.md
@@ -0,0 +1,165 @@
+---
+layout: post
+title:  Filling PDF forms using PDF Viewer Xamarin.Android | Syncfusion
+description: Filling and signing the forms in the PDF document using the Syncfusion<sup>®</sup> PDF Viewer control Xamarin.Android
+platform: xamarin.android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with PDF AcroForms
+
+PDF Viewer supports adding/modifying the existing forms fields content present in the PDF document. By default, it detects the form fields present in the PDF document and enables modifying or filling the values.
+
+## How to restrict editing the form field values in the existing PDF document
+
+By setting the `EnableFormFilling` property of the PdfViewerControl instance to false, you can avoid modifying the values of the form field elements present in the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Does not load the form fields in PDF viewer
+pdfViewerControl.EnableFormFilling = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableFormFilling property is set to true.
+
+## How to flatten and save the form fields data
+
+Flattening PDF form is a process of removing the form fields in the PDF document, thereby rendering the form fields appearance and its content in the page graphics. This will avoid the PDF form being edited in any device. PDF Viewer supports flattening the PDF form when saving. You can perform this action by passing the parameter `true` to the Save method of PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+//Flatten and save the form fields during saving process
+pdfViewerControl.SaveDocument(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Rendering the appearance content of signature form fields
+
+By default, the PDF viewer does not display the appearance content of signature form fields. But the appearance can be displayed by flattening the signature form fields before loading the PDF. This can be achieved by setting the `FlattenSignatureFields` property as true. The default value of the property is set as false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the signature form fields should be flattened when the PDF is loaded or not.
+pdfViewerControl.FormSettings.FlattenSignatureFields = true;
+
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Signature form fields are only flattened when the page displayed in the viewer is only for viewing the appearance of signature form fields. Once the signature form fields are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the `FlattenSignatureFields` property as `true` will does not affect the save and form field export operations. The signature form fields will not be flattened in these operations.
+
+## Events to track form field interaction
+
+The PDF Viewer allows you to track form field interactions using events. The interactions on the following types of form fields can be tracked using events.
+
+* Text
+* Check Box
+* Radio button
+* Combo Box
+* List box
+* Signature
+
+### Detecting the value change of form fields
+
+The`FormFieldValueChanged` event will be raised when the values of the form fields are changed.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldValueChanged="PdfViewer_FormFieldValueChanged"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldValueChanged(object sender, FormFieldValueChangedEventArgs args)
+ { 
+ 
+ //Get the name of the form field          
+ string fieldName = args.FormFieldName;
+ 
+ //Get the type of the form field   
+ FormFieldType formFieldType= args.FormFieldType; 
+ 
+ //Get the value of the form field after the event occurs    
+ object newValue = args.NewValue;     
+ 
+ //Get the value of the form field before the event occurs 
+ object oldValue = args.OldValue;
+
+ }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the focus of form fields
+
+The `FormFieldFocused` event will be raised when text or signature field is focused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldFocused="PdfViewer_FormFieldFocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldFocused(object sender, FormFieldFocusedEventArgs args) 
+{  
+          
+//Get the name of the form field             
+string fieldName = args.FormFieldName;           
+
+//Get the type of the form field            
+FormFieldType formFieldType= args.FormFieldType; 
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
+
+### Detecting the unfocus of form fields
+
+The `FormFieldUnfocused` event will be raised when text or signature field is unfocused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldUnfocused="PdfViewer_FormFieldUnfocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldUnfocused(object sender, FormFieldUnfocusedEventArgs args) 
+{          
+  //Get the name of the form field             
+  string fieldName = args.FormFieldName;       
+
+  //Get the type of the form field       
+  FormFieldType formFieldType= args.FormFieldType;
+  
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-PDF-Coordinates.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-PDF-Coordinates.md
new file mode 100644
index 000000000..b55d51f71
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/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<sup>®</sup> 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/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-Scrollhead.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-Scrollhead.md
new file mode 100644
index 000000000..8140c4018
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-Scrollhead.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title:  ScrollHead in Xamarin.Android PDF Viewer | Syncfusion
+description: Working with ScrollHead
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with ScrollHead
+
+The scroll head in the PDF Viewer allows users to easily scroll through and navigate to destination page in the PDF document. ScrollHead always appears on the right side of PDF Viewer.
+
+## Enabling and disabling ScrollHead
+
+By setting the `EnableScrollHead` property of the PdfViewerControl instance to false, you can disable the scroll head.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>EnableScrollHead</td>
+<td>Gets or sets the value that enable and disable the ScrollHead feature in PDF Viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<pdfviewer:SfPdfViewer x:Name="pdfViewerControl" EnableScrollHead="False"/>               
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Disables the scroll head
+pdfViewerControl.EnableScrollHead = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to a desired page using ScrollHead
+
+PDF Viewer allows users to navigate to a desired destination page using ScrollHead. On tapping the ScrollHead of PDF Viewer, a page navigation pop-up will appear and users can navigate to the destination page by entering a valid page number.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-custom-stamp-annotations.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-custom-stamp-annotations.md
new file mode 100644
index 000000000..522d4bf64
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-custom-stamp-annotations.md
@@ -0,0 +1,301 @@
+---
+layout: post
+title: Custom stamp annotations in Xamarin.Android PDF Viewer | Syncfusion
+description: The custom stamp annotation allows the users to include any form of Xamarin.Android widget like Button, Entry, Label, and Image anywhere in the PDF document
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with custom stamp annotations
+
+PDF Viewer allows you to include any form of Xamarin.Android View that is Button, Entry, Label, Image and more anywhere in the pages of the PDF Viewer as custom stamp annotation. You can perform operations like add, move, resize, and delete the custom stamp annotations. Also, you can save and load the existing custom stamp annotation that is associated with the PDF document
+
+## Add a custom stamp
+
+The custom stamps can be added using the `AddAnnotation` or `AddStamp` methods.
+
+{% tabs %}
+{% highlight c# %}
+
+//Add custom stamp/view
+pdfViewer.AddAnnotation(StampAnnotation stampAnnotation)
+
+//Add custom stamp/view to the specified page
+pdfViewer.AddStamp(View view, int pageNumber)
+
+//Add custom stamp/view to the specified page and position as Point object
+pdfViewer.AddStamp(View view, int pageNumber, Point position)
+
+//Add custom stamp/view to the specified page and position as Rectangle object
+pdfViewer.AddStamp(View view, int pageNumber, Rectangle bounds)
+
+{% endhighlight %}
+{% endtabs %}
+
+A typical example of the custom stamp in the real world includes, adding an image as custom stamp. PDF Viewer provides option to add any user defined signature or seal image as custom stamp to the PDF document. The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+    //Set image source
+    Image image = new Image();
+    image.Source = ImageSource.FromResource("Sample.Assets.Logo.png", typeof(App).GetTypeInfo().Assembly);
+    image.WidthRequest = 200;
+    image.HeightRequest = 100;
+
+    //Method 1: Add image as custom stamp to the first page using `AddStamp` method
+    pdfViewer.AddStamp(image, 1);
+	
+	//Method 2: Create a stamp annotation instance and add using `AddAnnotation` method
+	//StampAnnotation stampAnnotation = new StampAnnotation(image, 1, new Rectangle(100, 100, 100, 100));
+	//pdfViewer.AddAnnotation(stampAnnotation);  	
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationAdded` event will be raised when custom stamp annotations are added in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationAdded += PdfViewer_StampAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select a custom stamp
+
+You can select a custom stamp annotation by tapping on it and this action is followed by the appearance of the selector around the custom stamp annotation. The `StampAnnotationSelected` event will be raised when custom stamp annotations are selected in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationSelected += PdfViewer_StampAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationSelectedEventArgs` properties of the selected custom stamp annotation includes page number and bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+{
+    //Gets the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+
+    //Gets the bounds of selected stamp annotation
+    Rectangle bounds = e.Bounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Also, tapping a custom stamp annotation selects it or deselects if it is already selected. Tapping a custom stamp annotation will raise the `StampAnnotationTapped` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Select a custom stamp annotation programmatically
+
+By `SelectAnnotation` method, You can select the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified stamp annotation
+pdfViewer.SelectAnnotation(stampAnnotation);           
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect a custom stamp
+
+You can deselect a selected custom stamp annotation by tapping on it or somewhere else on the PDF document. Deselection of a custom stamp annotation can be detected using the `StampAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationDeselected += PdfViewer_StampAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect a custom stamp annotation programmatically
+
+By `DeselectAnnotation` method , You can deselect the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified stamp annotation
+pdfViewer.DeselectAnnotation(StampAnnotation);       
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in Calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Move or resize a custom stamp
+
+Select the custom stamp annotation to move or resize it. After the selector appears around the custom stamp annotation, drag it to move to a new location by tapping anywhere inside the selector. Similarly, drag the selector corner handle(s) to resize the selected custom stamp annotation. The `StampAnnotationMovedOrResized` event will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationMovedOrResized += PdfViewer_StampAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationMovedOrResizedEventArgs` properties of the moved or resized custom stamp annotation includes page number, old bounds, and new bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationMovedOrResized(object sender, StampAnnotationMovedOrResizedEventArgs e)
+{
+    //Get the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+
+    //Get the old bounds of selected stamp annotation
+    Rectangle oldBounds = e.OldBounds;
+
+    //Get the new bounds of selected stamp annotation
+    Rectangle newBounds = e.NewBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Customize the Minimum size of the Custom Stamp Annotations?
+
+By the `MinimumSize` property, You can set the minimum size to which the custom stamp annotations could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the custom stamp annotations
+pdfViewer.AnnotationSettings.Stamp.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Delete a custom stamp
+
+When you select the custom stamp annotation, delete icon will appear on the bottom toolbar. By clicking that delete icon, the selected custom stamp annotation can be removed. The `StampAnnotationRemoved` event will be raised when a custom stamp annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationRemoved += PdfViewer_StampAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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. 
+
+{% tabs %}
+{% highlight c# %}
+
+//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, though its 'IsLocked' property is set to ‘false’ .
+pdfViewerControl.AnnotationSettings.IsLocked = true;
+pdfViewerControl.AnnotationSettings.Stamp.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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# %}
+
+//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 %}
+
+## How to retrieve the actual view added as the stamp using the AddStamp method?
+
+The stamp annotation view can be retrieved when the stamp is added, tapped, selected, deselected, moved, or resized, and removed from the event data parameter of the respective event handler from the [`CustomStampView`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.StampAnnotationSelectedEventArgs.html#Syncfusion_SfPdfViewer_Android_StampAnnotationSelectedEventArgs_CustomStampView) property. The stamp view, thus retrieved, is the same instance as the one added using the [`AddStamp`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_AddStamp_Android_Views_View_System_Int32_) method. 
+
+Refer to the following code example. The [`StampAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_ShapeAnnotationSelected) event is shown for illustration purposes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.StampAnnotationSelected += PdfViewerControl_StampAnnotationSelected;
+
+private void PdfViewerControl_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+        {
+            //Retrieves the actual view added as the stamp using the AddStamp method.
+            var customStamp = e.CustomStampView;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get and set the name of the custom stamp annotations?
+
+The PDF Viewer allows the users to get and set the name of custom stamp annotations through the [Name](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.IAnnotation.html#Syncfusion_SfPdfViewer_Android_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_StampAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+ private void PdfViewerControl_StampAnnotationAdded(object sender, StampAnnotationAddedEventArgs e)
+{
+(sender as StampAnnotation).Name = "StampAnnotation1";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.SfPdfViewer.html#Syncfusion_SfPdfViewer_Android_SfPdfViewer_StampAnnotationAdded) event. But this can be done in all other events as well.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-magnification.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-magnification.md
new file mode 100644
index 000000000..a67392aef
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/Working-with-magnification.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title:  Working with magnification in PDF Viewer Xamarin.Android | Syncfusion
+description: The PDF Viewer allows the users to magnify the PDF documents in multiple ways like setting maximum, minimum and custom zoom percentage.
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with magnification
+
+Magnification of the PDF document can be done in multiple ways and the different ways are explained below.
+
+## Set custom zoom percentage
+
+The users can set custom magnification factor between 100 and 300 to magnify the document displayed. The following code explains this,
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.ZoomPercentage = 150;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Get custom zoom factor
+
+The following code explains accessing zoom factor in which the document is displayed in the viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+int zoom = pdfViewerControl.ZoomPercentage;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set maximum zoom percentage
+
+The PDF Viewer control allows you to set the maximum zoom percentage value for the PDF document being displayed. The following code example will set the maximum zoom percentage of PDF Viewer instance to 200.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.MaximumZoomPercentage = 200;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set minimum zoom percentage
+
+The PDF Viewer control allows you to set the minimum zoom percentage value for the PDF document being displayed. The following code example will set the minimum zoom percentage of PDF Viewer instance to 10.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.MinimumZoomPercentage = 10;
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/overview.md b/Document-Processing/PDF/PDF-Viewer/xamarin-android/overview.md
new file mode 100644
index 000000000..d8c961d3e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-android/overview.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title: Overview of PDF Viewer for Xamarin.Android | Syncfusion
+description: Overview and key features of Xamarin.Android PDF viewer
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# PDF Viewer
+
+PDF Viewer for Xamarin.Android allows the user to view PDF documents within your Xamarin.Android application. 
+
+![SfPdfViewer](pdfviewer_images/pdfviewer.png)
+
+**Key features:**
+
+The following list shows the key features available in PDF Viewer control.
+
+* View PDF documents
+* Search a text in PDF document
+* Select text and copy it to clipboard
+* Scroll, pan, zoom in and out
+* Page navigation
+
+N>PDF Viewer for Xamarin.Android will be supported from Android 5.0 (API Level 21) onwards.
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/BookmarkButton.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/BookmarkButton.png
new file mode 100644
index 000000000..a411759bc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/BookmarkButton.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/ClientCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/ClientCoordinates.png
new file mode 100644
index 000000000..41827262f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/ClientCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/PageCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/PageCoordinates.png
new file mode 100644
index 000000000..e3fdbed54
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/PageCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer1.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer1.png
new file mode 100644
index 000000000..cf47add1a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer1.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer2.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer2.png
new file mode 100644
index 000000000..5d594838d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewer2.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerFlipping.gif b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerFlipping.gif
new file mode 100644
index 000000000..188604aa2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerFlipping.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerScrolling.gif b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerScrolling.gif
new file mode 100644
index 000000000..ab76c9acb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/SinglePageViewerScrolling.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/androidstrings.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/androidstrings.png
new file mode 100644
index 000000000..ac6dcfce4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/androidstrings.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/bookmark.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/bookmark.png
new file mode 100644
index 000000000..169c12460
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/bookmark.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/gettingstarted.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/gettingstarted.png
new file mode 100644
index 000000000..771010272
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/gettingstarted.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewer.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewer.png
new file mode 100644
index 000000000..7f66d80c1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalization.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalization.png
new file mode 100644
index 000000000..8d3dbf385
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalization.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalizationoutput.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalizationoutput.png
new file mode 100644
index 000000000..d0c9175b0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/pdfviewerlocalizationoutput.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/print.png b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/print.png
new file mode 100644
index 000000000..c6f93ef27
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-android/pdfviewer_images/print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Bookmark-Navigation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Bookmark-Navigation.md
new file mode 100644
index 000000000..35b0255be
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Bookmark-Navigation.md
@@ -0,0 +1,121 @@
+---
+layout: post
+title:  Bookmark Navigation in Xamarin.iOS PDF Viewer| Syncfusion
+description: Bookmark navigation allows users to view the bookmarks and navigate to the destination saved in the bookmarks in PDF Viewer Xamarin.iOS
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Bookmark Navigation
+
+PDF viewer allows users to view the bookmarks present in the loaded PDF document and navigate to the destination saved in the bookmarks. 
+
+## Enabling and disabling bookmark feature
+
+You can enable and disable the bookmark button from the built-in toolbar using the `BookmarkNavigationEnabled` property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkNavigationEnabled</td>
+<td>Gets or sets the value that enable and disable the bookmark feature in PDF viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+This property removes the bookmark button from the built-in toolbar and disable the bookmark feature, when it is set to false and vice versa.
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark feature is disabled
+pdfViewerControl. BookmarkNavigationEnabled = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## Expand and collapse the bookmark pane from built-in toolbar
+
+The bookmark pane is expanded and collapsed by clicking the bookmark button from the built-in toolbar.
+
+![Button for bookmark](pdfviewer_images/BookmarkButton.png)
+
+## Expand and collapse the bookmark pane programmatically
+
+The bookmark pane is expanded and collapsed programmatically by using the `BookmarkPaneVisible` bindable property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkPaneVisible</td>
+<td>Gets or sets the value to expand and collapse the bookmark pane in PDF viewer. Setting this property to true expands the pane and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark pane will be collapsed, if it is expanded
+pdfViewerControl.BookmarkPaneVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Programmatically navigate to a bookmark destination
+
+You can navigate to a desired bookmark destination using the `GotoBookmark(PdfBookmark)` method. The target/destination bookmark should be provided as the argument to this method. Refer to the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Loads the PDF document in PdfLoadedDocument
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(documentStream);
+
+//Retrieves the bookmark collection from the loaded PDF document
+PdfBookmarkBase bookmark = loadedDocument.Bookmarks;
+
+//Navigate to the specified bookmark destination offset
+pdfViewerControl.GoToBookmark(bookmark[0]);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Track the occurrence of the bookmark navigation
+
+You can track the bookmark navigation operation using the `BookmarkNavigationOccurred` event. The argument of this event will provide the instance of the bookmark, destination page number, and vertical offset. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.BookmarkNavigationOccurred += PdfViewerControl_BookmarkNavigationOccurred;
+
+
+private void PdfViewerControl_BookmarkNavigationOccurred(object sender, Syncfusion.SfPdfViewer.XForms.BookmarkNavigationOccurredEventArgs e)
+{
+      //Retrieves the current bookmark
+      PdfBookmark bookmark = e.Bookmark;
+
+      //Gets the vertical offset of the bookmark
+      double destinationOffset = e.Offset;
+
+      //Gets the current page number in which the bookmark destination resides
+      int pageNumber = e.PageNumber;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Bookmarks](pdfviewer_images/bookmark.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Built-in-toolbar.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Built-in-toolbar.md
new file mode 100644
index 000000000..0fab6ea53
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Built-in-toolbar.md
@@ -0,0 +1,28 @@
+---
+layout: post
+title:  Built-in toolbar in PDF viewer Xamarin.iOS  | Syncfusion
+description: The PDF Viewer Xamarin.iOS allows the users to perform almost all operations in PDF Viewer using the built-in toolbar
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with built-in toolbar
+
+The SfPdfViewer has a built-in toolbar, which has provisions to perform majority of the operations in the PDF viewer. You  can disable the built-in toolbar and develop your own toolbar.
+
+## How to disable the built-in toolbar of SfPdfViewer?
+
+The following API is used to disable the built-in toolbar in the PDF viewer.
+
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.Toolbar.Enabled = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the built-in toolbar of SfPdfViewer is always visible.
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Documentlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Documentlink.md
new file mode 100644
index 000000000..d8d014e39
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Documentlink.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title:  Document link in PDF viewer Xamarin.iOS | Syncfusion
+description: Document Link Annotation or Table of content support in PDF viewer Xamarin.iOS allows the user to navigate to specific destination within PDF document.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Document Link Annotation (Table of content)
+
+The PDF viewer navigates to a specific destination within the PDF document.
+
+
+## How to disable document link navigation in PDF document using PDF viewer control?
+
+Set the “EnableDocumentLinkAnnotation” property to false to disable the document link navigation in PDF viewer. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.EnableDocumentLinkAnnotation = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableDocumentLinkAnnotation property is set to true.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Export-as-image.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Export-as-image.md
new file mode 100644
index 000000000..848331556
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Export-as-image.md
@@ -0,0 +1,143 @@
+---
+layout: post
+title: PDF to images conversion using PDF Viewer Xamarin.iOS | Syncfusion
+description: Convert pages of the PDF to image stream with custom scale factor using Syncfusion<sup>®</sup> Xamarin.iOS PDF Viewer 
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Exporting the pages of PDF document as images
+
+The PdfViewerControl allows users to export the pages of a PDF document as image streams using the `ExportAsImage` and `ExportAsImageAsync` method. The resultant image streams can be saved as image files in the local storage.
+
+## Exporting a single PDF page as image
+
+To synchronously export a single PDF page as image, you should use the ExportAsImage method that accepts page index as its parameter. The following code example describes exporting page at index 0 as image stream. 
+
+{% tabs %}
+{% highlight c# %}
+
+// Accessing the PDF document that is added as embedded resource as stream.
+var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+// Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+// Export the page of PDF document to image stream with the given index
+Stream stream = pdfViewerControl.ExportAsImage(0);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a single PDF page as image, you should use the ExportAsImage method that accepts page index as its parameter. The following code example describes exporting page at index 0 as image stream. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the page of PDF document to image stream with the given index
+Stream stream = await pdfViewerControl.ExportAsImageAsync(0);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a single PDF page as image with custom scale factor
+
+To synchronously export a single PDF page as image with custom scale factor, you should use the ExportAsImage method that accepts page index and scale factor as its parameters. The following code example describes exporting page at index 0 with the scale factor 2.0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+// Accessing the PDF document that is added as embedded resource as stream.
+var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+// Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Synchronously export the 0th index of PDF page to image stream with size two times greater than the original size 
+Stream stream = pdfViewerControl.ExportAsImage(0,2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a single PDF page as image with custom scale factor, you should use the ExportAsImage method that accepts page index and scale factor as its parameters. The following code example describes exporting page at index 0 with the scale factor 2.0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the 0th index of PDF page to image stream with size two times greater than the original size 
+Stream stream = await pdfViewerControl.ExportAsImageAsync(0,2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Exporting a range of PDF pages as images
+
+To synchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index and end page index as its parameter. The following code example describes exporting pages ranging between index 0 and 3 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+// Accessing the PDF document that is added as embedded resource as stream.
+var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+// Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Synchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+Stream[] stream = pdfViewerControl.ExportAsImage(0,3);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index and end page index as its parameter. The following code example describes exporting pages ranging between index 0 and 3 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+Stream[] stream = await pdfViewerControl.ExportAsImageAsync(0,3);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a range of PDF pages as images with custom scale factor
+
+To synchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index, end page index, and scale factor as its parameter. The following code example describes exporting pages ranging between index 0 and 3 with the scale factor 2 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+// Accessing the PDF document that is added as embedded resource as stream.
+var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+// Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Synchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+// All the exported images are scaled 2 times larger than its original size
+Stream[] stream = pdfViewerControl.ExportAsImage(0,3, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+To Asynchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index, end page index, and scale factor as its parameter. The following code example describes exporting pages ranging between index 0 and 3 with the scale factor 2 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+// All the exported images are scaled 2 times larger than its original size
+Stream[] stream = await pdfViewerControl.ExportAsImageAsync(0,3, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/FreeText-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/FreeText-Annotation.md
new file mode 100644
index 000000000..15e1c5d11
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/FreeText-Annotation.md
@@ -0,0 +1,538 @@
+---
+layout: post
+title:  Freetext annotations in Xamarin.iOS PDF Viewer | Syncfusion
+description: Learn about free text annotations support in Syncfusion<sup>®</sup> Xamarin.iOS Pdf Viewer (SfPdfViewer) control and more details.
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with free text annotations
+
+PDF viewer allows you to include free text annotations in a PDF document and provides options to modify or remove the existing ones.
+
+## Adding free text annotations using toolbar
+
+### Enabling free text annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer to `FreeText`. After setting the annotation mode, tap any PDF page and a popup will appear. Zooming, panning and scrolling will be disabled. Type the text in the popup and click &#34;OK&#34; to add the typed text to the page. Zooming, panning, and scrolling will be enabled again if the free text annotation is added. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.FreeText;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling free text annotation mode
+
+Setting the annotation mode to `None` disables the free text mode.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of free text annotations
+
+The event `FreeTextAnnotationAdded` will be raised when a free text annotation is added to the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationAdded += PdfViewer_FreeTextAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding free text annotations programmatically
+
+By `AddAnnotation` method , You can add the free text annotations programmatically. The created free text annotation object passed as a parameter. The `FreeTextAnnotation` instance acquires the text, page number and bounds as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+string text = "Syncfusion";
+           
+//Creates the free text annotation
+FreeTextAnnotation freeTextAnnotation = new FreeTextAnnotation(text, 1, new Rectangle(100, 100, 100, 50));           
+
+//Add the free text annotation to the specified page 
+pdfViewer.AddAnnotation(freeTextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting tap on free text annotations
+
+Tapping a free text annotation selects it or deselects if it is already selected. The event `FreeTextAnnotationTapped` is raised when a free text is tapped.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationTapped += PdfViewer_FreeTextAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting free text annotations
+
+You can select a free text annotation by tapping it. When a free text is selected, the `FreeTextAnnotationSelected` event will be raised.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationSelected += PdfViewer_FreeTextAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+When the event is raised, the properties of the selected free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %} 
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Obtain the bounds of the annotation
+	CGRect bounds = args.Bounds;
+
+	//Obtain the text in the annotation
+	string text = args.Text;
+
+	//Obtain the size of the text in the annotation
+	float textSize = args.TextSize;
+
+	//Obtain the color of the text
+	UIColor textColor = args.TextColor;
+
+	//Obtain the page number in which the selected annotation is
+	int pageNumber = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting free text annotation programmatically
+
+By `SelectAnnotation` method, You can select the free text annotation programmatically. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified free text annotation
+pdfViewer.SelectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting free text annotations
+
+You can deselect a selected free text annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the `FreeTextAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationDeselected += PdfViewer_FreeTextAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting free text annotation programmatically?
+
+By `DeselectAnnotation` method, You can deselect the free text annotation. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified free text annotation 
+pdfViewer.DeselectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of free text annotations
+
+You can customize the default values of opacity, display text, text color, text size, maximum height, minimum height, maximum width, minimum width, minimum size, interaction (locked), and dialog of the free text annotations that are to be added. This will not affect the free text annotations that were already added.
+
+### Setting the default opacity
+
+You can set the default opacity for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.Opacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_Opacity) property. The opacity value ranges from 0 to 1. Refer to the following code example.
+ 
+{% tabs %} 
+{% highlight c# %}
+
+//Setting the opacity for the free text annotation 
+pdfViewer.AnnotationSettings.FreeText.Opacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text
+
+You can set the text for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.Text`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_Text) property. Refer to the following code example.
+ 
+{% tabs %} 
+{% highlight c# %}
+
+//Setting the text for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.Text = "Syncfusion";
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Setting the default text color
+
+You can set the color for the text assigned to the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.TextColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_TextColor) property. Refer to the following code example.
+ 
+{% tabs %} 
+{% highlight c# %}
+
+//Setting the text color for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.TextColor = UIColor.Black;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text size
+
+You can set the size for the text assigned to the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.TextSize`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_TextSize) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the text size for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.TextSize = 2;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default background-color
+
+You can set the background color for the free text annotations using the `SfPdfViewer.AnnotationSettings.FreeText.FillColor` property. The default value is set to `UIColor.Clear`.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the background color of the free text annotation
+
+pdfViewerControl.AnnotationSettings.FreeText.FillColor = UIColor.Blue;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.FreeText.MinimumSize` property, You can set the minimum size to which the free text annotations could be resized.
+ 
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the free text annotations
+pdfViewerControl.AnnotationSettings.FreeText.MinimumSize = new CGSize(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum height
+
+You can set the minimum height for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.MinimumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MinimumHeight) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the minimum height for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.MinimumHeight = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The [`MinimumHeight`]( https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MinimumHeight) property have been marked as obsolete. Use the `MinimumSize` property instead.
+
+### Setting the default minimum width
+
+You can set the minimum width for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.MinimumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MinimumWidth) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the minimum width for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.MinimumWidth = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The [`MinimumWidth`]( https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MinimumWidth) property have been marked as obsolete. Use the `MinimumSize` property instead.
+
+### Setting the default maximum height
+
+You can set the maximum height for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.MaximumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MaximumHeight) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the maximum height for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.MaximumHeight = 60;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default maximum width
+
+You can set the maximum width for the free text annotations by using the [`SfPdfViewer.AnnotationSettings.FreeText.MaximumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_MaximumWidth) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the maximum width for the free text annotation
+pdfViewer.AnnotationSettings.FreeText.MaximumWidth = 60;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the properties of a selected free text 
+
+You can change the properties of the selected annotation by casting the `sender` parameter of the `FreeTextAnnotationSelected` event handler to `FreeTextAnnotation` and modifying its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %} 
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationSelected += PdfViewer_FreeTextAnnotationSelected;
+changeFreeTextPropertiesButton.TouchUpInside += ChangeFreeTextPropertiesButton_TouchUpInside;
+FreeTextAnnotation selectedFreeTextAnnotation;
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to free text annotation
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void ChangeFreeTextPropertiesButton_TouchUpInside(object sender, EventArgs e)
+{
+	//Change the color of the text
+    selectedFreeTextAnnotation.Settings.TextColor = UIColor.Purple;
+
+    //Change the size of the text
+    selectedFreeTextAnnotation.Settings.TextSize = 6;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing free text annotations
+
+To move or resize the annotation, it should be selected. After the selector appears, tapping and dragging anywhere inside the selector will move the annotation. Tapping on the bubbles around the selector and dragging will resize the annotation.
+
+### Detecting the move or resize of a free text
+
+The event `FreeTextAnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationMovedOrResized += PdfViewer_FreeTextAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the moved or resized free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_FreeTextAnnotationMovedOrResized(object sender, FreeTextAnnotationMovedOrResizedEventArgs args)
+{
+	//Retrieve the old bounds of the annotation
+	CGRect oldBounds = args.OldBounds;
+
+	//Retrieve the new bounds of the annotation
+	CGRect newBounds = args.NewBounds;
+
+	//Retrieve the current page number
+	int pageNumber = args.PageNumber;
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting free text annotations
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document. 
+
+### Removing a selected free text annotation.
+
+The following code snippet illustrates removing a selected free text from the PDF document.
+{% tabs %}
+{% highlight c# %}
+
+FreeTextAnnotation selectedFreeTextAnnotation;
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to free text annotation.
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void deleteFreeTextAnnotationButton_Clicked(object sender, EventArgs e)
+{
+	//Delete the selected free text annotation
+	pdfViewer.RemoveAnnotation(selectedFreeTextAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all annotations
+
+The `ClearAllAnnotations` method can be used to delete all annotations irrespective of their types from the PDF. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ClearAllAnnotations();
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a free text
+
+The event `FreeTextAnnotationRemoved` will be raised when a free text annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.FreeTextAnnotationRemoved += PdfViewer_FreeTextAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_FreeTextAnnotationRemoved(object sender, FreeTextAnnotationRemovedEventArgs args)
+{
+	//Get the bounds 
+	CGRect bounds = args.Bounds;
+	//Get the page number on which the deselected free text is 
+	int pageNumber = args.PageNumber;
+	//Get the text of the free text annotation 
+	string text = args.Text;
+	//Get the text color 
+	UIColor textColor = args.TextColor;
+	//Get the text size 
+	float textSize = args.TextSize;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the free text dialog
+
+The free text dialog (for adding the free text annotation) can be enabled or disabled by setting the [`IsFreeTextDialogEnabled`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.FreeTextAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_FreeTextAnnotationSettings_IsFreeTextDialogEnabled) API to true or false respectively. The default value is set to true.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the free text dialog
+pdfViewer.AnnotationSettings.FreeText.IsFreeTextDialogEnabled = false;
+
+{% 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-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_FreeTextAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ FreeTextAnnotationAdded (object sender, FreeTextAnnotationAddedEventArgs args)
+{
+//Sets the name for the annotation.
+(sender as FreeTextAnnotation).Name = "FreeText1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_FreeTextAnnotationAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Getting-Started.md
new file mode 100644
index 000000000..3d9b5d7dc
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Getting-Started.md
@@ -0,0 +1,499 @@
+---
+layout: post
+title:  View & review PDF using PDF Viewer Xamarin.iOS | Syncfusion
+description: Getting started section demonstrates how to create an application that displays a PDF file using Xamarin.iOS PDF Viewer
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting started about PDF viewer
+
+This section demonstrates how to create an application that displays a PDF file using SfPdfViewer control.
+
+## Assembly Required
+
+After installing Essential Studio<sup>®</sup> for Xamarin, you can find all the required assemblies in the installation folders,
+
+{Syncfusion Essential Studio Installed location}\Essential Studio\{Essential Studio version}\Xamarin\lib\ios-unified\
+
+Example: C:\Program Files (x86)\Syncfusion\Essential Studio\15.3.0.28\Xamarin\lib\ios-unified\
+
+For creating a PDF Viewer for iOS, the following assemblies need to be referenced in your iOS project.
+
+<table>
+<tr>
+<th>Project</th>
+<th>Required assemblies</th>
+</tr>
+<tr>
+<td>Xamarin.iOS</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.iOS.dll<br/>Syncfusion.SfBusyIndicator.iOS.dll<br/>Syncfusion.SfRangeSlider.iOS.dll<br/>Syncfusion.SfProgressBar.iOS.dll<br/>Syncfusion.SfComboBox.iOS.dll<br/></td>
+</tr>
+</table>
+
+N> Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, you also have to include a license key in your projects. Please refer to [this link](https://help.syncfusion.com/common/essential-studio/licensing/license-key) to know about registering Syncfusion license key in your Xamarin.iOS application to use our components.
+
+## Create a simple PDF Viewer
+
+Create a blank iOS application in Xamarin Studio and name it as "GettingStartediOS". Add references to the above-mentioned assemblies in the project. 
+
+Add a new folder named “Assets” to the project. Place the PDF document you need to display in the folder and set the PDF’s build action property to "Embedded Resource". Here GIS Succinctly.pdf file is used. 
+
+Add a new ViewController to the project with the name “MainViewController”. In the FinishedLaunching method of AppDelegate.cs file, set the RootViewController property of the UIWindow to the added ViewController using the following code snippet. 
+
+{% tabs %}
+{% highlight c# %}
+
+Window.RootViewController = new MainViewController();
+
+{% endhighlight %}
+{% endtabs %}
+
+Please add the following code snippet In the MainViewController class
+
+* In the MainViewController.cs file instantiate the SfPdfViewer in the override method ViewDidLoad
+* Add the instance to the MainViewController’s View as a SubView. 
+* Load the stream of the PDF to SfPdfViewer in the override method ViewDidAppear. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+    public override void ViewDidLoad()
+    {
+        base.ViewDidLoad();
+        pdfViewerControl = new SfPdfViewer();
+        this.View.AddSubview(pdfViewerControl);
+    }
+
+    public override void ViewDidAppear(bool animated)
+    {
+        base.ViewDidAppear(animated);
+        var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+        pdfViewerControl.LoadDocument(fileStream);
+    }
+
+{% endhighlight %}
+{% endtabs %}
+
+Deploying this project in an iOS device would display the PDF document and allow you to scroll and zoom through the pages.
+
+## Loading a PDF from an URL
+
+PDF documents can be loaded from a given URL into the PdfViewer by downloading the PDF and then loading the stream of the downloaded file into the PdfViewer. In the following code sample, the `HttpClient.GetAsync( )` method sends a GET request to the specified Uri as an asynchronous operation and the `HttpContent.ReadAsStreamAsync( )` method will serialize the HTTP content and returns a stream that represents the content as an asynchronous operation. Finally, the obtained stream is passed to the `LoadDocument( )` method of SfPdfViewer.
+
+{% tabs %}
+{% highlight c# %}
+
+HttpClient httpClient = new HttpClient();
+HttpResponseMessage response = await httpClient.GetAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/GIS_Succinctly1774404643.pdf");
+Stream pdfStream = await response.Content.ReadAsStreamAsync();
+pdfViewerControl.LoadDocument(pdfStream);
+
+{% endhighlight %}
+{% endtabs %}
+
+The sample that illustrates loading a PDF from an URL can be downloaded from the link below,
+ 
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/LoadPDFFromURL-NativeIOS1584020980.zip> 
+
+N> An Internet connection is necessary to get the stream from an URL. Please ensure that the device has a proper internet connection before running the sample application.
+
+## Unloading PDF document from the Viewer
+
+The SfPdfViewer control allows you to unload the PDF document from the viewer, when the PDF document is not in use anymore. This releases the PDF document and all its associated resources of the application.
+
+You need to call the Unload method of SfPdfViewer control as in the below code snippet to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.Unload();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get & set the current page number?
+
+PageChanged event of the PDF viewer can be used to track the change in the current page being displayed in the PDF viewer. 
+
+This below code snippet demonstrates how to track the current page number being viewed using PageChanged event and how to navigate to the respective page in the PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+UITextField pageNumberField;
+
+        public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+            pageNumberField = new UITextField();
+            pageNumberField.Text = "1";
+            pageNumberField.BorderStyle = UITextBorderStyle.Line;
+            pageNumberField.Frame = new CGRect(0, 20, 100, 50);
+            pageNumberField.TextAlignment = UITextAlignment.Center;
+            pageNumberField.ShouldReturn += (textField) =>
+            {
+                int input = 0;
+                if (int.TryParse(pageNumberField.Text, out input) && input > 0 && (input <= pdfViewerControl.PageCount))
+                {
+                    pdfViewerControl.GoToPage(input);
+                    pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+                }
+                return true;
+            };
+                this.View.AddSubview(pageNumberField);
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 70, this.View.Frame.Width, this.View.Frame.Height - 30);
+            pdfViewerControl.PageChanged += PdfViewerControl_PageChanged;
+            this.View.AddSubview(pdfViewerControl);
+        }
+
+        private void PdfViewerControl_PageChanged(object sender, PageChangedEventArgs args)
+        {
+            pageNumberField.Text = args.PageNumber.ToString();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+N>When a page number which is not in the bounds (1 – page count) is provided as an input to the GoToPage method, no action will be performed. 
+
+## How to get & set the current page number?
+
+PageChanged event of the PDF viewer can be used to track the change in the current page being displayed in the PDF viewer. 
+
+This below code snippet demonstrates how to track the current page number being viewed using PageChanged event and how to navigate to the respective page in the PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+UITextField pageNumberField;
+
+public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+            pageNumberField = new UITextField();
+            pageNumberField.Text = "1";
+            pageNumberField.BorderStyle = UITextBorderStyle.Line;
+            pageNumberField.Frame = new CGRect(0, 20, 100, 50);
+            pageNumberField.TextAlignment = UITextAlignment.Center;
+            pageNumberField.ShouldReturn += (textField) =>
+            {
+                int input = 0;
+                if (int.TryParse(pageNumberField.Text, out input) && input > 0 && (input <= pdfViewerControl.PageCount))
+                {
+                    pdfViewerControl.GoToPage(input);
+                    pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+                }
+                return true;
+            };
+                this.View.AddSubview(pageNumberField);
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 70, this.View.Frame.Width, this.View.Frame.Height - 30);
+            pdfViewerControl.PageChanged += PdfViewerControl_PageChanged;
+            this.View.AddSubview(pdfViewerControl);
+        }
+
+        private void PdfViewerControl_PageChanged(object sender, PageChangedEventArgs args)
+        {
+            pageNumberField.Text = args.PageNumber.ToString();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+N>When a page number which is not in the bounds (1 – page count) is provided as an input to the GoToPage method, no action will be performed. 
+
+## How to dispose the managed resources of SfPdfViewer
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html) control allows you to dispose the managed resources which are associated with the viewer. You need to call the `Dispose` method of the [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) control as shown in the following code sample to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disposes all the managed resources of SfPdfViewer
+pdfViewer.Dispose();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to clear the undo and redo stack
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html) control allows you to clear the undo and redo stacks that contain the changes that are made to the annotations in the PDF document, by calling the `ClearUndoRedoStack` API. When this method is called, the `CanUndo` and `CanRedo` properties will be set to `false`.
+
+{% tabs %}
+{% highlight c# %}
+
+//To clear the undo and redo stack 
+pdfViewer.ClearUndoRedoStack();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the total page number?
+
+PageCount property of the PDF viewer can be used to acquire the total number of pages in the PDF document that is currently loaded. The PageCount property of the PDF viewer will be updated only after loading the PDF document, it can be tracked using DocumentLoaded event of the PDF viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+		UILabel pageCountLabel;
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 70, this.View.Frame.Width, this.View.Frame.Height - 30);
+            pdfViewerControl.DocumentLoaded += PdfViewerControl_DocumentLoaded;
+            pageCountLabel = new UILabel();
+            pageCountLabel.Frame = new CGRect(120, 5, 40, 40);
+            pageCountLabel.TextAlignment = UITextAlignment.Center;
+            this.View.AddSubview(pdfViewerControl);
+            this.View.AddSubview(pageCountLabel);
+        }
+
+        private void PdfViewerControl_DocumentLoaded(object sender, EventArgs args)
+        {
+            pageCountLabel.Text = pdfViewerControl.PageCount.ToString();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+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.
+  .
+Refer the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Gets the list annotations present in the PDF
+var annotations = pdfViewer.Annotations;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The list remains empty if the PDF does not have any pre-existing annotations.
+
+## Rendering the appearance content of annotations
+
+By default, the PDF Viewer does not render the appearance content of annotations. But the appearance can be rendered by flattening the annotations before loading the PDF. This can be achieved by setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) API to true. The default value of the API is set to false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the annotations should be flattened when the PDF is loaded or not.
+pdfViewerControl.AnnotationSettings.Flatten = true;
+
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Annotations are only flattened when the page displayed in the viewer is only for viewing the appearance of annotations. Once the annotations are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) property to `true` will does not affect the save and annotation export operations. The annotations will not be flattened in these operations.
+
+## Designing a toolbar
+
+This section depicts how to design a toolbar for the PDF viewer and include functionalities such as page navigation options. This simple toolbar consists of options such as current page number, total page count in the PDF document, go to previous page and go to next page.
+
+In MainViewController.cs, add the below code snippet which contains the implementation for the following operations
+
+* Access & display the current page number being displayed and navigate to the specified page.
+* Display the total number of pages
+* Navigate to the previous page
+* Navigate to the next page
+
+{% tabs %}
+{% highlight c# %}
+
+        SfPdfViewer pdfViewerControl;
+        private const float DefaultToolbarHeight = 50f;
+
+        private UIView parentView;
+        private UIView toolbar;
+        UITextField pageNumberField = new UITextField();
+        UILabel totalPageLabel = new UILabel();
+        UIButton previousPageButton = new UIButton();
+        UIButton nextPageButton = new UIButton();
+        UIToolbar toolBar = new UIToolbar();
+        
+
+        public override void DidReceiveMemoryWarning()
+        {
+            base.DidReceiveMemoryWarning();
+
+            // Release any cached data, images, etc that aren't in use.
+        }
+
+        public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+            parentView = new UIView(this.View.Frame);
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.PageChanged += PdfViewerControl_PageChanged;
+            pageNumberField.Text = "1";
+            toolbar = createTopToolbar();
+            parentView.AddSubview(pdfViewerControl);
+            this.View.AddSubview(parentView);
+            this.View.AddSubview(toolbar);
+
+        }
+
+        protected virtual UIView createTopToolbar()
+        {
+            var toolBarFrame = new CGRect();
+            toolBarFrame = this.View.Frame;
+            toolBarFrame.Height = DefaultToolbarHeight;
+            toolBarFrame.Y = 20;
+            toolBar.Frame = toolBarFrame;
+
+            toolBar.AutoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleWidth;
+
+            pageNumberField.ShouldReturn += (textField) =>
+            {
+                textField.ResignFirstResponder();
+                int input = 0;
+                if (int.TryParse(pageNumberField.Text, out input) && input > 0 && (input <= pdfViewerControl.PageCount))
+                {
+                    pdfViewerControl.GoToPage(input);
+                }
+                pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+                return true;
+            };
+
+            pageNumberField.BorderStyle = UITextBorderStyle.RoundedRect;
+            pageNumberField.Frame = new CGRect(65, 5, 45, 40);
+            pageNumberField.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            pageNumberField.TextAlignment = UITextAlignment.Center;
+            toolBar.Add(pageNumberField);
+
+
+            totalPageLabel.Frame = new CGRect(120, 5, 40, 40);
+            toolBar.Add(totalPageLabel);
+
+            nextPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            nextPageButton.Frame = new CGRect(175, 5, 40, 40);
+            nextPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            nextPageButton.TouchUpInside += NextPageButton_TouchUpInside1;
+            nextPageButton.SetBackgroundImage(UIImage.FromFile("PageDown.png"), UIControlState.Normal);
+            toolBar.Add(nextPageButton);
+
+            previousPageButton.Frame = new CGRect(230, 5, 40, 40);
+            previousPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            previousPageButton.TouchUpInside += PreviousPageButton_TouchUpInside1; ;
+            previousPageButton.SetBackgroundImage(UIImage.FromFile("PageUp.png"), UIControlState.Normal);
+            toolBar.Add(previousPageButton);
+            return toolBar;
+        }
+
+        private void PreviousPageButton_TouchUpInside1(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToPreviousPage();
+        }
+
+        private void NextPageButton_TouchUpInside1(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToNextPage();
+        }
+
+        private void PdfViewerControl_PageChanged(object sender, PageChangedEventArgs args)
+        {
+            pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+        }
+        private void NextPageButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToNextPage();
+        }
+
+        private void PreviousPageButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToPreviousPage();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+            totalPageLabel.Text = "/ " + pdfViewerControl.PageCount.ToString();
+        }
+
+        public override void ViewDidLayoutSubviews()
+        {
+            base.ViewDidLayoutSubviews();
+            parentView.Frame = new CGRect(this.View.Frame.X, DefaultToolbarHeight + 20, this.View.Frame.Width, this.View.Frame.Height - DefaultToolbarHeight - 20);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+The final output will look as like in the below screenshot.
+
+![PDF Viewer with custom toolbar](pdfviewer_images/gettingstarted.png)
+
+This demo can be downloaded from the below link.
+
+http://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStartediOS389189742
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Handwritten-Signature.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Handwritten-Signature.md
new file mode 100644
index 000000000..812ccce09
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Handwritten-Signature.md
@@ -0,0 +1,264 @@
+---
+layout: post
+title:  Handwritten signature in Xamarin.iOS PDF Viewer | Syncfusion
+description: Learn about handwritten signatures support in Syncfusion<sup>®</sup> Xamarin.iOS Pdf Viewer (SfPdfViewer) control and more details.
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with handwritten signatures
+
+PDF viewer allows you to include handwritten signatures in PDF documents and provides options to modify or remove the existing ones.
+
+## Adding handwritten signatures using toolbar
+
+### Enabling handwritten signature mode
+
+Set the `AnnotationMode` property of the PDF viewer instance to `HandwrittenSignature`. After setting the signature mode the signature pad would appear on which the signature can be drawn. After drawing the signature, the `Done` button should be tapped to add the drawn signature to the PDF, you can use clear button to redraw the signature or close button to cancel signing.
+
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.HandwrittenSignature;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling handwritten signature mode
+
+Setting the `AnnotationMode` to `None` will disable the signature mode and would hide the signature pad.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding handwritten signature programmatically
+
+By `AddAnnotation` method, You can add the handwritten signatures programmatically. The created handwritten signature object passed as a parameter. The `HandwrittenSignature` instance acquires the InkPointsCollection, page number and position as the parameters.
+
+The following code sample illustrates the adding of handwritten signature programmatically. 
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+
+System.Drawing.Point position = new System.Drawing.Point(100, 100);
+HandwrittenSignature signature = new HandwrittenSignature(inkPointsCollection, 1, position);
+signature.Settings.Color = Color.Red;           
+
+//Adds the  handwritten signature to the specified page 
+pdfViewer.AddAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select handwritten signature programmatically
+
+By `SelectAnnotation` method, You can select the handwritten signature programmatically. The specified handwritten signature object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified handwritten signature 
+pdfViewer.SelectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect handwritten signature programmatically
+
+By `DeselectAnnotation` method, You can deselect the handwritten signature programmatically .The specified handwritten signature object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified handwritten signature
+pdfViewer.DeselectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of handwritten signatures
+
+You can customize the default values such as stroke color, opacity, and thickness of all signatures to be added. This will not affect the already added signatures.
+
+### Setting the default stroke color
+
+You can set the default stroke color of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Color` property. Refer to the following code. 
+
+{% tabs %} 
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Color = UIColor.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default opacity
+
+You can set the default opacity of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default thickness
+
+You can set the thickness of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize` property, You can set the minimum size to which the handwritten signatures could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the handwritten signatures
+pdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize = new CGSize(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Similarity with Ink annotations
+
+The handwritten signatures are preserved as ink annotations in PdfViewer. However, on saving you can choose whether to preserve the signature as ink annotation or flatten it. This can be achieved using the `pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave` property.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default value of the property is `true`.
+
+### Events
+
+Since the handwritten signature is preserved as ink annotation, the events for both handwritten signatures and ink annotations are same. The events supported by ink annotations are described in detail [here](https://help.syncfusion.com/xamarin-ios/sfpdfviewer/ink). 
+
+When the common events occur, ink annotation and handwritten signature can be distinguished using the event argument's `IsChildSignature` property. Also, the `sender` parameter will be of type `InkAnnotation` and `HandwrittenSignature` for the respective annotations. For brevity, only the `InkSelected` event is illustrated below. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.InkSelected += PdfViewer_InkSelected;
+
+private void PdfViewer_InkSelected(object sender, Syncfusion.SfPdfViewer.iOS.InkSelectedEventArgs args)
+{
+	if(args.IsSignature)
+	{
+		//The event occurred was raised by handwritten signature
+		//The "sender" parameter is of type "HandwrittenSignature"
+	}
+	else
+	{
+		//The event occurred was raised by ink annotation
+		//The "sender" parameter is of type "InkAnnotation"
+	}
+}
+
+{% 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-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is HandwrittenSignature)
+    {
+     (sender as HandwrittenSignature).Name = "HandwrittenSignature1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Hyperlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Hyperlink.md
new file mode 100644
index 000000000..fc3292e7b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Hyperlink.md
@@ -0,0 +1,66 @@
+---
+layout: post
+title:  Hyperlink navigation in PDF viewer Xamarin.iOS | Syncfusion
+description: Hyperlink navigation support in PDF Viewer Xamarin.iOS detects hyperlinks present in PDF and on tapping it, will open the URL in the browser.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Hyperlink navigation
+
+PDF viewer supports hyperlink navigation that detects hyperlinks and tapping on the hyperlink will open the URL in the browser.
+
+
+## How to disable hyperlink navigation in PDF document using PDF viewer control?
+
+You can disable the hyperlink navigation by setting the “AllowHyperlinkNavigation” property of PDF viewer to false. By default, hyperlink navigation is enabled in PDF viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+	pdfViewerControl.AllowHyperlinkNavigation = false;
+	totalPageLabel.Text = "/ " + pdfViewerControl.PageCount.ToString();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire the properties of clicked URI from PDF viewer?
+
+You can acquire the details of the hyperlink that is tapped in the PDF viewer control from the HyperlinkClickedEventArgs and HyperlinkClicked event. Refer to the following code snippet for more details.
+
+{% tabs %}
+{% highlight c# %}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+	pdfViewerControl.HyperlinkClicked += PdfViewerControl_HyperlinkClicked;
+	totalPageLabel.Text = "/ " + pdfViewerControl.PageCount.ToString();
+}
+
+private void PdfViewerControl_HyperlinkClicked(object sender, HyperlinkClickedEventArgs args)
+{ 
+	// Gets or sets a value indicating whether the hyperlink navigation was handled.
+	args.Handled = false;
+
+	// Gets the hyperlink being clicked.
+	string uri = args.Uri;
+
+	// Gets the current page index of the hyperlink.
+	int pageIndex = args.PageIndex;
+
+	//Gets the bounds of the hyperlink is being clicked.
+	Rectangle hyperlinkBound = args.Bounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Importing-and-exporting-data.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Importing-and-exporting-data.md
new file mode 100644
index 000000000..04cd8f85e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Importing-and-exporting-data.md
@@ -0,0 +1,102 @@
+---
+layout: post
+title: Importing and exporting data | Syncfusion
+description: Learn about importing and exporting data support in Syncfusion<sup>®</sup> Xamarin.iOS Pdf Viewer (SfPdfViewer) control and more details. 
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Importing and exporting data
+
+PDF Viewer provides options to import and export data like form fields and annotations in the PDF document.
+
+## Importing and exporting form data
+
+The import and export of form data supports the following extensions.
+
+* fdf
+* xfdf
+* json
+* xml
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting form data 
+
+The `ExportFormData` method exports the current data filled in the form fields into a stream in the specified file format. The name of the PDF (with extension) from which the data are exported should be given as the second argument to the method.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export form data to "fdf" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportFormData(DataFormat.Fdf, "PdfFileName.fdf");
+
+{% endhighlight %}
+{% endtabs %}
+
+N>While saving the stream returned by the `ExportFormData` method, the file name must have the same extension as the file type that was given as the first argument. For example, in the above case the file type provided is `fdf`, so the saved file extension should be `.fdf`.
+
+### Importing form data
+
+The `ImportFormData` method imports the data from a file of specified type and fills the saved data into the form fields.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import form data from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportFormData(fdfStreamToImport, DataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Importing and exporting annotations
+
+The import and export of annotations support following extensions.
+
+* fdf
+* xfdf
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting annotations
+
+The `ExportAnnotations` method exports the current annotations added to the document into a stream in the specified file format.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+A selective list of annotations can also be exported in the specified file format using the `ExportAnnotations` overload method . The annotations list needs to be exported, and the data format should be passed as method arguments. The following code example explains exporting the list of annotations present only on the first page.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the list of annotations present on the first page
+List<IAnnotation> firstPageAnnotations = pdfViewerControl.Annotations.Where(annotation => annotation.PageNumber == 1).ToList();
+
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(firstPageAnnotations, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Importing annotations
+
+The `ImportAnnotations` method imports the annotations from the file of specified type and fills the saved annotations into the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import annotations from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportAnnotations(fdfStreamToImport, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Ink.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Ink.md
new file mode 100644
index 000000000..f35697216
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Ink.md
@@ -0,0 +1,655 @@
+---
+layout: post
+title:  Add freehand scribble in PDF using Syncfusion PDF Viewer iOS
+description: PDF viewer Xamarin.iOS allows user to add ink annotation and provides options to edit or remove an existing ink annotation in the PDF file.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with ink annotation
+
+PDF viewer allows you to include ink annotation in the PDF document and provides options to edit or remove the existing ink annotation in the PDF document.
+
+## Inclusion of ink annotation
+
+This section describes how to include ink annotation in PDF viewer control Xamarin.iOS.
+
+### Enabling ink annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer object to ink to enable the ink annotation. By setting this, zooming and scrolling will be disabled and touch interactions will be converted into inks on the PDF pages. Refer to the following code. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+{% endhighlight %}
+{% endtabs %}
+
+Use the following code to reset the annotation mode to none. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding ink annotation using toolbar
+
+Steps involved in adding ink annotation to the PDF document:
+
+1.	Switch to ink annotation mode.
+2.	Add inks to the pages of the PDF document, this will be recorded as a session.
+3.	You can perform undo and redo operations for every stroke made in the session.
+4.	You can also choose the color and thickness of the ink, here color and thickness are restricted to the complete ink and not individual strokes.
+5.	After adding ink annotation, you can either accept or discard the changes.
+
+### How to accept and include the ink annotation on to the PDF viewer?
+
+The following code can be used to accept and include the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to ignore/discard drawn ink annotation from the PDF viewer before inclusion?
+
+The following code can be used to ignore or discard the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(false);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to identify whether the ink annotation is included?
+
+You can identify whether the drawn ink annotation has been added to the PDF viewer control or not by using the `InkAdded` event. This event will be raised once the annotation is added. 
+
+{% tabs %}
+{% highlight c# %}
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkAdded`+= pdfViewer_InkAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewer_InkAdded(object sender, InkAddedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding ink annotation programmatically
+
+By `AddAnnotation` method, You can add the ink annotations programmatically. The created ink annotation object passed as a parameter. The `InkAnnotation` instance acquires the InkPointsCollection, page number and position as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+
+System.Drawing.Point position = new System.Drawing.Point(100, 100);
+InkAnnotation inkAnnotation = new InkAnnotation(inkPointsCollection, 1, position);
+inkAnnotation.Settings.Color = Color.Red;     
+      
+//Adds the ink annotation to the specified page 
+pdfViewer.AddAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to perform undo and redo operation during inking session?
+
+You can perform undo and redo operations on the drawn ink annotations during the pre-conformance session. 
+
+The following code can be used to perform undo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.UndoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the undo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.CanUndoInkModified += PdfViewer_CanUndoInkModified;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanUndoInkModified(object sender, CanUndoInkModifiedEventArgs args)
+{
+    bool canUndoInk = args.CanUndoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code can be used to perform redo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.RedoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the redo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.CanRedoInkModified += PdfViewer_CanRedoInkModified;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanRedoInkModified(object sender, CanRedoInkModifiedEventArgs args)
+{
+   bool CanRedoInk = args.CanRedoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting ink annotation
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document. 
+
+### Removing a selected annotation.
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkSelected	+= PdfViewer_InkSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+
+private void PdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+
+    //Removes the selected annotation from the PDF viewer.
+    pdfViewer.RemoveAnnotation(selectedInkAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to identify the removal of ink annotation?
+
+You can identify removal of ink annotation using the `InkRemoved` event, which is available in the PDF viewer control. This event will be raised when you remove the ink annotation from the PDF viewer control.
+
+The following C# code shows how to acquire bounds, page number, color, thickness, and opacity of the removed ink annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkRemoved+=PdfViewer_InkRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkRemoved(object sender, InkRemovedEventArgs args)
+{
+
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Working with ink annotation settings
+
+You can customize the color, opacity, and thickness of the ink annotation.
+
+### Changing the color
+
+You can set the color of the ink annotation by using the `AnnotationSettings.Ink.Color` property. Refer to the following code sample. 
+ 
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Color = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Changing the opacity
+
+You can set the opacity of the ink annotation by using the `AnnotationSettings.Ink.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the thickness
+
+You can set the thickness of the ink annotation by using the `AnnotationSettings.Ink.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+pdfViewer.AnnotationSettings.Ink.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the minimum size
+
+By the `AnnotationSettings.Ink.MinimumSize` property, You can set the minimum size to which the ink annotations could be resized. 
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the ink annotations
+pdfViewer.AnnotationSettings.Ink.MinimumSize = new CGSize(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to select the ink annotation?
+
+You can select the ink annotation by tapping the annotation. 
+
+### Select the ink annotation programmatically
+
+By `SelectAnnotation` method, You can select the ink annotation programmatically. The specified ink annotation object passed as a parameter. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified ink annotation
+pdfViewer.SelectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+### How to change the properties of ink annotation after selection?
+
+You can select and change the properties of the ink annotation using the `InkSelected` event. This event will be raised when you select the ink annotation. This is illustrated in the following code sample. 
+
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkSelected += PdfViewer_InkSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can change the properties of the selected annotation using the `InkSelectedEventArgs` object.  The following code shows how to change the properties of the selected annotation in the `InkSelectedEventHandler`.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+
+    //Sets the color of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Color = Color.Blue;
+
+    //Sets the opacity of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Opacity = 0.3f;
+
+    //Sets the thickness of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Thickness = 3;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify whether the ink annotation is tapped or not using the`InkTapped` event. This event will be triggered if you tap the ink annotation whether to select or deselect the annotation. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkTapped += PdfViewer_InkTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkTapped(object sender, InkTappedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to deselect the ink annotation?
+
+You can deselect the ink annotation by tapping on the selected annotation or on the PDF page. Deselection can be identified using the `InkDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.InkDeselected += PdfViewer_InkDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to identify the deselected annotation from the raised event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkDeselected(object sender, InkDeselectedEventArgs args)
+{ 
+   //Retrieves the bounds of the deselected annotation.
+   Rectangle bounds = args.Bounds;
+
+   //Retrieves the page number where the deselected annotation resides.
+   int page = args.PageNumber;
+
+   //Retrieves the color of the deselected annotation.
+   Color color = args.Color;
+
+   //Retrieves the thickness of the deselected annotation.
+   float thickness = args.Thickness;
+
+   //Retrieves the opacity of the deselected annotation.
+   float opacity = args.Opacity;
+ 
+ }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect the ink annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the ink annotation programmatically. The specified ink annotation object passed as a parameter. 
+
+The following code Sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified ink annotation
+pdfViewer.DeselectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## How to move or resize the selected ink annotation?
+
+Select and drag the annotation to move or resize the ink annotation. 
+
+### How to identify whether the ink annotation is moved or resized?
+
+The event `AnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMovedOrResized += PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args) 
+{
+     //Retrieves the old bounds of the annotation
+     Rectangle oldBounds = args.OldBounds;
+
+     //Retrieves the new bounds of the annotation
+     Rectangle newBounds = args.NewBounds;
+}
+
+{% 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 draw the ink annotation using a stylus and scroll or zoom PDF page with the touch
+
+The ink annotation operation can be customized so that the ink strokes can be added only using a stylus by setting the `InkAnnotationSettings.TouchMode` API to `TouchMode.Stylus`. When the `TouchMode` is set to stylus, the PDF can be zoomed and scrolled using a finger. The default value of the `TouchMode` property is `TouchMode.Direct` in which all touch interactions will be considered as ink operations. So in the `TouchMode.Direct` mode, the page cannot be scrolled or zoomed when the ink annotation mode is on.
+
+{% tabs %}
+{% highlight c# %}
+
+//TouchMode is set to Stylus
+pdfViewerControl.AnnotationSettings.Ink.TouchMode = TouchMode.Stylus;
+
+{% 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. 
+
+When the ink session ends after drawing the strokes, the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event will be raised. The [InkAnnotation](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.InkAnnotation.html) instance that is drawn on the page is exposed as sender argument of the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event. We can get the Ink points which we drew on the page from [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.InkAnnotation.html#Syncfusion_SfPdfViewer_iOS_InkAnnotation_InkPointsCollection). The [InkPointsCollection](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.InkAnnotation.html#Syncfusion_SfPdfViewer_iOS_InkAnnotation_InkPointsCollection) is of a type List<List<float>>. Each List<float> in this collection represents each stroke of the Ink annotation we drew. There are as many List<float> instances in the [InkPointsCollection](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.InkAnnotation.html#Syncfusion_SfPdfViewer_iOS_InkAnnotation_InkPointsCollection) as the number of strokes in the Ink annotation.
+
+The List<float> in turn, has the series of alternate X and Y coordinates of the ink stroke. i.e. the values at the odd position are X coordinates and at the even position are Y coordinates.
+
+We can modify or add new stroke points in the [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.InkAnnotation.html#Syncfusion_SfPdfViewer_iOS_InkAnnotation_InkPointsCollection). As soon as the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event handler completes execution, the modified points will be reflected in the ink annotation on the UI.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args) 
+{     
+     InkAnnotation inkAnnotation = sender as InkAnnotation;         
+ 
+     List<List<float>> drawnPoints = inkAnnotation.InkPointsCollection; 
+ 
+     //Modify the drawn ink points 
+     List<List<float>> modifiedPoints = PerformModification(drawnPoints); 
+ 
+     inkAnnotation.InkPointsCollection = modifiedPoints; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The strokes cannot be smoothened when the user is drawing the strokes as the points are still being recorded. They can be smoothened only after the user confirms the end of the ink session. 
+
+## How to get and set the name of the ink annotations?
+
+The PDF Viewer allows the users to get and set the name of ink annotations through the [Name](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is InkAnnotation)
+    {
+    (sender as InkAnnotation).Name = "Ink1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_InkAdded) event. But this can be done in all other events as well.
+
+## How to change properties of each ink stroke separately
+
+By default, when the ink annotation is drawn, all strokes that are drawn in the ink annotation mode before clicking the done button will be considered as a single ink annotation. All these strokes will be selected and their properties changed as a whole since they represent a single ink annotation. 
+
+You can change the properties of each ink stoke separately by setting the `SfPdfViewer.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke` API to `true`.
+
+The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke = true;
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Loading-password-protected-PDFs.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Loading-password-protected-PDFs.md
new file mode 100644
index 000000000..074c51b48
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Loading-password-protected-PDFs.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title: Loading encrypted PDFs using SfPdfViewer in Xamarin.iOS | Syncfusion
+description: PDF Viewer allows the user to load and view the password protected PDF documents | Xamarin.iOS | Syncfusion<sup>®</sup>
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: ug
+---
+
+# Loading password protected PDFs
+
+Password protected PDFs can be loaded using the `LoadDocument(Stream pdfStream, string password)` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+string password = "PASSWORD";
+pdfViewerControl.LoadDocument(pdfStream, password);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code snippet, `pdfStream` is the Stream instance read from the encrypted PDF and `password` is the key with which the PDF is encrypted. 
+
+## Handling invalid passwords
+
+If the password provided with the `LoadDocument(Stream pdfStream, string password)` is invalid, then the `PasswordErrorOccurred` event is raised. The `Title` property of the `PasswordErrorOccurredEventArgs` parameter helps identify whether the event raised due to invalid password. In that case the `Title` property will read "Error loading encrypted PDF document". 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PasswordErrorOccurred += PdfViewerControl_PasswordErrorOccurred;
+private void PdfViewerControl_PasswordErrorOccurred(object sender, PasswordErrorOccurredEventArgs args)
+{
+	//Get the details regarding the password error occurred. 
+    string title = args.Title;
+    string description = args.Description;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The event will also be raised when an encrypted PDF is loaded without providing a password using the `LoadDocument(Stream pdfStream)` overload.        
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Localization.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Localization.md
new file mode 100644
index 000000000..4d49f9b48
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Localization.md
@@ -0,0 +1,217 @@
+---
+layout: post
+title: Localization in Xamarin.iOS PDF viewer | Syncfusion
+description: Set localized text for the static texts used in Syncfusion<sup>®</sup> Xamarin.iOS PDF viewer Control, its elements, and more.
+platform: xamarin.ios
+control: SfPdfViewer
+documentation: UG
+---
+
+# Localization in Xamarin.iOS PDF viewer
+
+Localization is the process of configuring the application to a specific language. PdfViewerControl supports to localize its static text.
+
+SfPdfViewer uses the following static text that can be localized in application level:
+
+<table>
+
+<tr>
+<th>Keyword</th>
+<th>Text(English)</th>
+</tr>
+
+<tr>
+<td>sfpdfviewer_copy</td>
+<td>Copy</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_highlight</td>
+<td>Highlight</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_underline</td>
+<td>Underline</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_strikeout</td>
+<td>Strikeout</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_continuouspagemode</td>
+<td>Continuous Pages</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_singlepagemode</td>
+<td>Page By Page</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_done</td>
+<td>Done</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_Ok</td>
+<td>OK</td>
+</tr>
+
+<tr>
+<td>sfpdfViewer_signaturepad_title</td>
+<td>Create Signature</td>
+</tr>
+
+<tr>
+<td>sfpdfViewer_signaturepad_cancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>sfpdfViewer_signaturepad_clear</td>
+<td>Clear</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_signaturepad_done</td>
+<td>Done</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_bookmarks_title</td>
+<td>Bookmark</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_no_bookmarks_text</td>
+<td>No Bookmark</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_pagenavigationalert_title</td>
+<td>Go to page</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_pagenavigationalert_message</td>
+<td>Enter page Number</td>
+</tr>
+
+<tr>
+<td>sfpdfviewersearchplaceholdertext</td>
+<td>Enter text to search</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_searchresult_title</td>
+<td>Search Result</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_searchresult_nomatch</td>
+<td>No matches were found</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_searchresult_nomoreoccurrence</td>
+<td>No more matches were found</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_passwordalert_title</td>
+<td>Enter Password</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_passwordalert_message</td>
+<td>Enter the password to open this PDF File</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_passwordalert_errorText</td>
+<td>Invalid Password</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_passwordalert_placeholder</td>
+<td>Password</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_printalert_title</td>
+<td>Error</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_printalert_message</td>
+<td>Password protected document cannot be printed</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_printalert_ok</td>
+<td>OK</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_undo</td>
+<td>Undo</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_redo</td>
+<td>Redo</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_save</td>
+<td>Save</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_print</td>
+<td>Print</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_scaleratio</td>
+<td>Scale Ratio</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_hyperlink_title</td>
+<td>Open Web Page</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_hyperlink_open</td>
+<td>Open</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_hyperlink_message</td>
+<td>Do you want to open the page</td>
+</tr>
+
+<tr>
+<td>sfpdfviewer_hyperlink_cancel</td>
+<td>Cancel</td>
+</tr>
+
+</table>
+
+To localize the SfPdfViewer, follow the steps in application level:
+
+Create Localizable.strings in resource file in iOS.
+
+Location- ProjectName.iOS/Resources/fr-FR.lproj/Localizable.strings
+
+![SfPdfViewer](pdfviewer_images/iosresources.png)
+
+In below screenshot we have localized the text in PDF Viewer in Xamarin.iOS from English to French language.
+
+![PDF Viewer with localized text](pdfviewer_images/localizationstrings.png)
+
+![PDF Viewer in Xamarin.iOS](pdfviewer_images/localizationoutput.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Measurement-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Measurement-Annotation.md
new file mode 100644
index 000000000..0fb33eefd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Measurement-Annotation.md
@@ -0,0 +1,1535 @@
+---
+layout: post
+title:  Add and modify measurements using PDF Viewer Xamarin.iOS | Syncfusion
+description: PDF Viewer Xamarin.iOS allows user to add, move and delete measurement annotations such as area, distance, perimeter, radius & volume.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with measurements annotations
+
+Measurement annotations are used to measure the distance, area, perimeter, radius, volume of the objects present in a PDF document.The PDF viewer allows you to include the measurement annotations in a PDF document and provides options to modify or remove the existing measurement annotations. The supported measurement annotations are listed as follows. 
+
+1.	Area
+2.	Distance
+3.	Perimeter
+4.	Radius
+5.	Volume.
+
+## Adding Measurement annotations
+
+### Enabling the Measurement annotation mode
+
+Set the [`AnnotationMode`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~AnnotationMode.html) of the PDF Viewer to any of the measurement annotations to enable it. Once the measurement annotation mode is set, the zooming, panning, and scrolling will be disabled. The measurement annotations can be drawn only on the currently visible pages. Refer to the following code.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the annotation mode to Area
+pdfViewer.AnnotationMode = AnnotationMode.Area;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling measurement annotation mode
+
+Set the [`AnnotationMode`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~AnnotationMode.html) of the PDF Viewer to `None` to disable the measurement annotation mode. When the measurement annotation mode is disabled, the zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the annotation mode to None
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of measurement annotations
+
+The [`ShapeAnnotationAdded`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationAdded_EV.html) event will be raised when a measurement annotation is added to the PDF. The properties of the added measurement annotation can be retrieved from the [`ShapeAnnotationAddedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationAddedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionAdded Event
+pdfViewer.ShapeAnnotationAdded += PdfViewer_ShapeAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the added measurement annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationAdded(object sender, ShapeAnnotationAddedEventArgs args)
+        {
+            //Get the added measurement annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the added measurement annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the page number in which the added measurement annotation is present
+            int pageNumber = args.PageNumber;
+
+            //Get the data points of the added measurement annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the opacity value of the added measurement annotation
+            nfloat opacity = args.Opacity;            
+
+            //Get the position of the added measurement annotation within the page
+            CGPoint position = args.Position;
+
+            //Get the stroke color of the added measurement annotation 
+            UIColor strokeColor = args.StrokeColor;
+
+            //Get the thickness of the added measurement annotation
+            float thickness = args.Thickness;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting tap on measurement annotations
+
+Tapping a measurement annotation selects it or deselects it if it is already selected. The [`ShapeAnnotationTapped`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationTapped_EV.html) event is raised when a measurement annotation is tapped. The properties of the tapped measurement annotation can be retrieved from the [`ShapeAnnotationTappedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationTappedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionTapped event
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the tapped measurement annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationTapped(object sender, ShapeAnnotationTappedEventArgs args)
+        {
+            //Get the tapped measurement annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the tapped measurement annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the page number in which the tapped measurement annotation is present
+            int pageNumber = args.PageNumber;
+
+            //Get the data points of the tapped measurement annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the opacity value of the tapped measurement annotation
+            nfloat opacity = args.Opacity;
+
+            //Get the position of the tapped measurement annotation within the page
+            CGPoint position = args.Position;
+
+            //Get the stroke color of the tapped measurement annotation 
+            UIColor strokeColor = args.StrokeColor;
+
+            //Get the thickness of the tapped measurement annotation
+            float thickness = args.Thickness;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting Measurement annotations
+
+You can select a measurement annotation by tapping it. When a measurement annotation is selected, the [`ShapeAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationSelected_EV.html) event will be raised. The properties of the selected measurement annotation can be retrieved from the [`ShapeAnnotationSelectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSelectedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+//Wire up the ShapeAnnotionSelected event
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the selected measurement annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+ private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            //Get the selected measurement annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the selected measurement annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the page number in which the selected measurement annotation is present
+            int pageNumber = args.PageNumber;
+
+            //Gets the list of other annotations that overlap the selected annotation
+            System.Collections.Generic.List<IAnnotation> overlappedAnnotation = args.OverlappedAnnotations;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Deselecting measurement annotations
+
+You can deselect a selected measurement annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the [`ShapeAnnotationDeselected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationDeselected_EV.html) event. The properties of the deselected measurement annotation can be retrieved from the [`ShapeAnnotationDeselectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationDeselectedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionDeselected Event
+pdfViewer.ShapeAnnotationDeselected = PdfViewer_ShapeAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the deselected measurement annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationDeselected(object sender, ShapeAnnotationDeselectedEventArgs args)
+        {
+            //Get the deselected measurement annotation type
+            AnnotationMode annotationType = args.AnnotationType;
+
+            //Retrieves the bounds of the deselected measurement annotation. 
+            CGRect bounds = args.Bounds;
+
+            //Retrieves the page number where the deselected measurement annotation resides. 
+            int page = args.PageNumber;
+        }
+		
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing the selected measurement annotation
+
+To move or resize the measurement annotation it should be selected. After the appearance of the selector, tapping and dragging anywhere inside the selector will move the measurement annotation. Tapping on the bubbles around the selector and dragging would resize the measurement annotation. 
+
+### Detecting the move or resize of a measurement Annotation
+
+The [`AnnotationMovedOrResized`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~AnnotationMovedOrResized_EV.html) event will be raised when you move or resize the selected annotation. The properties of the moved or re-sized measurement annotation can be retrieved from the [`AnnotationMovedOrResizedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.AnnotationMovedOrResizedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the AnnotationMovedOrResized event
+pdfViewer.AnnotationMovedOrResized = PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the moved or re-sized measurement annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args)
+        {
+            //Determine whether the moved or resized annotation is a measurement annotation or some other annotation. 
+            if (sender as AreaAnnotation != null)
+            {
+                //The annotation is an area annotation 
+            }
+            else
+            {
+                //The annotation is not an area annotation
+            }
+
+            //Retrieve the old bounds of the measurement annotation
+            CGRect oldBounds = args.OldBounds;
+
+            //Retrieve the new bounds of the measurement annotation 
+            CGRect newBounds = args.NewBounds;
+
+            //Get the page number in which the measurement annotation is moved or re-sized
+            int pageNumber = args.PageNumber;
+
+            //Get the opacity value of the measurement annotation
+            nfloat opacity = args.Opacity;
+
+            //Get the color of the measurement annotation
+            UIColor color = args.Color;
+
+            //Get the thickness of the measurement annotation
+            float thickness = args.Thickness;
+        }
+		
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting the measurement annotations
+
+The PDF Viewer allows you to remove a selected annotation or all the annotations in the PDF document.
+
+### Removing a selected annotation
+
+The following code sample shows how to remove the selected area measurement annotation from the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+       
+AreaAnnotation areaAnnotation; 
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            //Cast the sender object as area annotation. 
+            areaAnnotation = sender as AreaAnnotation;
+        }
+
+private void deleteShapeAnnotationButton_Clicked(object sender, EventArgs e)
+        {
+            //Delete the area annotation 
+            pdfViewer.RemoveAnnotation(areaAnnotation);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a measurement Annotation
+
+The [`ShapeAnnotationRemoved`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationRemoved_EV.html) event will be raised when a measurement annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionRemoved Event
+pdfViewer.ShapeAnnotationRemoved = PdfViewer_ShapeAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed measurement annotation can be retrieved from the [`ShapeAnnotationRemovedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationRemovedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ShapeAnnotationRemoved(object sender, ShapeAnnotationRemovedEventArgs args)
+        {
+            //Get the removed measurement annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the removed measurement annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the data points of the removed measurement annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the page number in which the removed measurement annotation was present
+            int pageNumber = args.PageNumber;
+        }
+		
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of Measurement annotations
+
+You can customize the default values of [`stroke color`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~StrokeColor.html) , [`opacity`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Opacity.html), [`maximum height`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MaximumHeight.html), [`minimum height`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MinimumHeight.htm), [`maximum width`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MaximumWidth.html), [`minimum width`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MinimumWidth.html), [`display text`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Text.html), [`text background color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextBackgroundColor.html), [`text color`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextColor.html), [`text opacity`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextOpacity.html), [`text size`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextSize.html), [`interaction (locked)`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.AnnotationSettings~IsLocked.html), [`thickness`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Thickness.html), and [`fill color`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~FillColor.html) of the measurement annotations that are to be added.
+
+N>This will not affect the measurement annotations that were already added. 
+
+The following is the list of properties applicable to customize the appearance of the measurement annotations,
+
+
+<table>
+    <tr>
+        <th>Properties<br/>
+            <br/></th>        
+        <th>
+          Area
+            <br/>
+            <br/>
+        </th>
+          <th>
+            Volume
+            <br/>
+            <br/>
+        </th>
+        <th>
+            Distance
+            <br/>
+            <br/>
+        </th>
+		 <th>
+            Radius
+            <br/>
+            <br/>
+        </th>
+		 <th>
+            Perimeter
+            <br/>
+            <br/>
+        </th>
+    </tr>
+    <tr>
+        <td>
+            Stroke Color
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	    <tr>
+        <td>
+            opacity
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	    <tr>
+        <td>
+          Fill color
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Thickness
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Text
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Text color
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Text background-color
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Text opacity
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Text size
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Minimum height
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Minimum width
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+         Maximum height
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Maximum width
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+          Maximum width
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+         Is Locked
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+	<tr>
+        <td>
+        End style
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+       Begin style
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+        Leader extension
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+        LineCap position
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+        Leader length
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+        Depth
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            Yes 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+    </tr>
+		<tr>
+        <td>
+        IsAutoCloseEnabled
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+          <td>
+            No 
+            <br/>
+            <br/>
+        </td>
+        <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            No
+            <br/>
+            <br/>
+        </td>
+		 <td>
+            Yes
+            <br/>
+            <br/>
+        </td>
+    </tr>
+</table>
+
+N>The following properties are common to all the Measurement annotations. In all code samples, the Area measurement annotation is used for illustration purposes.
+
+### Setting the default stroke color
+
+You can set the default stroke color for the measurement annotations by using the [`StrokeColor`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~StrokeColor.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the stroke color for area measurement annotation
+pdfViewer.MeasurementSettings.Area.StrokeColor = UIColor.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default opacity
+
+You can set the default opacity for the measurement annotations by using the [`Opacity`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Opacity.html) property. The opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the opacity for area measurement 
+annotationpdfViewer.MeasurementSettings.Area.Opacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default fill color
+
+You can set the default fill color for the measurement annotations by using the [`FillColor`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~FillColor.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the fill color for area measurement annotation
+pdfViewer.MeasurementSettings.Area.FillColor = UIColor.Blue;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default thickness
+
+You can set the thickness for the measurement annotations by using the [`Thickness`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Thickness.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting thickness for the area measurement annotation
+pdfViewer.MeasurementSettings.Area.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text
+
+You can set the text for the measurement annotations by using the [`Text`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~Text.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text for area measurement annotation
+pdfViewer.MeasurementSettings.Area.Text = ?Area?;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text background color
+
+You can set the background color for the text assigned to the measurement annotations by using the [`TextBackgroundColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextBackgroundColor.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text background color for area measurement annotation
+pdfViewer.MeasurementSettings.Area.TextBackgroundColor = UIColor.Black
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text color
+
+You can set the color for the text assigned to the measurement annotations by using the [`TextColor`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextColor.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text color for area measurement annotation
+pdfViewer.MeasurementSettings.Area.TextColor = UIColor.Black;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text opacity
+
+You can set the opacity for the text assigned to the measurement annotations by using the [`TextOpacity`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextOpacity.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text opacity for area measurement annotation
+pdfViewer.MeasurementSettings.Area.TextOpacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text size
+
+You can set the size for the text assigned to the measurement annotations by using the [`TextSize`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~TextSize.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text size for area measurement annotation
+pdfViewer.MeasurementSettings.Area.TextSize = 2;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum height
+
+You can set the minimum height for the measurement annotations by using the [`MinimumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MinimumHeight.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the minimum height for area measurement annotation
+pdfViewer.MeasurementSettings.Area.MinimumHeight = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum width
+
+You can set the minimum width for the measurement annotations by using the [`MinimumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MinimumWidth.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the minimum width for area measurement annotation
+pdfViewer.MeasurementSettings.Area.MinimumWidth = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default maximum height
+
+You can set the maximum height for the measurement annotations by using the [`MaximumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MaximumHeight.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the maximum height for area measurement annotation
+pdfViewer.MeasurementSettings.Area.MaximumHeight = 60;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default maximum width
+
+You can set the maximum width for the measurement annotations by using the [`MaximumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementAnnotationSettings~MaximumWidth.html) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the maximum width for area measurement annotation
+pdfViewer.MeasurementSettings.Area.MaximumWidth = 60;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing the default appearance which is specific to the Distance Annotation
+
+You can customize the default values of the [`begin style`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~BeginStyle.html), [`end style`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~EndStyle.html), [`leader extension`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LeaderExtension.html), [`leader length`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LeaderLength.html), and [`line cap position`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LineCapPosition.html) of the distance Annotation to be added. 
+
+N> This will not affect the already added distance annotations. 
+
+You can set the begin style for the distance measurement annotations using the [`BeginStyle`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~BeginStyle.html) property. The BeginStyle is an enum property with values Round, Closed, Diamond, None, Open, and Square. 
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the begin style for distance measurement annotation
+pdfViewer.MeasurementSettings.Distance.BeginStyle = BeginStyle.Round;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can set the end style for the distance measurement annotations using the [`EndStyle`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~EndStyle.html) property. The EndStyle is an enum property with values Round, Closed, Diamond, None, Open, and Square
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the end style for distance measurement annotation
+pdfViewer.MeasurementSettings.Distance.EndStyle = EndStyle.Round;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can set the leader extension for the distance measurement annotations using the [`LeaderExtension`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LeaderExtension.html) property. Refer to the following code example.
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the leader extension for distance measurement annotation
+pdfViewer.MeasurementSettings.Distance.LeaderExtension = 30;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can set the leader length for the distance measurement annotations using the [`LeaderLength`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LeaderLength.html) property. Refer to the following code example.
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the leader length for distance measurement annotation
+pdfViewer.MeasurementSettings.Distance.LeaderLength = 30;
+
+{% endhighlight %}
+{% endtabs %}
+
+You can set the line cap position for the distance measurement annotations using the [`LineCapPosition`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.DistanceAnnotation~LineCapPosition.html) property. Refer to the following code example. The LineCapPosition is an enum property with values Inline, and Top. 
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the line cap position for distance measurement annotation
+pdfViewer.MeasurementSettings.Distance.LineCapPosition = LineCapPositon.Inline;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing the default appearance which are specific to the Volume Annotation. 
+
+You can customize the default depth value for the volume measurement annotations using the [`Depth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.VolumeAnnotation~Depth.html) property.
+
+The [`MeasurementUnit`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementUnit.html) is an enum property with values Inch, Pica, Point, Centimeter, Millimeter, and Feet.
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the depth for volume measurement annotation
+pdfViewer.MeasurementSettings.Volume.Depth = (1f, MeasurementUnit.Centimeter);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Customizing the default appearance which are specific to the Perimeter Annotation. 
+
+You can customize the auto-close option for the perimeter measurement annotations using the [`IsAutoCloseEnabled`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.PerimeterAnnotation~IsAutoCloseEnabled.html) property. Once it is enabled, you can close the perimeter measurement annotation by moving the line nearer to the origin point or by double tapping on the PDF page. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the auto-close option for the perimeter measurement annotation
+pdfViewer.MeasurementSettings.Perimeter.IsAutoClosedEnable=true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get or set a scale ratio for the measurement Annotations
+
+You can set the scale ratio for the measurement annotations by using the [`SfPdfViewer.MeasurementSettings.ScaleRatio`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementSettings~ScaleRatio.html) property. Refer to the following code example.
+
+The [`MeasurementUnit`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementUnit.html) is an enum property with values Inch, Pica, Point, Centimeter, Millimeter, and Feet.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the scale ratio for measurement annotation
+pdfViewer.MeasurementSettings.ScaleRatio = ?1in = 2ft?;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get or set a value that indicates whether the existing measurement values should be updated when the scale ratio is changed.
+
+You can get and set a value that indicates whether the existing measurement values should be updated when the scale ratio is changed using the [`SfPdfViewer.MeasurementSettings.ShouldUpdateScaleMeasureValue`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.MeasurementSettings~ShouldUpdateScaleMeasureValue.html) property. Refer to the following code example
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the value to update the scale ratio for the existing measurement annotation
+pdfViewer.MeasurementSettings.ShouldUpdateScaleMeasureValue = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable measurement annotation interaction
+
+The interaction operation can be enabled or disabled for the measurement annotation alone by setting the [`SfPdfViewer.MeasurementSettings.Area.IsLocked`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.AreaAnnotation~IsLocked.html) API to false or true respectively.
+
+For example, the following code disables the interaction operations for all measurement annotations in the PDF. But, the other annotation types can be selected, moved, resized, or removed.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the area annotation interaction
+pdfViewerControl.MeasurementSettings.Area.IsLocked = true;
+
+//Disable the perimeter annotation interaction
+pdfViewerControl.MeasurementSettings.Perimeter.IsLocked = true;
+
+//Disable the volume annotation interaction
+pdfViewerControl.MeasurementSettings.Volume.IsLocked = true;
+
+//Disable the distance annotation interaction
+pdfViewerControl.MeasurementSettings.Distance.IsLocked = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+The interaction with the measurement annotation types will be allowed only if the [`SfPdfViewer.AnnotationSettings.IsLocked`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.AnnotationSettings~IsLocked.html) API is set to false. The following code does not allow the interactions with measurement annotations, although the IsLocked property of the measurement annotation is set to false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disables the measurement annotation interaction, though its 'IsLocked' property is set to ?false?
+ pdfViewerControl.AnnotationSettings.IsLocked = true;
+ 
+//Disable the area annotation interaction
+pdfViewerControl.MeasurementSettings.Area.IsLocked = false;
+
+//Disable the perimeter annotation interaction
+pdfViewerControl.MeasurementSettings.Perimeter.IsLocked = false;
+
+//Disable the volume annotation interaction
+pdfViewerControl.MeasurementSettings.Volume.IsLocked = false;
+
+//Disable the distance annotation interaction
+pdfViewerControl.MeasurementSettings.Distance.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the list of Annotations that overlaps the selected measurement Annotation
+
+You can retrieve the list of annotations that overlaps the selected measurement annotation from the [`ShapeAnnotationSelectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSelectedEventArgs.html) parameter of the [`ShapeAnnotationSelected`](https://help.syncfusion.com/cr/cref_files/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationSelected_EV.html) event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+//Wire up the ShapeAnnotationSelected event
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            //Gets the list of Annotations that overlap the selected Annotation
+            System.Collections.Generic.List<IAnnotation> overlappedAnnotation = args.OverlappedAnnotations;
+        }
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Printing-PDF-files.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Printing-PDF-files.md
new file mode 100644
index 000000000..3c08ac407
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Printing-PDF-files.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title: Printing in PDF Viewer Xamarin.iOS | Syncfusion
+description: PDF Viewer in Xamarin.iOS supports printing the PDF documents loaded in it. It allows printing of document with/without file names.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: UG
+---
+
+# Printing PDF files
+
+PDF Viewer allows printing the loaded PDF documents using the Print button in the built-in toolbar. 
+
+![Print PDF file using SfPdfViewer](pdfviewer_images/print.png)
+
+The Print operation could be performed using the following APIs programmatically.
+
+{% tabs %}
+{% highlight c# %}
+
+//Print the PDF
+pdfViewerControl.Print();
+
+//Print the PDF with given file name
+pdfViewerControl.Print(string filename);
+
+{% endhighlight %}
+{% endtabs %}
+
+The following example demonstrates the usage of print operation within a button click event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+	//Print the PDF
+    pdfViewerControl.Print("PdfFileName.pdf");
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default file name of the printed document will be “SavedDocument.pdf”.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Search-For-Text-Instance.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Search-For-Text-Instance.md
new file mode 100644
index 000000000..f73cde2b3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Search-For-Text-Instance.md
@@ -0,0 +1,590 @@
+---
+layout: post
+title:  Search text in PDF using PDF viewer Xamarin.iOS | Syncfusion
+description: Search text support allows the user to locate and highlight text instances in the PDF document using PDF Viewer Xamarin.iOS
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Search for a text instance
+
+PDF Viewer provides support to find and highlight texts in the PDF document and it provides the following methods to perform text search operations.
+
+<table>
+
+<tr>
+<td>SearchText</td>
+<td>Initiates text search and highlights all the matches of the searched text in the whole document.</td>
+</tr>
+
+<tr>
+<td>SearchNext</td>
+<td>Used to initiate text search and to traverse through the matches of the searched text in downwards direction.</td>
+</tr>
+
+<tr>
+<td>SearchPrevious</td>
+<td>Used to initiate text search and to traverse through the matches of the searched text in upward direction.</td>
+</tr>
+
+<tr>
+<td>CancelSearch</td>
+<td>Used to cancel the text search when text search is in progress and used to clear the highlights over the text matches.</td>
+</tr>
+
+</table>
+
+## How to initiate text search?
+
+SearchText method can be used to initiate text search operation. The text to be searched is provided as a parameter to this method.
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+                this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## How to identify if there is no match of the text being searched?
+
+SearchCompleted event in the PDF viewer can be used to track the completion of the text search operation, NoMatchFound property of TextSearchEventArgs (event argument of this event) can be used to find if no match of text is being found.
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+       
+        public MainViewController() : base("MainViewController", null)
+        {
+        }
+
+        public override void DidReceiveMemoryWarning()
+        {
+            base.DidReceiveMemoryWarning();
+
+            // Release any cached data, images, etc that aren't in use.
+        }
+
+        public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            pdfViewerControl.SearchCompleted += PdfViewerControl_SearchCompleted;
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+                this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        private void PdfViewerControl_SearchCompleted(object sender, TextSearchEventArgs args)
+        {
+            bool isMatchFound = args.NoMatchFound;
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to the next match of the text?
+
+SearchNext method of PDF viewer can be used to navigate to the successive match of the text in the PDF document. 
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+        UIButton searchNextButton;
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            searchNextButton = new UIButton();
+            searchNextButton.Frame = new CGRect(500, 5, 150, 50);
+            searchNextButton.SetTitle("SearchNext", UIControlState.Normal);
+            searchNextButton.TouchUpInside += SearchNextButton_TouchUpInside;
+            searchNextButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
+            searchNextButton.BackgroundColor = UIColor.LightGray;
+            this.View.AddSubview(searchNextButton);
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+            this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        private void SearchNextButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.SearchNext(searchTextField.Text);
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to the previous match of the text?
+
+SearchPrevious method of PDF viewer can be used to navigate to the previous match of the text in the PDF document. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+        UIButton searchPreviousButton;
+
+public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            searchPreviousButton = new UIButton();
+            searchPreviousButton.Frame = new CGRect(500, 5, 150, 50);
+            searchPreviousButton.SetTitle("SearchNext", UIControlState.Normal);
+            searchPreviousButton.TouchUpInside += SearchPreviousButton_TouchUpInside;
+            searchPreviousButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
+            searchPreviousButton.BackgroundColor = UIColor.LightGray;
+            this.View.AddSubview(searchPreviousButton);
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+            this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        private void SearchPreviousButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.SearchNext(searchTextField.Text);
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to identify if a complete cycle of text search is performed?
+
+Text search operation will start the process from the current page being displayed, then process the succeeding pages till last page of the document and then process the initial left-over pages if any.
+
+For example, consider a PDF document which consists of 20 pages and the user initiates the text search operation from the page 10 (current page being displayed). 
+
+* Now PDF viewer control will process the current page (page number 10) and highlight the matches if any
+* Then the following pages from page 11 to 20 one by one will be processed and highlight the matches if any
+* Once the end of the document is reached, the search will get started from page 1 to 9
+* When the search process, finds the same matching instance again, then the NoMoreOccurrence property of the TextSearchEventArgs of SearchCompleted event will be set to true.
+
+When we manually scroll the PDF document while navigating using the SearchNext() or SearchPrevious(), the search cycle will get restarted from the first matching instance of current page. 
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            pdfViewerControl.SearchCompleted += PdfViewerControl_SearchCompleted;
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+            this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        private void PdfViewerControl_SearchCompleted(object sender, TextSearchEventArgs args)
+        {
+            bool isNoMoreOccurrenceFound = args.NoMoreOccurrence;
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to cancel text search?
+
+CancelSearch method of the PDF viewer can be used to cancel the text search progress. When the text search is in progress this method can be used to cancel the same, when text search is completed, this method can be used to clear all the highlighted texts in the PDF viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        UITextField searchTextField;
+        UIButton cancelSearchButton;
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+            cancelSearchButton = new UIButton();
+            cancelSearchButton.Frame = new CGRect(500, 5, 150, 50);
+            cancelSearchButton.SetTitle("Cancel", UIControlState.Normal);
+            cancelSearchButton.TouchUpInside += cancelSearchButton_TouchUpInside;
+            cancelSearchButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
+            cancelSearchButton.BackgroundColor = UIColor.LightGray;
+            this.View.AddSubview(cancelSearchButton);
+            searchTextField = new UITextField();
+            searchTextField.Frame = new CGRect(150, 10, 300, 40);
+            searchTextField.BorderStyle = UITextBorderStyle.Line;
+            searchTextField.ShouldReturn += (textField) =>
+            {
+                pdfViewerControl.SearchText(searchTextField.Text);
+                return true;
+            };
+            this.View.AddSubview(searchTextField);
+            this.View.AddSubview(pdfViewerControl);
+
+        }
+
+        private void cancelSearchButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.CancelSearch();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to track search progress?
+
+Text search progress can be tracked using the TextSearchInitiated event and TextMatchFound event. 
+
+### SearchInitiated
+
+TextSearchInitiated event will be triggered soon after the call of the SearchText method, the event argument of this event will contain details about the text being searched.
+
+### TextMatchFound
+
+TextMatchFound event will be triggered once when the match of the text is found in the page of the PDF document. When text search is triggered using SearchText method this event would be triggered for every page in which the match is found, when text search is triggered using SearchNext or SearchPrevious methods, this event would be triggered for every match being found.
+
+### SearchCompleted
+
+TextSearchCompleted event will be triggered once when all the pages are being search for the match of the input text at-least once. The event argument would contain properties NoMatchFound and NoMoreOccurrenceFound.
+
+When NoMatchFound is set to true, it means that the PDF viewer could not find any match for the searched text in the PDF document.
+
+When NoMoreOccurrence is set to true, it means that the PDF viewer had completed one full cycle of search and has hit the first instance again.
+
+## Implementing search bar with search features.
+
+With the continuation of the getting started sample, you can extend the UI design to perform the text search in the PDF Viewer. Design the search toolbar in parallel to the main toolbar, here when the main toolbar is visible, search bar will be invisible and vice versa.
+
+* Main toolbar – A new option to initiate text search toolbar will be added to the existing options.
+* Search toolbar - A new and separate toolbar is created to search a text instance – it includes option to enter the text, perform search, cancel search and navigate back to the main toolbar.
+	
+After the adding the search toolbar, the MainViewController.cs file will look as like the below code snippet.
+
+{% tabs %}
+{% highlight c# %}
+
+		SfPdfViewer pdfViewerControl;
+        private const float DefaultToolbarHeight = 50f;
+
+        private UIView parentView;
+        private UIView toolbar;
+        UITextField pageNumberField = new UITextField();
+        UILabel totalPageLabel = new UILabel();
+        UIButton previousPageButton = new UIButton();
+        UIButton nextPageButton = new UIButton();
+        UIToolbar toolBar = new UIToolbar();
+        UISearchBar searchBar = new UISearchBar();
+        UIButton searchButton = new UIButton();
+        UIButton backButton = new UIButton();
+        UIToolbar searchToolBar = new UIToolbar();
+        CGRect toolBarFrame = new CGRect();
+
+		public override void ViewDidLoad()
+        {
+            base.ViewDidLoad();
+            parentView = new UIView(this.View.Frame);
+
+            pdfViewerControl = new SfPdfViewer();
+            pdfViewerControl.PageChanged += PdfViewerControl_PageChanged;
+            pageNumberField.Text = "1";
+            toolbar = createTopToolbar();
+            parentView.AddSubview(pdfViewerControl);
+            this.View.AddSubview(parentView);
+            this.View.AddSubview(toolbar);
+
+        }
+
+        protected virtual UIView createTopToolbar()
+        {
+            var toolBarFrame = new CGRect();
+            toolBarFrame = this.View.Frame;
+            toolBarFrame.Height = DefaultToolbarHeight;
+            toolBarFrame.Y = 20;
+            toolBar.Frame = toolBarFrame;
+
+            toolBar.AutoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleWidth;
+
+            pageNumberField.ShouldReturn += (textField) =>
+            {
+                textField.ResignFirstResponder();
+                int input = 0;
+                if (int.TryParse(pageNumberField.Text, out input) && input > 0 && (input <= pdfViewerControl.PageCount))
+                {
+                    pdfViewerControl.GoToPage(input);
+                }
+                pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+                return true;
+            };
+
+            pageNumberField.BorderStyle = UITextBorderStyle.RoundedRect;
+            pageNumberField.Frame = new CGRect(65, 5, 45, 40);
+            pageNumberField.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            pageNumberField.TextAlignment = UITextAlignment.Center;
+            toolBar.Add(pageNumberField);
+
+
+            totalPageLabel.Frame = new CGRect(120, 5, 40, 40);
+            toolBar.Add(totalPageLabel);
+
+            nextPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            nextPageButton.Frame = new CGRect(175, 5, 40, 40);
+            nextPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            nextPageButton.TouchUpInside += NextPageButton_TouchUpInside1;
+            nextPageButton.SetBackgroundImage(UIImage.FromFile("PageDown.png"), UIControlState.Normal);
+            toolBar.Add(nextPageButton);
+
+            previousPageButton.Frame = new CGRect(230, 5, 40, 40);
+            previousPageButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            previousPageButton.TouchUpInside += PreviousPageButton_TouchUpInside1; ;
+            previousPageButton.SetBackgroundImage(UIImage.FromFile("PageUp.png"), UIControlState.Normal);
+            toolBar.Add(previousPageButton);
+
+            searchButton.Frame = new CGRect(parentView.Frame.Width - 50, 5, 40, 40);
+            searchButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            searchButton.TouchUpInside += SearchButtonClicked;
+            searchButton.SetBackgroundImage(UIImage.FromFile("Search.png"), UIControlState.Normal);
+            toolBar.Add(searchButton);
+            return toolBar;
+        }
+
+        void SearchButtonClicked(object sender, EventArgs ea)
+        {
+            toolbar.RemoveFromSuperview();
+            backButton.Enabled = true;
+            CreateSearchTopToolbar();
+            toolbar = searchToolBar;
+            searchBar.BecomeFirstResponder();
+            View.AddSubview(toolbar);
+        }
+
+        protected virtual UIView CreateSearchTopToolbar()
+        {
+            toolBarFrame = View.Frame;
+            toolBarFrame.Height = DefaultToolbarHeight;
+            toolBarFrame.Y = 20;
+            searchToolBar.Frame = toolBarFrame;
+
+            searchToolBar.AutoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleWidth;
+
+            if ((UIDevice.CurrentDevice).UserInterfaceIdiom == UIUserInterfaceIdiom.Pad)
+                backButton.Frame = new CGRect(20, 2, 50, 50);
+            else
+                backButton.Frame = new CGRect(2, 5, 40, 40);
+
+            backButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+            backButton.TouchUpInside += BackButtonClicked;
+            backButton.SetBackgroundImage(UIImage.FromFile("Back.png"), UIControlState.Normal);
+
+            searchToolBar.Add(backButton);
+            if ((UIDevice.CurrentDevice).UserInterfaceIdiom == UIUserInterfaceIdiom.Pad)
+                searchBar.Frame = new CGRect(95, 5, 270, 40);
+            else
+                searchBar.Frame = new CGRect(40, 5, 140, 40);
+
+            searchBar.Placeholder = "Enter text to search";
+            searchBar.TextChanged += SearchBar_TextChanged;
+            searchBar.SearchButtonClicked += SearchBar_SearchButtonClicked;
+            searchToolBar.Add(searchBar);
+
+
+            return searchToolBar;
+        }
+
+        private void SearchBar_TextChanged(object sender, UISearchBarTextChangedEventArgs e)
+        {
+            if ((sender as UISearchBar).Text == string.Empty)
+            {
+                pdfViewerControl.CancelSearch();
+            }
+        }
+
+        private void SearchCancelClicked(object sender, EventArgs e)
+        {
+            pdfViewerControl.CancelSearch();
+            searchBar.Text = String.Empty;
+        }
+
+        private void SearchBar_SearchButtonClicked(object sender, EventArgs e)
+        {
+            searchBar.ResignFirstResponder();
+            pdfViewerControl.SearchText(searchBar.Text);
+        }
+        void BackButtonClicked(object sender, EventArgs ea)
+        {
+            pdfViewerControl.CancelSearch();
+            searchBar.Text = String.Empty;
+            UpdateToolBarValues();
+            searchToolBar.RemoveFromSuperview();
+            toolBar.RemoveFromSuperview();
+            toolbar = toolBar;
+            View.AddSubview(toolbar);
+        }
+
+        public void UpdateToolBarValues()
+        {
+            pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+
+        }
+        private void PreviousPageButton_TouchUpInside1(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToPreviousPage();
+        }
+
+        private void NextPageButton_TouchUpInside1(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToNextPage();
+        }
+
+        private void PdfViewerControl_PageChanged(object sender, PageChangedEventArgs args)
+        {
+            pageNumberField.Text = pdfViewerControl.PageNumber.ToString();
+        }
+        private void NextPageButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToNextPage();
+        }
+
+        private void PreviousPageButton_TouchUpInside(object sender, EventArgs e)
+        {
+            pdfViewerControl.GoToPreviousPage();
+        }
+
+        public override void ViewDidAppear(bool animated)
+        {
+            base.ViewDidAppear(animated);
+            var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+            pdfViewerControl.LoadDocument(fileStream);
+            totalPageLabel.Text = "/ " + pdfViewerControl.PageCount.ToString();
+        }
+
+        public override void ViewDidLayoutSubviews()
+        {
+            base.ViewDidLayoutSubviews();
+            parentView.Frame = new CGRect(this.View.Frame.X, DefaultToolbarHeight + 20, this.View.Frame.Width, this.View.Frame.Height - DefaultToolbarHeight - 20);
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing search highlight color
+
+The colors in which the current instance and other instances are highlighted can be customized. The TextSearchSettings class in the PDF viewer instance can be used for this purpose.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.TextSearchSettings.CurrentInstanceColor = UIColor.Blue;
+pdfViewerControl.TextSearchSettings.OtherInstanceColor = UIColor.Green;
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Select-And-Copy-Text.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Select-And-Copy-Text.md
new file mode 100644
index 000000000..4e28ebfb9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Select-And-Copy-Text.md
@@ -0,0 +1,256 @@
+---
+layout: post
+title:  Select & copy text using PDF viewer Xamarin.iOS | Syncfusion
+description: Select and copy text support allows user to select the text in the PDF document and copy it to the clipboard using PDF Viewer Xamarin.iOS
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Select and copy the text
+
+The PDF viewer supports text selection and copy feature, which allows user to select the text in the PDF document and copy it to the clipboard. This section illustrates about how to use this feature.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>IsTextSelectionEnabled</td>
+<td>Gets or sets the value that enables or disables the text selection feature in the PDF viewer. This property when set to true enables text selection and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+      base.ViewDidLoad();
+      pdfViewerControl = new SfPdfViewer();
+      //Text selection feature in the PDF viewer is disabled.
+      pdfViewerControl.IsTextSelectionEnabled = false;
+      this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+      base.ViewDidAppear(animated);
+      var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+      pdfViewerControl.LoadDocument(fileStream);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the context menu?
+
+By default, PDF viewer comes with a context menu that will be displayed above the selected text in the PDF document, which has a button (option) to copy the selected text. The display of the context menu can be disabled by setting ShowContextMenu property of the TextSelectionSettings class to false. The below code illustrates the same. By default, context menu will be enabled in the PDF viewer. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+      base.ViewDidLoad();
+      pdfViewerControl = new SfPdfViewer();
+      //The display of the default context menu for the text selection is disabled.
+      pdfViewerControl.TextSelectionSettings.ShowContextMenu = false;       
+      this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+      base.ViewDidAppear(animated);
+      var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+      pdfViewerControl.LoadDocument(fileStream);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to modify the selection and its handle color?
+
+The color used for text selection and the color of the handle can be customized based on the developer’s requirements. The properties TextSelectionColor and TextSelectionHandleColor of the TextSelectionSettings class can be used to customize them. The below code snippet illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+      base.ViewDidLoad();
+      pdfViewerControl = new SfPdfViewer();
+      
+      //Customizing the color being displayed while selecting the text from PDF document.
+
+      pdfViewerControl.TextSelectionSettings.TextSelectionColor = UIColor.FromRGBA(0, 0, 255, 50);
+
+      //Customizing the color of text selection handler displayed while selecting the text from PDF document.
+
+      pdfViewerControl.TextSelectionSettings.TextSelectionHandleColor = UIColor.FromRGBA(0, 0, 255, 255);
+      this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+      base.ViewDidAppear(animated);
+      var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+      pdfViewerControl.LoadDocument(fileStream);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire selected text?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument of this event will contain a copy of the selected text in the String format. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+      base.ViewDidLoad();
+      pdfViewerControl = new SfPdfViewer();
+     // Wired up the TextSelectionCompleted event.
+      pdfViewerControl.TextSelectionCompleted += PdfViewerControl_TextSelectionCompleted;
+   
+      this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+      base.ViewDidAppear(animated);
+      var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+      pdfViewerControl.LoadDocument(fileStream);
+}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+     //The selected text is acquired and stored in the variable selectedText.
+     var selectedText = args.SelectedText;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire page number, page bounds and selected region?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument would contain details about the page number in which the selection operation is performed, bounds of the page and the selection region. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+      base.ViewDidLoad();
+      pdfViewerControl = new SfPdfViewer();
+     // Wired up the TextSelectionCompleted event.
+      pdfViewerControl.TextSelectionCompleted += PdfViewerControl_TextSelectionCompleted;
+   
+      this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+      base.ViewDidAppear(animated);
+      var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+      pdfViewerControl.LoadDocument(fileStream);
+}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+
+    //The number of the page in which the selection is performed is acquired.
+    var pageNumberOfSelectedText = args.PageNumber;
+
+    //The region of the text being selected is acquired.
+    var selectedTextRegion = args.SelectedRegion;
+
+    //The bounds of the page in which the selection is performed is acquired.
+    var pageBounds = args.PageBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the start index and end index of the selected text?
+
+The completion of the text selection action would trigger the [TextSelectionCompleted](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_TextSelectionCompleted) event. The event argument would contain details about the start index and end index of the selected text. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args) 
+{
+	//Starting index of the selected text on the page. 
+	int startIndex = args.SelectedTextStartIndex; 
+
+	//Ending index of the selected text on the page.
+	int endIndex= args.SelectedTextEndIndex; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The values of [SelectedTextStartIndex](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_iOS_TextSelectionCompletedEventArgs_SelectedTextStartIndex) and [SelectedTextEndIndex](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_iOS_TextSelectionCompletedEventArgs_SelectedTextEndIndex) properties correspond only to the text present in the page on which the text is selected. 
+
+## How to customize the text selection context menu?
+
+By default, the text selection context menu contains built-in menu items such as Copy, Highlight, Underline, and Strikethrough. You can add additional items in the text selection context menu by creating an instance of type [TextSelectionMenuItem](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.TextSelectionMenuItem.html) and add the item to the [TextSelectionSettings.MenuOptions.Items](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.TextSelectionMenu.html#Syncfusion_SfPdfViewer_iOS_TextSelectionMenu_Items) property. 
+As the type of this property is ObservableCollection, the following operations can be performed on the text selection context menu items. 
+
+1. Adding a new item
+2. Clearing the menu items
+3. Inserting a new item
+4. Removing an existing item
+
+Below code illustrates adding a new menu item to the text selection context menu.
+
+{% tabs %}
+{% highlight c# %}
+
+        TextSelectionMenuItem menuItem = new TextSelectionMenuItem();
+
+		//The text to display on the menu item
+		menuItem.Text = “Find text”;
+
+		//The ID to uniquely identify the menu item. 
+		menuItem.Id = "find_text";
+		pdfViewer.TextSelectionSettings.MenuOptions.Items.Add(menuItem);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to handle the click event of the menu item?
+
+The [TextSelectionMenuItemClicked](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.TextSelectionMenu.html#Syncfusion_SfPdfViewer_iOS_TextSelectionMenu_TextSelectionMenuItemClicked) event is raised when any menu item is clicked. While performing the intended operation when a menu item is clicked, the selected text can be obtained as described in the [above](https://help.syncfusion.com/xamarin-ios/sfpdfviewer/select-and-copy-text#how-to-acquire-selected-text) section. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionMenuItemClicked(object sender, TextSelectionMenuItemClickedEventArgs args) 
+{
+	TextSelectionMenuItem menuItem = sender as TextSelectionMenuItem;
+	switch(menuItem.Id)
+	{
+		//Perform the intended operation after identifying the menu item from its ‘Id’ value. 
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Shape-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Shape-Annotation.md
new file mode 100644
index 000000000..0c77430b0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Shape-Annotation.md
@@ -0,0 +1,887 @@
+---
+layout: post
+title:  Add & modify shapes using PDF viewer Xamarin.iOS | Syncfusion
+description: PDF viewer Xamarin.iOS allows user to add, move and delete shapes such as line, rectangle & ellipse PDF document
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Shape Annotations
+
+Shape Annotations are used to add annotations in the form of shapes such as rectangle, ellipse, horizontal line, and vertical line at the specific area of interest. PDF viewer allows you to include shape annotations in a PDF document and provides options to modify or remove the existing shape annotations. The supported shape annotations are: 
+
+1. Rectangle
+2. Circle
+3. Line
+4. Arrow
+5. Polygon
+6. Cloud
+
+## Adding shape annotations using toolbar
+
+### Enabling the shape annotation mode
+
+Set the [`AnnotationMode`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~AnnotationMode.html) of the PDF Viewer to any of the shape annotations to enable it. Once the shape annotation mode is set, zooming, panning, and scrolling will be disabled. A shape annotation can be drawn only on the currently visible pages. Refer to the following code.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the annotation mode to Rectangle
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling shape annotation mode
+
+Set the [`AnnotationMode`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~AnnotationMode.html) of the PDF Viewer to `None` to disable the shape annotation mode. When the shape annotation mode is disabled, zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the annotation mode to None
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of shape annotations
+
+The [`ShapeAnnotationAdded`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationAdded_EV.html) event will be raised when a shape annotation is added to the PDF. The properties of the added shape annotation can be retrieved from the [`ShapeAnnotationAddedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationAddedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionAdded Event
+pdfViewer.ShapeAnnotationAdded += PdfViewer_ShapeAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the added shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationAdded(object sender, ShapeAnnotationAddedEventArgs args)
+        {
+            //Get the added shape annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the added shape annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the page number in which the added shape annotation is present
+            int pageNumber = args.PageNumber;
+
+            //Get the data points of the added shape annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the opacity value of the added shape annotation
+            nfloat opacity = args.Opacity;            
+
+            //Get the position of the added shape annotation within the page
+            CGPoint position = args.Position;
+
+            //Get the stroke color of the added shape annotation 
+            UIColor strokeColor = args.StrokeColor;
+
+            //Get the thickness of the added shape annotation
+            float thickness = args.Thickness;
+
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding the shape annotations programmatically 
+
+By `AddAnnotation` method, You can add the shape annotations programmatically. The created shape annotation object passed as a parameter. The `ShapeAnnotation` instance acquires the `ShapeAnnotationType`, page number and bounds as the parameters. 
+
+The following code sample illustrates the adding of rectangle annotation programmatically. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Bounds in which the rectangle shape annotation should be added
+Rectangle bounds = new Rectangle(100, 100, 200, 200);
+
+//Creates a new rectangle shape annotation
+ShapeAnnotation shapeAnnotation = new ShapeAnnotation(ShapeAnnotationType.Rectangle, 1, rectangle);         
+
+//Sets the stroke color for the rectangle shape annotation 
+shapeAnnotation.Settings.StrokeColor = Color.Red;
+
+//Add the rectangle shape annotation to the specified page
+pdfViewer.AddAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For the purpose of illustration, we have only provided the code example for adding rectangle annotation. But the same procedure can be followed for adding other shape annotations too.
+
+## How to draw a cloud shape annotation?
+
+To draw a cloud shape annotation, you should set the `BorderEffect` property of the shape annotation settings to `BorderEffect.Cloudy`. Only the rectangle and polygon annotations can be drawn with cloud border style. The following sample code illustrates how to draw a rectangle annotation with the cloud border style.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. For complex cloud polygons, the cloud border-style appearance might differ from other PDF readers like Adobe.
+
+## Detecting tap on shape annotations
+
+Tapping a shape annotation selects it or deselects it if it is already selected. The [`ShapeAnnotationTapped`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.SfPdfViewer~ShapeAnnotationTapped_EV.html) event is raised when a shape annotation is tapped. The properties of the tapped shape annotation can be retrieved from the [`ShapeAnnotationTappedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS~Syncfusion.SfPdfViewer.iOS.ShapeAnnotationTappedEventArgs_members.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionTapped event
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the tapped shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationTapped(object sender, ShapeAnnotationTappedEventArgs args)
+        {
+            //Get the tapped shape annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the tapped shape annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the page number in which the tapped shape annotation is present
+            int pageNumber = args.PageNumber;
+
+            //Get the data points of the tapped shape annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the opacity value of the tapped shape annotation
+            nfloat opacity = args.Opacity;
+
+            //Get the position of the tapped shape annotation within the page
+            CGPoint position = args.Position;
+
+            //Get the stroke color of the tapped shape annotation 
+            UIColor strokeColor = args.StrokeColor;
+
+            //Get the thickness of the tapped shape annotation
+            float thickness = args.Thickness;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Selecting Shape annotations
+
+You can select a shape annotation by tapping it. When a shape annotation is selected, the [`ShapeAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationSelected) event will be raised. The properties of the selected shape annotation can be retrieved from the [`ShapeAnnotationSelectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSelectedEventArgs.html) parameter of the event handler.  
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+//Wire up the ShapeAnnotionSelected event
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the selected shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+//Get the selected shape annotation type
+AnnotationMode annotationMode = args.AnnotationType;
+
+//Get the bounds of the selected shape annotation
+CGRect bounds = args.Bounds;
+
+//Get the page number in which the selected shape annotation is present
+int pageNumber = args.PageNumber;
+
+//Get the list of other annotations that overlap the selected annotation
+System.Collections.Generic.List<IAnnotation> overlappedAnnotation = args.OverlappedAnnotations;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting shape annotation programmatically
+
+By `SelectAnnotation` method, You can select the shape annotation programmatically. The specified shape annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified shape annotation
+pdfViewer.SelectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting Shape annotations
+
+You can deselect a selected shape annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the [`ShapeAnnotationDeselected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationDeselected) event. The properties of the deselected shape annotation can be retrieved from the [`ShapeAnnotationDeselectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationDeselectedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionDeselected event
+pdfViewer.ShapeAnnotationDeselected = PdfViewer_ShapeAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the deselected shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationDeselected(object sender, ShapeAnnotationDeselectedEventArgs args) 
+{ 
+//Get the deselected shape annotation type
+AnnotationMode annotationType = args.AnnotationType; 
+
+//Retrieves the bounds of the deselected shape annotation. 
+CGRect bounds = args.Bounds; 
+
+//Retrieves the page number where the deselected shape annotation resides. 
+int page = args.PageNumber; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting shape annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the shape annotation programmatically. The specified shape annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified shape annotation
+pdfViewer.DeselectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Calling `DeselectAnnotation` method has no effect if the given annotation is not selected. The `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Moving or resizing the selected shape annotation
+
+To move or resize a shape annotation it should first be selected. After the appearance of the selector, tapping and dragging anywhere inside the selector will move the shape annotation. Tapping on the bubbles around the selector and dragging would resize the shape annotation. 
+
+### Detecting the move or resize of a shape Annotation
+
+The [`AnnotationMovedOrResized`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_AnnotationMovedOrResized) event will be raised when you move or resize the selected annotation. The properties of the moved or re-sized shape annotation can be retrieved from the [`AnnotationMovedOrResizedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.AnnotationMovedOrResizedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the AnnotationMovedOrResized event
+pdfViewer.AnnotationMovedOrResized = PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the moved or re-sized shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args)
+        {
+            //Determine whether the moved or resized annotation is a shape annotation or some other annotation. 
+            if (sender as ShapeAnnotation != null)
+            {
+                //The annotation is a shape annotation 
+            }
+            else
+            {
+                //The annotation is not a shape annotation
+            }
+
+            //Retrieve the old bounds of the shape annotation 
+            CGRect oldBounds = args.OldBounds;
+
+            //Retrieve the new bounds of the shape annotation 
+            CGRect newBounds = args.NewBounds;
+
+            //Get the page number in which the shape annotation is moved or re-sized            
+            int pageNumber = args.PageNumber;
+
+            //Get the opacity value of the shape annotation            
+            nfloat opacity = args.Opacity;
+
+            //Get the color of the shape annotation
+            UIColor color = args.Color;
+
+            //Get the thickness of the shape annotation
+            float thickness = args.Thickness;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting the shape annotations
+
+The PDF Viewer allows you to remove a selected annotation or all the annotations in the PDF document.
+
+### Removing a selected annotation
+
+The following code sample shows how to remove the selected shape annotation from the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+ShapeAnnotation shapeAnnotation;
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            //Cast the sender object as shape annotation. 
+            shapeAnnotation = sender as ShapeAnnotation;
+        }
+
+private void deleteShapeAnnotationButton_Clicked(object sender, EventArgs e)
+        {
+            //Delete the shape annotation 
+            pdfViewer.RemoveAnnotation(shapeAnnotation);
+        }
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting the removal of a shape Annotation
+
+The [`ShapeAnnotationRemoved`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationRemoved) event will be raised when a shape annotation is removed from the PDF. The properties of the removed shape annotation can be retrieved from the [`ShapeAnnotationRemovedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationRemovedEventArgs.html) parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionRemoved Event
+pdfViewer.ShapeAnnotationRemoved = PdfViewer_ShapeAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code shows how to retrieve the properties of the removed shape annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ShapeAnnotationRemoved(object sender, ShapeAnnotationRemovedEventArgs args)
+        {
+            //Get the removed shape annotation type
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Get the bounds of the removed shape annotation
+            CGRect bounds = args.Bounds;
+
+            //Get the data points of the removed shape annotation
+            List<CGPoint> dataPoints = args.DataPoints;
+
+            //Get the page number in which the removed shape annotation was present
+            int pageNumber = args.PageNumber; 
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of shape annotations
+
+You can customize the default values of [`stroke color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_StrokeColor), [`opacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Opacity), [`maximum height`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MaximumHeight), [`minimum height`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MinimumHeight), [`maximum width`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MaximumWidth), [`minimum width`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MinimumWidth), [`display text`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Text), [`text background color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextBackgroundColor), [`text color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextColor), [`text opacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextOpacity), [`text size`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextSize), [`interaction (locked)`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.AnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_AnnotationSettings_IsLocked), [`thickness`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Thickness), [`fill color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_FillColor), `minimum size` and `minimum length` of the shape annotations that are to be added. 
+
+N>This will not affect the shape annotations that were already added. The following properties are common to all the shape annotations. In all code samples, the Rectangle shape annotation is used for illustration purposes. 
+
+### Setting the default stroke color
+
+You can set the default stroke color for the shape annotations by using the [`StrokeColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_StrokeColor) property. Refer to the following code example
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the stroke color for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.StrokeColor = UIColor.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default opacity
+
+You can set the default opacity for the shape annotations by using the [`Opacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Opacity) property. The opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the opacity for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.Opacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default fill color
+
+You can set the default fill color for the shape annotations by using the [`FillColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_FillColor) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the fill color for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.FillColor = UIColor.Blue;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default thickness
+
+You can set the thickness for the shape annotations by using the [`Thickness`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Thickness) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting thickness for the rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text
+
+You can set the text for the shape annotations by using the [`Text`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_Text) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.Text = "Area";
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text background color
+
+You can set the background color for the text assigned to the shape annotations by using the [`TextBackgroundColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextBackgroundColor) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text background color for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.TextBackgroundColor = UIColor.Black;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text color
+
+You can set the color for the text assigned to the shape annotations by using the [`TextColor`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextColor) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text color for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.TextColor = UIColor.Black;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text opacity
+
+You can set the opacity for the text assigned to the shape annotations by using the [`TextOpacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextOpacity) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text opacity for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.TextOpacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text size
+
+You can set the size for the text assigned to the shape annotations by using the [`TextSize`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_TextSize) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the text opacity for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.TextOpacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size and minimum length
+
+By the `MinimumSize` property, You can set the minimum size to which the rectangle and circle shape annotations could be resized. 
+
+By the `MinimumLength` property, You can set the minimum length to which the annotations could be resized for line and arrow.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the rectangle annotations
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumSize = new CGSize(10, 10);
+
+//Sets the minimum size for the circle annotations
+pdfViewer.AnnotationSettings.Circle.Settings.MinimumSize = new CGSize(10, 10);
+
+//Sets the minimum length for the line annotations
+pdfViewer.AnnotationSettings.Line.Settings.MinimumLength = 10;
+
+//Sets the minimum length for the arrow annotations
+pdfViewer.AnnotationSettings.Arrow.Settings.MinimumLength = 10;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `MinimumSize` property will does not affect line, arrow, and polygon annotations. Also, the value of `MinimumLength` property will does not affect rectangle, circle, and polygon annotations.
+
+### Setting the default border style
+
+You can set the border style for the rectangle and polygon annotations using the `BorderEffect` property.  
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the cloud border style for rectangle annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+
+//Sets the cloud border style for polygon annotation 
+pdfViewer.AnnotationSettings.Polygon.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. 
+
+### Setting the default minimum height
+
+You can set the minimum height for the shape annotations by using the [`MinimumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MaximumHeight) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the minimum height for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumHeight = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The [MinimumHeight]( https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MinimumHeight) property have been marked as obsolete. Use the `MinimumSize` and `MinimumLength` properties instead.
+
+### Setting the default minimum width
+
+You can set the minimum width for the shape annotations by using the [`MinimumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MinimumWidth) property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the minimum width for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumWidth = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The [MinimumWidth](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MinimumWidth) property have been marked as obsolete. Use the `MinimumSize` and `MinimumLength` properties instead.
+
+### Setting the default maximum height
+
+You can set the maximum height for the shape annotations by using the [`MaximumHeight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MaximumHeight) property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the maximum height for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.MaximumHeight = 60;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default maximum width
+
+You can set the maximum width for the shape annotations by using the [`MaximumWidth`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_ShapeAnnotationSettings_MaximumWidth) property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Setting the minimum width for rectangle shape annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumWidth = 20;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the properties of a selected shape annotation
+
+You can change the properties of the selected annotation by casting the sender parameter of the [`ShapeAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationSelected) event handler to ShapeAnnotation and modifying its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+
+//Wire up the ShapeAnnotionRemoved Event
+pdfViewer.ShapeAnnotationSelected = PdfViewer_ShapeAnnotationSelected;
+
+ private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            //Get the type of the annotation. Here, it is a rectangle.
+            AnnotationMode annotationMode = args.AnnotationType;
+
+            //Cast the sender object as shape annotation. 
+            ShapeAnnotation selectedShapeAnnotation = sender as ShapeAnnotation;
+
+            //Set the stroke color of the selected annotation using the shape annotation settings. 
+            selectedShapeAnnotation.Settings.StrokeColor = UIColor.Blue;
+
+            //Set the opacity of the selected annotation using the shape annotation settings. 
+            selectedShapeAnnotation.Settings.Opacity = 0.3f;
+
+            //Set the thickness of the selected annotation using the shape annotation settings. 
+            selectedShapeAnnotation.Settings.Thickness = 3;
+
+            //Set the fill color of the selected annotation using the shape annotation settings. 
+            selectedShapeAnnotation.Settings.FillColor = UIColor.Red;
+
+            //Set the minimum size for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.MinimumSize = new CGSize(20, 20);
+
+            //Set the maximum width for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.MaximumWidth = 80;
+
+            //Set the maximum height for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.MaximumHeight = 80;
+
+            //Set the text for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.Text = "Rectangle";
+
+            //Set the text background color for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.TextBackgroundColor = UIColor.Black;
+
+            //Set the text color for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.TextColor = UIColor.Black;
+
+            //Set the text opacity for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.TextOpacity = 0.5f;
+
+            //Set the text size for the selected annotation using the shape annotation settings.
+            selectedShapeAnnotation.Settings.TextSize = 12;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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 such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Arrow.Settings.IsLocked = true;
+ 
+//Disable the line annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Line.Settings.IsLocked = true;
+ 
+//Disable the rectangle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = true;
+ 
+//Disable the circle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = true;
+ 
+//Disable the polygon annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = true;
+
+{% endhighlight %}
+{% endtabs %}
+ 
+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# %}
+
+//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;
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+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 the list of Annotations that overlaps the selected shape Annotation
+
+You can retrieve the list of Annotations that overlaps the selected shape Annotation from the [`ShapeAnnotationSelectedEventArgs`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.ShapeAnnotationSelectedEventArgs.html) parameter of the [`ShapeAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationSelected) event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewer = new SfPdfViewer();
+
+//Wire up the ShapeAnnotionSelected event
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+        {
+            // Get the list of Annotations that overlap the selected Annotation
+            System.Collections.Generic.List<IAnnotation> overlappedAnnotation = args.OverlappedAnnotations;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get and set the name of the shape annotations?
+
+The PDF Viewer allows the users to get and set the name of shape annotations through the [Name](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API. 
+
+The following code sample explains modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ShapeAnnotationAdded(object sender, ShapeAnnotationAddedEventArgs args)
+{
+//Sets the name for the annotation.
+(sender as ShapeAnnotation).Name = "Shape1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_ShapeAnnotationAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Single-page-view-mode.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Single-page-view-mode.md
new file mode 100644
index 000000000..3ef7facb7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Single-page-view-mode.md
@@ -0,0 +1,67 @@
+---
+layout: post
+title: Single page view mode in PDF Viewer Xamarin.iOS | Syncfusion
+description: Learn about single page view mode support in Syncfusion Xamarin.iOS Pdf Viewer (SfPdfViewer) control and more details.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Single page view mode
+
+The default continuous view mode of PDF Viewer allows vertical scrolling. In addition to that, PDF Viewer also provides options to view PDFs page by page with horizontal navigation support.
+
+![Single page view mode flipping](pdfviewer_images/SinglePageViewerFlipping.gif)
+
+![Single page view mode scrolling](pdfviewer_images/SinglePageViewerScrolling.gif)
+
+## Switching between view modes
+
+The view mode can be switched by choosing the corresponding option from the menu bar that appears when the view mode button is clicked. The view mode button is available on the top toolbar. 
+
+![Single page view mode](pdfviewer_images/SinglePageViewer1.png)
+
+![View mode options](pdfviewer_images/SinglePageViewer2.png)
+
+The view mode can also be changed programmatically using the `PageViewMode` property of the PDF viewer. The enum `PageViewMode` has two constants - `Continuous`, `PageByPage`. The default value is `Continuous`. The below code snippet illustrates how to switch to the page by page view mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PageViewMode = PageViewMode.PageByPage;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Tracking the changes in the `PageViewMode` property
+
+When the `PageViewMode` property changes, the `PageViewModeChanged` event is raised. The second parameter of the event handler is of type `PageViewModeChangedEventArgs` which provides the details about the old and new view modes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PageViewModeChanged += PdfViewerControl_PageViewModeChanged1;
+
+private void PdfViewerControl_PageViewModeChanged1(object sender, PageViewModeChangedEventArgs e)
+{
+    PageViewMode oldViewMode = e.PreviousPageViewMode;
+    PageViewMode newViewMode = e.CurrentPageViewMode;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to disable the page navigation by flipping in a single page view mode
+
+The page navigation by flipping the pages in a single page view mode can be enabled or disabled by setting the `IsPageFlipEnabled` API to `true` or `false` respectively.
+
+N>The default value of the `IsPageFlipEnabled` API is set to `true`. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the page navigation by flipping pages
+pdfViewer.IsPageFlipEnabled= false;
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/TextMarkup.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/TextMarkup.md
new file mode 100644
index 000000000..b25990e4f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/TextMarkup.md
@@ -0,0 +1,756 @@
+---
+layout: post
+title:  Add & modify text markups PDF viewer Xamarin.iOS | Syncfusion
+description: PDF viewer Xamarin.iOS allows user to highlight, underline and strikethrough the text content in the PDF document.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with text markup annotation
+
+The PDF viewer supports to add, edit, and delete text markup annotations (highlight, underline, and strikethrough) in the PDF document.
+
+## Highlight a text
+
+The two ways to highlight a text in the PDF document are: 
+
+1. By selecting the text and highlight option
+
+	* Select the text in the PDF document.
+    * Select “Highlight” option in the context menu that appears.
+	
+2. Enabling the highlight mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once highlight annotation mode is activated, scrolling of the document will be frozen and highlight annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to highlight annotation mode
+
+C# code to switch to highlight annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+	internal SfPdfViewer pdfViewerControl;
+	UIButton highlightAnnotationButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60,     this.View.Frame.Width, this.View.Frame.Height - 20);
+	highlightAnnotationButton.Frame = new CGRect(15, 7, 35, 35);
+	highlightAnnotationButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	highlightAnnotationButton.TouchUpInside += HighlightAnnotationButton_TouchUpInside;
+	highlightAnnotationButton.SetBackgroundImage(UIImage.FromFile("HighlightAnnotation.png"), UIControlState.Normal);
+	this.View.Add(highlightAnnotationButton);
+	this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+//Enable highlight annotation.
+void HighlightAnnotationButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.AnnotationMode = AnnotationMode.Highlight;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Highlight the text programmatically
+
+By `AddAnnotation` method , You can highlight the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Highlight, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Underline a text
+
+The two ways to underline a text in the PDF document are: 
+
+1. By selecting the text and underline option
+
+	* Select the text in the PDF document.
+    * Select “Underline” option in the context menu that appears.
+	
+2. Enabling the underline mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once underline annotation mode is activated, scrolling of the document will be frozen and underline annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to underline annotation mode
+
+C# code to switch to underline annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+internal SfPdfViewer pdfViewerControl;
+UIButton underlineAnnotationButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	underlineAnnotationButton.Frame = new CGRect(15, 7, 35, 35);
+	underlineAnnotationButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	underlineAnnotationButton.TouchUpInside += UnderlineAnnotationButton_TouchUpInside;
+	underlineAnnotationButton.SetBackgroundImage(UIImage.FromFile("UnderlineAnnotation.png"), UIControlState.Normal);
+	this.View.Add(underlineAnnotationButton);
+	this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+//Enable underline annotation.
+void UnderlineAnnotationButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.AnnotationMode = AnnotationMode.Underline;
+}
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Underline the text programmatically
+
+By `AddAnnotation` method , You can underline the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Underline, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Strikethrough a text
+
+The two ways to strikethrough a text in the PDF document are: 
+
+1. By selecting the text and strikethrough option
+
+	* Select the text in the PDF document.
+    * Select “Strikethrough” option in the context menu that appears.
+	
+2. Enabling the strikethrough mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once strikethrough annotation mode is activated, scrolling of the document will be frozen and strikethrough annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to strikethrough annotation mode
+
+C# code to switch to strikethrough annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+internal SfPdfViewer pdfViewerControl;
+UIButton strikethroughAnnotationButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	strikethroughAnnotationButton.Frame = new CGRect(15, 7, 35, 35);
+	strikethroughAnnotationButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	strikethroughAnnotationButton.TouchUpInside += StrikethroughAnnotationButton_TouchUpInside;
+	strikethroughAnnotationButton.SetBackgroundImage(UIImage.FromFile("StrikethroughAnnotation.png"), UIControlState.Normal);
+	this.View.Add(strikethroughAnnotationButton);
+	this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+//Enable strikethrough annotation.
+void StrikethroughAnnotationButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.AnnotationMode = AnnotationMode.Strikethrough;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Strikethrough the text programmatically
+
+By `AddAnnotation` method , You can strikethrough the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Strikethrough, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting text markup annotation programmatically
+
+By `SelectAnnotation` method ,You can select the text markup annotation programmatically. The specified text markup annotation object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified text markup annotation
+pdfViewerControl.SelectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting text markup annotation programmatically
+
+By `DeselectAnnotation` method ,You can deselect the text markup annotation programmatically. The specified text markup annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified text markup annotation 
+pdfViewerControl.DeselectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of text markup annotations
+
+You can customize the default values of color, opacity, and interaction (locked) of the text markup annotations that are to be added. This will not affect the text markup annotations that were already added.
+
+N>In all code samples, the [`Highlight`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.DefaultTextMarkupAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_DefaultTextMarkupAnnotationSettings_Highlight) text markup annotation is used for illustration purposes
+
+### Setting the default opacity
+
+You can set the default opacity for the text markup annotations by using the [`SfPdfViewer.AnnotationSettings.TextMarkup.Highlight.Opacity`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.HighlightAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_HighlightAnnotationSettings_Opacity) property. The opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the opacity for text markup annotation 
+pdfViewer.AnnotationSettings.TextMarkup.Highlight.Opacity = 0.5f;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default color
+
+You can set the color for the text markup annotations by using the [`SfPdfViewer.AnnotationSettings.TextMarkup.Highlight.Color`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.HighlightAnnotationSettings.html#Syncfusion_SfPdfViewer_iOS_HighlightAnnotationSettings_Color) property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the color for text markup annotation
+pdfViewer.AnnotationSettings.TextMarkup.Highlight.Color = UIColor.Black;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting a text markup annotation
+
+The PDF viewer removes a single annotation in the PDF document, removes all the annotations in a page, and removes all the annotations in the document.
+
+### Removing a single annotation.
+
+The following code snippet illustrates removing a selected annotation in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+IAnnotation annotation;
+internal SfPdfViewer pdfViewerControl;
+UIButton removeButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	removeButton.Frame = new CGRect(this.View.Frame.Width - 100, 7, 35, 35);
+	removeButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	removeButton.TouchUpInside += RemoveButton_TouchUpInside;
+	removeButton.SetBackgroundImage(UIImage.FromFile("Remove.png"), UIControlState.Normal);
+	this.View.Add(removeButton);
+	this.View.AddSubview(pdfViewerControl);
+	pdfViewerControl.TextMarkupSelected += PdfViewerControl_TextMarkupSelected;
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+   //Get the annotation from selected event.
+   annotation = sender as IAnnotation;
+}
+
+void RemoveButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.RemoveAnnotation(annotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in a page
+
+The ClearAllAnnotations(int pageNumber) API can be used to remove all the annotations in a page of the PDF document. 
+
+C# code to clear all the annotations in a given page number.
+
+{% tabs %}
+{% highlight c# %}
+
+UIButton clearAllButton = new UIButton();
+internal SfPdfViewer pdfViewerControl;
+int pageNumber = 3;
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	clearAllButton.Frame = new CGRect(this.View.Frame.Width - 100, 7, 35, 35);
+	clearAllButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	clearAllButton.TouchUpInside += clearAllButton_TouchUpInside;
+	clearAllButton.SetBackgroundImage(UIImage.FromFile("Remove.png"), UIControlState.Normal);
+	this.View.Add(clearAllButton);
+	this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+//Clear all the annotations in the given page number in a button click.
+void clearAllButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.ClearAllAnnotations(pageNumber);
+
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in the PDF document
+
+The ClearAllAnnotations API can be used to remove all the annotations in the PDF document.
+
+C# code to clear all the annotations in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+UIButton clearAllButton = new UIButton();
+internal SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	clearAllButton.Frame = new CGRect(this.View.Frame.Width - 100, 7, 35, 35);
+	clearAllButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	clearAllButton.TouchUpInside += clearAllButton_TouchUpInside;
+	clearAllButton.SetBackgroundImage(UIImage.FromFile("Remove.png"), UIControlState.Normal);
+	this.View.Add(clearAllButton);
+	this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+//Clear all the annotations in the PDF document in a button click.
+void clearAllButton_TouchUpInside(object sender, EventArgs e)
+{
+	pdfViewerControl.ClearAllAnnotations();
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Editing the color of the text markup annotation
+
+You can edit the color of the text markup annotation before including the annotation and after including the annotation. 
+
+### Before inclusion of the annotation or Default color
+
+You can alter the default color of the annotation to change the color while including annotation. Refer to the following code sample. 
+
+{% tabs %}
+{% highlight c# %}
+
+internal SfPdfViewer pdfViewerControl;
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	this.View.AddSubview(pdfViewerControl);
+	pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Color = UIColor.Blue;
+	pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Color = UIColor.Yellow;
+	pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Color = UIColor.Green;
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Setting this property will not edit the color of annotations that are included in prior.
+
+### After inclusion of the annotation
+
+* Select the annotation.
+* TextMarkupSelected event will be triggered and you will get a copy of selected annotation. 
+* Edit the copy of annotation, so that you can edit the color of the text markup annotation.          
+
+The following code snippet illustrates the same.    
+                     
+{% tabs %}
+{% highlight c# %}
+
+TextMarkupAnnotation selectedAnnotation;
+internal SfPdfViewer pdfViewerControl;
+UIButton redColorButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	redColorButton.Frame = new CGRect(this.View.Frame.Width - 100, 7, 35, 35);
+	redColorButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	redColorButton.BackgroundColor = UIColor.Red;
+	redColorButton.TouchUpInside += RedColorButton _TouchUpInside;
+	this.View.Add(redColorButton);
+	this.View.AddSubview(pdfViewerControl);
+	pdfViewerControl.TextMarkupSelected += PdfViewerControl_TextMarkupSelected;
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+   //Get the annotation from selected event.
+   selectedAnnotation = sender as TextMarkupAnnotation;
+}
+
+//Apply color to the selected annotation in a button click.
+void RedColorButton_TouchUpInside(object sender, EventArgs e)
+{
+	if (selectedAnnotation!= null)
+		selectedAnnotation.Settings.Color = UIColor.Red;
+}
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Performing undo and redo
+
+The PDF viewer performs undo and redo for the changes made in annotations in the PDF document. In text markup annotation undo and redo actions are provided for: 
+
+* Inclusion of new text markup annotation.
+* Deletion of text markup annotation.
+* Changing the color of the text markup annotation. 
+
+Refer to the following code sample to perform undo and redo operations:  
+
+
+{% tabs %}
+{% highlight c# %}
+
+internal SfPdfViewer pdfViewerControl;
+UIButton UndoButton = new UIButton();
+UIButton RedoButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	UndoButton.Frame = new CGRect(130, 7, 35,35);
+	UndoButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	UndoButton.TouchUpInside += UndoButton_TouchUpInside;
+	UndoButton.SetBackgroundImage(UIImage.FromFile("Undo.png"), UIControlState.Normal);
+	this.View.Add(UndoButton);
+
+	RedoButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+		RedoButton.Frame = new CGRect(parentView.Frame.Width / 2 + 10, 7, 35,35);
+		RedoButton.Frame = new CGRect(175, 7, 35,35);
+	RedoButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	RedoButton.TouchUpInside += RedoButton_TouchUpInside;
+	RedoButton.SetBackgroundImage(UIImage.FromFile("Redo.png"), UIControlState.Normal);
+	this.View.Add(RedoButton);            this.View.AddSubview(pdfViewerControl);
+
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+//Perform Redo operation in a button click.
+void RedoButton_TouchUpInside (object sender, EventArgs ea)
+{
+	pdfViewerControl.PerformRedo();
+}
+
+//Perform Undo operation in a button click.
+void UndoButton_TouchUpInside(object sender, EventArgs ea)
+{
+	pdfViewerControl.PerformUndo();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Saving the PDF document
+
+After performing all the changes over the PDF document in the PDF viewer, the resultant document can be saved using the SaveDocument() API.
+
+{% tabs %}
+{% highlight c# %}
+
+	internal SfPdfViewer pdfViewerControl;
+	UIButton saveButton = new UIButton();
+
+public override void ViewDidLoad()
+{
+	base.ViewDidLoad();
+
+	pdfViewerControl = new SfPdfViewer();
+	pdfViewerControl.Frame = new CGRect(this.View.Frame.X, 60, this.View.Frame.Width, this.View.Frame.Height - 20);
+	saveButton.Frame = new CGRect(55, 7, 35,35);
+	saveButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center;
+	saveButton.TouchUpInside += SaveButton_TouchUpInside;
+	saveButton.SetBackgroundImage(UIImage.FromFile("Save.png"), UIControlState.Normal);
+	this.View.Add(saveButton);
+	this.View.AddSubview(pdfViewerControl);
+}
+
+public override void ViewDidAppear(bool animated)
+{
+	base.ViewDidAppear(animated);
+	var fileStream = typeof(MainViewController).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStartediOS.Assets.GIS Succinctly.pdf");
+	pdfViewerControl.LoadDocument(fileStream);
+}
+
+//Save the PDF document in a button click.
+void SaveButton_TouchUpInside(object sender, EventArgs e)
+{
+	Stream stream = new MemoryStream();
+	stream = pdfViewerControl.SaveDocument();
+	string path =            Environment.GetFolderPath(Environment.SpecialFolder.Personal);
+	string filePath = Path.Combine(path, "savedDocument.pdf");
+	FileStream fileStream = File.Open(filePath, FileMode.Create);
+	stream.Position = 0;
+	stream.CopyTo(fileStream);
+	fileStream.Close();
+}
+
+
+
+{% endhighlight %}
+{% 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-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_TextMarkupAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_TextMarkupAdded(object sender, TextMarkupAddedEventArgs args)
+{
+(sender as TextMarkupAnnotation).Name = "TextMarkupAnnotation1";
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_TextMarkupAdded) event. But this can be done in all other events as well. 
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-AcroForms.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-AcroForms.md
new file mode 100644
index 000000000..99e43820a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-AcroForms.md
@@ -0,0 +1,165 @@
+---
+layout: post
+title:  Filling PDF forms using PDF Viewer Xamarin.iOS | Syncfusion
+description: Filling and signing forms in the PDF document using Syncfusion PDF Viewer control | Xamarin.iOS | Syncfusion
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with PDF AcroForms
+
+PDF Viewer supports adding/modifying the existing forms fields content present in the PDF document. By default, it detects the form fields present in the PDF document and enables modifying or filling the values.
+
+## How to restrict editing the form field values in the existing PDF document
+
+By setting the `EnableFormFilling` property of the PdfViewerControl instance to false, you can avoid modifying the values of the form field elements present in the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Does not load the form fields in PDF viewer
+pdfViewerControl.EnableFormFilling = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableFormFilling property is set to true.
+
+## How to flatten and save the form fields data
+
+Flattening PDF form is a process of removing the form fields in the PDF document, thereby rendering the form fields appearance and its content in the page graphics. This will avoid the PDF form being edited in any device. PDF Viewer supports flattening the PDF form when saving. You can perform this action by passing the parameter `true` to the Save method of PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+//Flatten and save the form fields during saving process
+pdfViewerControl.SaveDocument(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Rendering the appearance content of signature form fields
+
+By default, the PDF viewer does not display the appearance content of signature form fields. But the appearance can be displayed by flattening the signature form fields before loading the PDF. This can be achieved by setting the `FlattenSignatureFields` property as true. The default value of the property is set as false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the signature form fields should be flattened when the PDF is loaded or not.
+pdfViewerControl.FormSettings.FlattenSignatureFields = true;
+
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Signature form fields are only flattened when the page displayed in the viewer is only for viewing the appearance of signature form fields. Once the signature form fields are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the `FlattenSignatureFields` property as `true` will does not affect the save and form field export operations. The signature form fields will not be flattened in these operations.
+
+## Events to track form field interaction
+
+The PDF Viewer allows you to track form field interactions using events. The interactions on the following types of form fields can be tracked using events.
+
+* Text
+* Check Box
+* Radio button
+* Combo Box
+* List box
+* Signature
+
+### Detecting the value change of form fields
+
+The`FormFieldValueChanged` event will be raised when the values of the form fields are changed.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldValueChanged="PdfViewer_FormFieldValueChanged"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldValueChanged(object sender, FormFieldValueChangedEventArgs args)
+ { 
+ 
+ //Get the name of the form field          
+ string fieldName = args.FormFieldName;
+ 
+ //Get the type of the form field   
+ FormFieldType formFieldType= args.FormFieldType; 
+ 
+ //Get the value of the form field after the event occurs    
+ object newValue = args.NewValue;     
+ 
+ //Get the value of the form field before the event occurs 
+ object oldValue = args.OldValue;
+
+ }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the focus of form fields
+
+The `FormFieldFocused` event will be raised when text or signature field is focused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldFocused="PdfViewer_FormFieldFocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldFocused(object sender, FormFieldFocusedEventArgs args) 
+{  
+          
+//Get the name of the form field             
+string fieldName = args.FormFieldName;           
+
+//Get the type of the form field            
+FormFieldType formFieldType= args.FormFieldType; 
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
+
+### Detecting the unfocus of form fields
+
+The `FormFieldUnfocused` event will be raised when text or signature field is unfocused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldUnfocused="PdfViewer_FormFieldUnfocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldUnfocused(object sender, FormFieldUnfocusedEventArgs args) 
+{          
+  //Get the name of the form field             
+  string fieldName = args.FormFieldName;       
+
+  //Get the type of the form field       
+  FormFieldType formFieldType= args.FormFieldType;
+  
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-Coordinates.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-Coordinates.md
new file mode 100644
index 000000000..a94b3755e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-PDF-Coordinates.md
@@ -0,0 +1,164 @@
+---
+layout: post
+title: PDF coordinates in Xamarin.iOS Pdf Viewer control | Syncfusion
+description: Learn here all about working with PDF coordinates and their conversions support in Syncfusion Xamarin.iOS Pdf Viewer control and more.
+platform: Xamarin.iOS
+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/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-Scrollhead.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-Scrollhead.md
new file mode 100644
index 000000000..d31db7655
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-Scrollhead.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title:  ScrollHead in Xamarin.iOS PDF Viewer | Syncfusion
+description: Working with ScrollHead
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with ScrollHead
+
+The scroll head in the PDF Viewer allows users to easily scroll through and navigate to destination page in the PDF document. ScrollHead always appears on the right side of PDF Viewer.
+
+## Enabling and disabling ScrollHead
+
+By setting the `EnableScrollHead` property of the PdfViewerControl instance to false, you can disable the scroll head.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>EnableScrollHead</td>
+<td>Gets or sets the value that enable and disable the ScrollHead feature in PDF Viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<pdfviewer:SfPdfViewer x:Name="pdfViewerControl" EnableScrollHead="False"/>               
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Disables the scroll head
+pdfViewerControl.EnableScrollHead = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to a desired page using ScrollHead
+
+PDF Viewer allows users to navigate to a desired destination page using ScrollHead. On tapping the ScrollHead of PDF Viewer, a page navigation pop-up will appear and users can navigate to the destination page by entering a valid page number.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-custom-stamp-annotations.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-custom-stamp-annotations.md
new file mode 100644
index 000000000..47cab39d4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-custom-stamp-annotations.md
@@ -0,0 +1,301 @@
+---
+layout: post
+title: Custom stamp annotations | PDF Viewer | Xamarin.iOS | Syncfusion
+description: The custom stamp annotation allows the users to include any form of Xamarin.iOS widget like Button, Entry, Label, and Image anywhere in the PDF document
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with custom stamp annotations
+
+PDF Viewer allows you to include any form of Xamarin.iOS UIView that is Button, Entry, Label, Image and more anywhere in the pages of the PDF Viewer as custom stamp annotation. You can perform operations like add, move, resize, and delete the custom stamp annotations. Also, you can save and load the existing custom stamp annotation that is associated with the PDF document
+
+## Add a custom stamp
+
+The custom stamps can be added using the `AddAnnotation` or `AddStamp` methods.
+
+{% tabs %}
+{% highlight c# %}
+
+//Add custom stamp/view
+pdfViewer.AddAnnotation(StampAnnotation stampAnnotation)
+
+//Add custom stamp/view to the specified page
+pdfViewer.AddStamp(View view, int pageNumber)
+
+//Add custom stamp/view to the specified page and position as Point object
+pdfViewer.AddStamp(View view, int pageNumber, Point position)
+
+//Add custom stamp/view to the specified page and position as Rectangle object
+pdfViewer.AddStamp(View view, int pageNumber, Rectangle bounds)
+
+{% endhighlight %}
+{% endtabs %}
+
+A typical example of the custom stamp in the real world includes, adding an image as custom stamp. PDF Viewer provides option to add any user defined signature or seal image as custom stamp to the PDF document. The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+    //Set image source
+    Image image = new Image();
+    image.Source = ImageSource.FromResource("Sample.Assets.Logo.png", typeof(App).GetTypeInfo().Assembly);
+    image.WidthRequest = 200;
+    image.HeightRequest = 100;
+
+    //Method 1: Add image as custom stamp to the first page using `AddStamp` method
+    pdfViewer.AddStamp(image, 1);
+	
+	//Method 2: Create a stamp annotation instance and add using `AddAnnotation` method
+	//StampAnnotation stampAnnotation = new StampAnnotation(image, 1, new Rectangle(100, 100, 100, 100));
+	//pdfViewer.AddAnnotation(stampAnnotation);  	
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationAdded` event will be raised when custom stamp annotations are added in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationAdded += PdfViewer_StampAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select a custom stamp
+
+You can select a custom stamp annotation by tapping on it and this action is followed by the appearance of the selector around the custom stamp annotation. The `StampAnnotationSelected` event will be raised when custom stamp annotations are selected in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationSelected += PdfViewer_StampAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationSelectedEventArgs` properties of the selected custom stamp annotation includes page number and bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+{
+    //Gets the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+
+    //Gets the bounds of selected stamp annotation
+    Rectangle bounds = e.Bounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Also, tapping a custom stamp annotation selects it or deselects if it is already selected. Tapping a custom stamp annotation will raise the `StampAnnotationTapped` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Select a custom stamp annotation programmatically
+
+By `SelectAnnotation` method, You can select the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified stamp annotation
+pdfViewer.SelectAnnotation(stampAnnotation);           
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect a custom stamp
+
+You can deselect a selected custom stamp annotation by tapping on it or somewhere else on the PDF document. Deselection of a custom stamp annotation can be detected using the `StampAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationDeselected += PdfViewer_StampAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect a custom stamp annotation programmatically
+
+By `DeselectAnnotation` method , You can deselect the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified stamp annotation
+pdfViewer.DeselectAnnotation(StampAnnotation);       
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in Calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Move or resize a custom stamp
+
+Select the custom stamp annotation to move or resize it. After the selector appears around the custom stamp annotation, drag it to move to a new location by tapping anywhere inside the selector. Similarly, drag the selector corner handle(s) to resize the selected custom stamp annotation. The `StampAnnotationMovedOrResized` event will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationMovedOrResized += PdfViewer_StampAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationMovedOrResizedEventArgs` properties of the moved or resized custom stamp annotation includes page number, old bounds, and new bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationMovedOrResized(object sender, StampAnnotationMovedOrResizedEventArgs e)
+{
+    //Get the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+
+    //Get the old bounds of selected stamp annotation
+    Rectangle oldBounds = e.OldBounds;
+
+    //Get the new bounds of selected stamp annotation
+    Rectangle newBounds = e.NewBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Customize the Minimum size of the Custom Stamp Annotations?
+
+By the `MinimumSize` property, You can set the minimum size to which the custom stamp annotations could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the custom stamp annotations
+pdfViewer.AnnotationSettings.Stamp.MinimumSize = new CGSize(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Delete a custom stamp
+
+When you select the custom stamp annotation, delete icon will appear on the bottom toolbar. By clicking that delete icon, the selected custom stamp annotation can be removed. The `StampAnnotationRemoved` event will be raised when a custom stamp annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationRemoved += PdfViewer_StampAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to retrieve the actual view added as the stamp using the AddStamp method?
+
+The stamp annotation view can be retrieved when the stamp is added, tapped, selected, deselected, moved, or resized, and removed from the event data parameter of the respective event handler from the [`CustomStampView`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.StampAnnotationSelectedEventArgs.html#Syncfusion_SfPdfViewer_iOS_StampAnnotationSelectedEventArgs_CustomStampView) property. The stamp view, thus retrieved, is the same instance as the one added using the [`AddStamp`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AddStamp_Xamarin_Forms_View_System_Int32_) method. 
+
+Refer to the following code example. The [`StampAnnotationSelected`](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_StampAnnotationSelected) event is shown for illustration purposes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.StampAnnotationSelected += PdfViewerControl_StampAnnotationSelected;
+
+private void PdfViewerControl_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+        {
+            //Retrieves the actual view added as the stamp using the AddStamp method.
+            var customStamp = e.CustomStampView;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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. 
+
+{% tabs %}
+{% highlight c# %}
+
+//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, though its 'IsLocked' property is set to ‘false’ .
+pdfViewerControl.AnnotationSettings.IsLocked = true;
+pdfViewerControl.AnnotationSettings.Stamp.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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# %}
+
+//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 %}
+
+## How to get and set the name of the custom stamp annotations?
+
+The PDF Viewer allows the users to get and set the name of custom stamp annotations through the [Name](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.IAnnotation.html#Syncfusion_SfPdfViewer_iOS_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_StampAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+ private void PdfViewerControl_StampAnnotationAdded(object sender, StampAnnotationAddedEventArgs e)
+{
+(sender as StampAnnotation).Name = "StampAnnotation1";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin-ios/Syncfusion.SfPdfViewer.iOS.SfPdfViewer.html#Syncfusion_SfPdfViewer_iOS_SfPdfViewer_StampAnnotationAdded) event. But this can be done in all other events as well.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-magnification.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-magnification.md
new file mode 100644
index 000000000..f38d8dd1b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/Working-with-magnification.md
@@ -0,0 +1,75 @@
+---
+layout: post
+title:  Working with magnification in PDF Viewer Xamarin.iOS | Syncfusion
+description: The PDF Viewer allows the users to magnify the PDF documents in multiple ways like setting maximum, minimum and custom zoom percentage.
+platform: Xamarin.iOS
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with magnification
+
+Magnification of the PDF document can be done in multiple ways and the different ways are explained below.
+
+## Set custom zoom percentage
+
+The users can set custom magnification factor between 100 and 300 to magnify the document displayed. The following code explains this,
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.ZoomPercentage = 150;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Get custom zoom factor
+
+The following code explains accessing zoom factor in which the document is displayed in the viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+int zoom = pdfViewerControl.ZoomPercentage;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set maximum zoom percentage
+
+The PDF Viewer control allows you to set the maximum zoom percentage value for the PDF document being displayed. The following code example will set the maximum zoom percentage of PDF Viewer instance to 200.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.MaximumZoomPercentage = 200;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set minimum zoom percentage
+
+The PDF Viewer control allows you to set the minimum zoom percentage value for the PDF document being displayed. The following code example will set the minimum zoom percentage of PDF Viewer instance to 10.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.MinimumZoomPercentage = 10;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the double-tap zoom
+
+You can enable or disable the zooming of a PDF document on double-tap by setting the `EnableDoubleTapZooming` property of the PDF viewer to `true` or `false` respectively.
+
+N>The default value of the `EnableDoubleTapZooming` API is set to `true`. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the double-tap zoom
+pdfViewer.EnableDoubleTapZooming = false;
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/overview.md b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/overview.md
new file mode 100644
index 000000000..0cea440a5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/overview.md
@@ -0,0 +1,26 @@
+---
+layout: post
+title: Overview of PDF Viewer for Xamarin.iOS | Syncfusion
+description: Overview and key features of Xamarin.iOS PDF viewer
+platform: Xamarin.Android
+control: SfPdfViewer
+documentation: ug
+---
+
+# PDFViewer
+
+PDF Viewer for Xamarin.iOS allows the user to view PDF documents within your Xamarin.iOS application. 
+
+![SfPdfViewer](pdfviewer_images/pdfviewer.png)
+
+**Key features:**
+
+The following list shows the key features available in PDF Viewer control.
+
+* View PDF documents
+* Search a text in PDF document
+* Select text and copy it to clipboard
+* Scroll, pan, zoom in and out
+* Page navigation
+
+N>PDF Viewer for Xamarin.iOS will be supported from iOS version 9.0 onwards.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/BookmarkButton.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/BookmarkButton.png
new file mode 100644
index 000000000..871d3e91a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/BookmarkButton.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/ClientCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/ClientCoordinates.png
new file mode 100644
index 000000000..41827262f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/ClientCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/PageCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/PageCoordinates.png
new file mode 100644
index 000000000..e3fdbed54
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/PageCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer1.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer1.png
new file mode 100644
index 000000000..cf47add1a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer1.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer2.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer2.png
new file mode 100644
index 000000000..5d594838d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewer2.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerFlipping.gif b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerFlipping.gif
new file mode 100644
index 000000000..188604aa2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerFlipping.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerScrolling.gif b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerScrolling.gif
new file mode 100644
index 000000000..ab76c9acb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/SinglePageViewerScrolling.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/bookmark.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/bookmark.png
new file mode 100644
index 000000000..15955786d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/bookmark.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/gettingstarted.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/gettingstarted.png
new file mode 100644
index 000000000..99723f792
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/gettingstarted.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/iosresources.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/iosresources.png
new file mode 100644
index 000000000..64f839f83
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/iosresources.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationoutput.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationoutput.png
new file mode 100644
index 000000000..63611b65f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationoutput.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationstrings.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationstrings.png
new file mode 100644
index 000000000..dbd19e283
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/localizationstrings.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/pdfviewer.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/pdfviewer.png
new file mode 100644
index 000000000..bb406b57a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/print.png b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/print.png
new file mode 100644
index 000000000..77b5f0842
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin-ios/pdfviewer_images/print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Accessibility.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Accessibility.md
new file mode 100644
index 000000000..d2710b966
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Accessibility.md
@@ -0,0 +1,98 @@
+---
+layout: post
+title: Accessibility in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Accessibility support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Accessibility in Xamarin Pdf Viewer (SfPdfViewer)
+
+The SfPdfViewer control has built-in `AutomationId` for inner elements. The `AutomationId` API allows the automation framework to find and interact with the inner elements of the SfPdfViewer control. The following screenshots illustrate the AutomationIds of SfPdfViewer's inner elements. 
+
+**Top toolbar**
+
+![Top Toolbar](pdfviewer_images/automation-id/Top Toolbar.png)
+
+**Bottom toolbar**
+
+![Bottom Toolbar](pdfviewer_images/automation-id/Bottom Toolbar.png)
+
+**Search toolbar**
+
+![Search Toolbar](pdfviewer_images/automation-id/Search Toolbar.png)
+
+**Annotation toolbar**
+
+![Annotation Toolbar](pdfviewer_images/automation-id/Annotation Toolbar.png)
+
+**Text markup annotation toolbar**
+
+![Text markup annotation Toolbar](pdfviewer_images/automation-id/Text Markups Toolbar.png)
+
+**Highlight annotation toolbar**
+
+![Highlight annotation Toolbar](pdfviewer_images/automation-id/Highlight Toolbar.png)
+
+**Underline annotation toolbar**
+
+![Underline annotation Toolbar](pdfviewer_images/automation-id/Underline Toolbar.png)
+
+**Strikethrough annotation toolbar**
+
+![Strikethrough annotation Toolbar](pdfviewer_images/automation-id/Strikethrough Toolbar.png)
+
+**Shape annotation toolbar**
+
+![Shape annotation Toolbar](pdfviewer_images/automation-id/Shapes Toolbar.png)
+
+**Rectangle annotation toolbar**
+
+![Rectangle annotation Toolbar](pdfviewer_images/automation-id/Rectangle Toolbar.png)
+
+**Ellipse annotation toolbar**
+
+![Ellipse annotation Toolbar](pdfviewer_images/automation-id/Ellipse Toolbar.png)
+
+**Line annotation toolbar**
+
+![Line annotation Toolbar](pdfviewer_images/automation-id/Line Toolbar.png)
+
+**Arrow annotation toolbar**
+
+![Arrow annotation Toolbar](pdfviewer_images/automation-id/Arrow Toolbar.png)
+
+**Ink annotation toolbar**
+
+![Ink annotation Toolbar](pdfviewer_images/automation-id/Ink Toolbar.png)
+
+**Free text annotation toolbar**
+
+![Free text annotation Toolbar](pdfviewer_images/automation-id/Free Text Toolbar.png)
+
+**Thickness selection toolbar**
+
+![Thickness selection Toolbar](pdfviewer_images/automation-id/Thickness Toolbar.png)
+
+**Color selection toolbar**
+
+![Color selection Toolbar](pdfviewer_images/automation-id/Color Picker.png)
+
+**Ink Annotation - Undo, Redo toolbar**
+
+![Ink Annotation Undo Redo Toolbar](pdfviewer_images/automation-id/Undo Redo Ink.png)
+
+**Signature pad**
+
+![Signature Pad](pdfviewer_images/automation-id/Signature Pad.png)
+
+**View mode toolbar**
+
+![View mode Toolbar](pdfviewer_images/automation-id/Flipview Mode.png)
+
+**More options toolbar**
+
+![More options Toolbar](pdfviewer_images/automation-id/More Options Toolbar.png)
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Bookmark-navigation.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Bookmark-navigation.md
new file mode 100644
index 000000000..4c8e11cfb
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Bookmark-navigation.md
@@ -0,0 +1,229 @@
+---
+layout: post
+title: Bookmark Navigation in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Bookmark Navigation support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Bookmark Navigation in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows users to view the bookmarks present in the loaded PDF document and navigate to the destination saved in the bookmarks. 
+
+## Enabling and disabling bookmark feature
+
+You can enable and disable the bookmark button from the built-in toolbar using the `BookmarkNavigationEnabled` property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkNavigationEnabled</td>
+<td>Gets or sets the value that enable and disable the bookmark feature in PDF viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+This property removes the bookmark button from the built-in toolbar and disable the bookmark feature, when it is set to false and vice versa.
+
+{% tabs %}
+{% highlight xaml %}
+
+<pdfviewer:SfPdfViewer x:Name="pdfViewerControl" BookmarkNavigationEnabled="False"/>               
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark feature is disabled
+pdfViewerControl. BookmarkNavigationEnabled = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## Expand and collapse the bookmark pane from built-in toolbar
+
+The bookmark pane is expanded and collapsed by clicking the bookmark button from the built-in toolbar.
+
+![Button for Bookmark](pdfviewer_images/BookmarkButton.png)
+
+## Expand and collapse the bookmark pane programmatically
+
+The bookmark pane is expanded and collapsed programmatically by using the `BookmarkPaneVisible` bindable property available in PDF viewer.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>BookmarkPaneVisible</td>
+<td>Gets or sets the value to expand and collapse the bookmark pane in PDF viewer. Setting this property to true expands the pane and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<pdfviewer:SfPdfViewer x:Name="pdfViewerControl" BookmarkPaneVisible="False"/>     
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark pane will be collapsed, if it is expanded
+pdfViewerControl.BookmarkPaneVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Getting the bookmarks from the PDF
+
+The bookmarks existing in the PDF document can be obtained from the `Bookmarks` property. The `Bookmarks` collection is not supposed to be modified by adding new bookmarks or removing existing bookmarks. Changes made to the `Bookmarks` collection will not be reflected in the bookmark pane and in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+List<PdfBookmark> bookmarks = pdfViewer.Bookmarks;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Programmatically navigate to a bookmark destination
+
+You can navigate to a desired bookmark destination using the `GotoBookmark(PdfBookmark)` method. The target/destination bookmark should be provided as the argument to this method. Refer to the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Loads the PDF document in PdfLoadedDocument
+PdfLoadedDocument loadedDocument = new PdfLoadedDocument(documentStream);
+//Retrieves the bookmark collection from the loaded PDF document
+PdfBookmarkBase bookmark = loadedDocument.Bookmarks;
+//Navigate to the specified bookmark destination offset
+pdfViewerControl.GoToBookmark(bookmark[0]);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Track the occurrence of the bookmark navigation
+
+You can track the bookmark navigation operation using the `BookmarkNavigationOccurred` event. The argument of this event will provide the instance of the bookmark, destination page number, and vertical offset. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.BookmarkNavigationOccurred += PdfViewerControl_BookmarkNavigationOccurred;
+private void PdfViewerControl_BookmarkNavigationOccurred(object sender, Syncfusion.SfPdfViewer.XForms.BookmarkNavigationOccurredEventArgs e)
+{
+      //Retrieves the current bookmark
+      PdfBookmark bookmark = e.Bookmark;
+      //Gets the vertical offset of the bookmark
+      double destinationOffset = e.Offset;
+      //Gets the current page number in which the bookmark destination resides
+      int pageNumber = e.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Custom bookmarks
+
+PDF viewer allows you to bookmark the current page dynamically. To bookmark a page, navigate to the page and bookmark it. These custom bookmarks can be saved with the document, but they will only be visible in the Syncfusion<sup>®</sup> PDF viewer. They will not be visible in other 3rd party PDF viewer applications.
+
+The custom bookmarks can be obtained using the `CustomBookmarks` property. 
+
+{% tabs %}
+{% highlight c# %}
+
+ObservableCollection<CustomBookmark> bookmarks = pdfViewer.CustomBookmarks;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add custom bookmarks using the bookmark pane
+                        
+Custom bookmarks can be added using the floating button in the bookmark pane.
+
+![Add custom bookmark](pdfviewer_images/CustomBookmarks.png)
+
+### Add custom bookmarks programmatically
+You can add a new custom bookmark by creating a `CustomBookmark` instance and adding to the `CustomBookmarks` collection.
+  
+{% tabs %}
+{% highlight c# %}
+
+//initializes new custom bookmark with name and page number
+CustomBookmark customBookmark = new CustomBookmark("Custom Bookmark 1", 1);
+       
+//Adds a new custom bookmark
+pdfViewerControl.CustomBookmarks.Add(customBookmark);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Navigating to custom bookmarks
+
+You can navigate to the desired custom bookmark destination using the `GoToBookmark` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the ith bookmark from the collection.
+CustomBookmark customBookmark = pdfViewerControl.CustomBookmarks[i];
+
+//Navigate to the bookmark
+pdfViewerControl.GoToBookmark(customBookmark);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Rename custom bookmarks using the bookmark context menu
+Tap the context menu button on the custom bookmark to be edited and choose **Rename** and enter the desired name. 
+
+![Bookmark context menu](pdfviewer_images/BookmarkContextMenu.png)
+ 
+### Rename custom bookmarks programmatically
+Custom bookmarks can be renamed using the `Name` property.
+   
+{% tabs %}
+{% highlight c# %}
+
+//Rename the custom bookmark at the ith index.
+pdfViewerControl.CustomBookmarks[i].Name = "New custom bookmark name";
+
+{% endhighlight %}
+{% endtabs %}
+
+### Remove custom bookmarks using the bookmark context menu
+Tap the context menu button on the custom bookmark to be removed and tap **Delete**.
+
+### Remove custom bookmarks programmatically
+Custom bookmarks can be removed from the `CustomBookmarks` collection using the `Remove` method. Refer to the below code snippet.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the custom bookmark at the ith index.
+CustomBookmark customBookmark = pdfViewerControl.CustomBookmarks[i];
+
+//Removes the custom bookmark at the ith index.
+pdfViewerControl.CustomBookmarks.Remove(customBookmark);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Built-in-toolbar.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Built-in-toolbar.md
new file mode 100644
index 000000000..e211199f1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Built-in-toolbar.md
@@ -0,0 +1,588 @@
+---
+layout: post
+title: Built-In Toolbar in Xamarin Pdf Viewer Control | Syncfusion
+description: Learn here all about Working with Built-In Toolbar support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with Built-In Toolbar in Xamarin Pdf Viewer (SfPdfViewer)
+
+The SfPdfViewer has a built-in toolbar that has provisions to perform majority of the operations in the PDF Viewer and that can be shown or hidden. You can hide the built-in toolbar and develop your own toolbar.
+
+## How to show/hide built-in toolbar
+
+By default, the built-in toolbar will be visible. It can be hidden by setting the `IsToolbarVisible` property of PDF Viewer to false.
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" IsToolbarVisible="False" />
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.IsToolbarVisible = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+![Build-in-toolbar disable in PDF Viewer](pdfviewer_images/ToolbarDisabled.png)
+
+The toolbar can be shown by setting the `IsToolbarVisible` property to true.
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" IsToolbarVisible="True" />
+    </ContentPage.Content>
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.IsToolbarVisible = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+![Build-in-toolbar enable in PDF Viewer](pdfviewer_images/ToolbarEnabled.png)
+
+N>The older API `SfPdfViewer.Toolbar.Enabled` have been marked as obsolete. 
+
+## How to show/hide built-in toolbar dynamically using data binding
+
+The below code snippet illustrates how to show/hide the built-in toolbar dynamically at run time using data binding.
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">			 
+	<ContentPage.BindingContext>
+        <local:PdfViewerViewModel></local:PdfViewerViewModel>
+    </ContentPage.BindingContext>
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" IsToolbarVisible={Binding ToolbarVisible} />
+    </ContentPage.Content>
+</ContentPage>          
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to disable/enable bookmark
+
+By default, the bookmark button will be enabled. It can be disabled by setting the `BookmarkNavigationEnabled` property of PDF Viewer to false.  
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" BookmarkNavigationEnabled="False"/>
+    </ContentPage.Content>
+</ContentPage>          
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Bookmark feature is disabled
+pdfViewerControl. BookmarkNavigationEnabled = false;             
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to show/hide the toolbar items in built-in toolbar
+
+The built-in toolbar in PdfViewer includes various items to perform operations such as navigation (bookmark, hyperlink and table of contents) and reviewing the PDF files with different annotation tools. These toolbar items can be hidden and customized as per the requirement.
+
+The items in the toolbar is shown or hidden using the following API.
+
+{% tabs %}
+{% highlight c# %}
+
+//Show/Hide the toolbar item(s)
+pdfViewerControl.Toolbar.SetToolbarItemVisibility(string itemName, bool isVisible);             
+
+{% endhighlight %}
+{% endtabs %}
+
+For an example, the following code snippet explains how to hide the `Save` button from the built-in toolbar.
+
+{% tabs %}
+{% highlight c# %}
+
+//Hides the 'Save' button
+pdfViewerControl.Toolbar.SetToolbarItemVisibility(“save”, false);        
+
+{% endhighlight %}
+{% endtabs %}
+
+Similarly, the other items can be hidden by mentioning the appropriate key names. Find the key names of all the toolbar items from the following table:
+
+<table>
+
+<tr>
+<th>Toolbar Item Name</th>
+<th>Key Name</th>
+</tr>
+
+<tr>
+<td>Page view mode button</td>
+<td><i><b>page-view-mode</b></i></td>
+</tr>
+
+<tr>
+<td>Continuous page view mode button</td>
+<td><i><b>continuous-pages</b></i></td>
+</tr>
+
+<tr>
+<td>Single page view mode button</td>
+<td><i><b>page-by-page</b></i></td>
+</tr>
+
+<tr>
+<td>Bookmark button</td>
+<td><i><b>bookmark</b></i></td>
+</tr>
+
+<tr>
+<td>Page number entry</td>
+<td><i><b>page-entry</b></i></td>
+</tr>
+
+<tr>
+<td>Page count label</td>
+<td><i><b>page-count</b></i></td>
+</tr>
+
+<tr>
+<td>Previous page button</td>
+<td><i><b>previous-page</b></i></td>
+</tr>
+
+<tr>
+<td>Next page button</td>
+<td><i><b>next-page</b></i></td>
+</tr>
+
+<tr>
+<td>Search button</td>
+<td><i><b>search</b></i></td>
+</tr>
+
+<tr>
+<td>Search back button</td>
+<td><i><b>search-back</b></i></td>
+</tr>
+
+<tr>
+<td>Search Bar</td>
+<td><i><b>search-bar</b></i></td>
+</tr>
+
+<tr>
+<td>Clear/Cancel search button</td>
+<td><i><b>search-clear</b></i></td>
+</tr>
+
+<tr>
+<td>Search next button</td>
+<td><i><b>search-next</b></i></td>
+</tr>
+
+<tr>
+<td>Search previous button</td>
+<td><i><b>search-previous</b></i></td>
+</tr>
+
+<tr>
+<td>Search instances label</td>
+<td><i><b>search-instances</b></i></td>
+</tr>
+
+<tr>
+<td>More options button</td>
+<td><i><b>more-options</b></i></td>
+</tr>
+
+<tr>
+<td>Undo button</td>
+<td><i><b>undo</b></i></td>
+</tr>
+
+<tr>
+<td>Redo button</td>
+<td><i><b>redo</b></i></td>
+</tr>
+
+<tr>
+<td>Save button</td>
+<td><i><b>save</b></i></td>
+</tr>
+
+<tr>
+<td>Print button</td>
+<td><i><b>print</b></i></td>
+</tr>
+
+<tr>
+<td>Annotation button</td>
+<td><i><b>annotation</b></i></td>
+</tr>
+
+<tr>
+<td>Annotation back button</td>
+<td><i><b>annotation-back</b></i></td>
+</tr>
+
+<tr>
+<td>Text markups annotation button</td>
+<td><i><b>text-markups</b></i></td>
+</tr>
+
+<tr>
+<td>Text markups back button</td>
+<td><i><b>text-markups-back</b></i></td>
+</tr>
+
+<tr>
+<td>Text highlight button</td>
+<td><i><b>text-highlight</b></i></td>
+</tr>
+
+<tr>
+<td>Text underline button</td>
+<td><i><b>text-underline</b></i></td>
+</tr>
+
+<tr>
+<td>Text strikethrough button</td>
+<td><i><b>text-strikethrough</b></i></td>
+</tr>
+
+<tr>
+<td>Text squiggly button</td>
+<td><i><b>text-squiggly</b></i></td>
+</tr>
+
+<tr>
+<td>Shapes annotation button</td>
+<td><i><b>shapes</b></i></td>
+</tr>
+
+<tr>
+<td>Shapes back button</td>
+<td><i><b>shapes-back</b></i></td>
+</tr>
+
+<tr>
+<td>Rectangle shape button</td>
+<td><i><b>rectangle</b></i></td>
+</tr>
+
+<tr>
+<td>Ellipse shape button</td>
+<td><i><b>ellipse</b></i></td>
+</tr>
+
+<tr>
+<td>Line shape button</td>
+<td><i><b>line</b></i></td>
+</tr>
+
+<tr>
+<td>Arrow shape button</td>
+<td><i><b>arrow</b></i></td>
+</tr>
+
+<tr>
+<td>Polygon shape button</td>
+<td><i><b>polygon</b></i></td>
+</tr>
+
+<tr>
+<td>Polyline shape button</td>
+<td><i><b>polyline</b></i></td>
+</tr>
+
+<tr>
+<td>Cloud shape button</td>
+<td><i><b>cloud</b></i></td>
+</tr>
+
+<tr>
+<td>Ink annotation button</td>
+<td><i><b>ink</b></i></td>
+</tr>
+
+<tr>
+<td>Ink undo button</td>
+<td><i><b>undo-ink</b></i></td>
+</tr>
+
+<tr>
+<td>Ink redo button</td>
+<td><i><b>redo-ink</b></i></td>
+</tr>
+
+<tr>
+<td>Ink confirmation button</td>
+<td><i><b>done</b></i></td>
+</tr>
+
+<tr>
+<td>Free text annotation button</td>
+<td><i><b>free-text</b></i></td>
+</tr>
+
+<tr>
+<td>Signature button</td>
+<td><i><b>signature</b></i></td>
+</tr>
+
+<tr>
+<td>Selected annotation button</td>
+<td><i><b>selected-annotation</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation button</td>
+<td><i><b>edited-annotation</b></i></td>
+</tr>
+
+<tr>
+<td>Selected annotation back button</td>
+<td><i><b>selected-annotation-back</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation back button</td>
+<td><i><b>edited-annotation-back</b></i></td>
+</tr>
+
+<tr>
+<td>Selected annotation color button</td>
+<td><i><b>selected-annotation-color</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation color button</td>
+<td><i><b>edited-annotation-color</b></i></td>
+</tr>
+
+<tr>
+<td>Magenta color button</td>
+<td><i><b>magenta</b></i></td>
+</tr>
+
+<tr>
+<td>Black color button</td>
+<td><i><b>black</b></i></td>
+</tr>
+
+<tr>
+<td>Red color button</td>
+<td><i><b>red</b></i></td>
+</tr>
+
+<tr>
+<td>Green color button</td>
+<td><i><b>green</b></i></td>
+</tr>
+
+<tr>
+<td>Yellow color button</td>
+<td><i><b>yellow</b></i></td>
+</tr>
+
+<tr>
+<td>Blue color button</td>
+<td><i><b>blue</b></i></td>
+</tr>
+
+<tr>
+<td>Cyan color button</td>
+<td><i><b>cyan</b></i></td>
+</tr>
+
+<tr>
+<td>Color opacity button</td>
+<td><i><b>opacity</b></i></td>
+</tr>
+
+<tr>
+<td>Color opacity slider</td>
+<td><i><b>opacity-slider</b></i></td>
+</tr>
+
+<tr>
+<td>Font size button</td>
+<td><i><b>font-size</b></i></td>
+</tr>
+
+<tr>
+<td>Font size label</td>
+<td><i><b>font-label</b></i></td>
+</tr>
+
+<tr>
+<td>Font range slider</td>
+<td><i><b>font-range-slider</b></i></td>
+</tr>
+
+<tr>
+<td>Selected annotation thickness button</td>
+<td><i><b>selected-annotation-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation thickness button</td>
+<td><i><b>edited-annotation-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>First thickness button</td>
+<td><i><b>1pt-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Second thickness button</td>
+<td><i><b>3pt-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Third thickness button</td>
+<td><i><b>5pt-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Fourth thickness button</td>
+<td><i><b>7pt-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Fifth thickness button</td>
+<td><i><b>9pt-thickness</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation font size button</td>
+<td><i><b>edited-annotation-font-size</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation modify free text button</td>
+<td><i><b>edited-annotation-modify-free-text</b></i></td>
+</tr>
+
+<tr>
+<td>Edited annotation delete button</td>
+<td><i><b>edited-annotation-delete</b></i></td>
+</tr>
+
+<tr>
+<td>Page count separator</td>
+<td><i><b>pagecount-separator</b></i></td>
+</tr>
+
+<tr>
+<td>Popup annotation button</td>
+<td><i><b>popup</b></i></td>
+</tr>
+
+<tr>
+<td>Popup icon selector button</td>
+<td><i><b>popup-iconselector</b></i></td>
+</tr>
+
+<tr>
+<td>Selected popup icon selector button</td>
+<td><i><b>selected-popup-iconselector</b></i></td>
+</tr>
+
+<tr>
+<td>Popup comment icon button</td>
+<td><i><b>popup-comment</b></i></td>
+</tr>
+
+<tr>
+<td>Popup note icon button</td>
+<td><i><b>popup-note</b></i></td>
+</tr>
+
+<tr>
+<td>Popup help icon button</td>
+<td><i><b>popup-help</b></i></td>
+</tr>
+
+<tr>
+<td>Popup insert icon button</td>
+<td><i><b>popup-insert</b></i></td>
+</tr>
+
+<tr>
+<td>Popup key icon button</td>
+<td><i><b>popup-key</b></i></td>
+</tr>
+
+<tr>
+<td>Popup new paragraph icon button</td>
+<td><i><b>popup-newparagraph</b></i></td>
+</tr>
+
+<tr>
+<td>Popup paragraph icon button</td>
+<td><i><b>popup-paragraph</b></i></td>
+</tr>
+
+<tr>
+<td>Ink eraser button</td>
+<td><i><b>ink-eraser</b></i></td>
+</tr>
+
+<tr>
+<td>Ink eraser undo button</td>
+<td><i><b>undo-eraser</b></i></td>
+</tr>
+
+<tr>
+<td>Ink eraser redo button</td>
+<td><i><b>redo-eraser</b></i></td>
+</tr>
+
+</table>
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Designing-a-Custom-Toolbar.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Designing-a-Custom-Toolbar.md
new file mode 100644
index 000000000..9b1de368a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Designing-a-Custom-Toolbar.md
@@ -0,0 +1,92 @@
+---
+layout: post
+title: Designing a Custom Toolbar in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Designing a Custom Toolbar support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Designing a Custom Toolbar in Xamarin Pdf Viewer (SfPdfViewer)
+
+The built-in toolbar of the [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) can be disabled and a custom toolbar can be used at the sample. The below code snippet demonstrates how to create a simple toolbar for PDF Viewer with the options such as current page number, total page count in the PDF document, go to previous page and go to next page.
+
+In this project, two images have been used with the names - “PageDown.png” and “PageUp.png”, place the images in the below mentioned location within the respective projects.
+
+<table>
+
+<tr>
+<th>OS</th>
+<th>Location</th>
+</tr>
+
+<tr>
+<td>Android</td>
+<td>Resources/drawable</td>
+</tr>
+
+<tr>
+<td>iOS</td>
+<td>Resources</td>
+</tr>
+
+<tr>
+<td>UWP</td>
+<td>Directly in the project location</td>
+</tr>
+
+</table>
+
+The MainPage.xaml would be as mentioned below.
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace:GettingStarted"
+             x:Class="GettingStarted.MainPage"
+             xmlns:syncfusion="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms">
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel></local:PdfViewerViewModel>
+    </ContentPage.BindingContext>
+    <Grid x:Name="mainGrid">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="50" />
+            <RowDefinition Height="*" />
+        </Grid.RowDefinitions>
+        <AbsoluteLayout>
+            <Grid x:Name="toolbar" Grid.Row="0" BackgroundColor="#E9E9E9" HorizontalOptions="Fill" VerticalOptions="Fill">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="0.4*" />
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="1*" />
+                </Grid.ColumnDefinitions>
+                <Entry Keyboard="Numeric" FontSize="18" x:Name="pageNumberEntry" HorizontalTextAlignment="Center" Grid.Column="0" VerticalOptions="Center" Text="{Binding PageNumber, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Label Text="/" Grid.Column="1" FontSize="18" x:Name="slashLabel"  VerticalTextAlignment="Center" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="Center"/>
+                <Label x:Name="pageCountLabel" Grid.Column="2" FontSize="18" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="Center" Text="{Binding PageCount, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Button x:Name="goToNextButton"  Grid.Column="3" BackgroundColor="Transparent" Image="PageDown.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToNextPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Button x:Name="goToPreviousButton" Grid.Column="4" BackgroundColor="Transparent" Image="PageUp.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToPreviousPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+            </Grid>
+        </AbsoluteLayout>
+        <Grid x:Name="pdfViewGrid" Grid.Row="1">
+            <syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}"/>
+        </Grid>
+    </Grid>
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+The final output will look like the below on iOS, Android and Windows (UWP) devices
+
+![SfPdfViewer](pdfviewer_images/PdfViewerWithCustomToolbar.png)
+
+This demo can be downloaded from the below link.
+
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStarted-1533352385>
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Documentlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Documentlink.md
new file mode 100644
index 000000000..6a45ee884
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Documentlink.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title: Table of content navigation in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Table of content navigation support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Table of content navigation in Xamarin Pdf Viewer (SfPdfViewer)
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) navigates to a specific destination within the PDF document.
+
+
+## How to disable document link navigation in PDF document using PDF viewer control?
+
+Set the “EnableDocumentLinkAnnotation” property to false to disable the document link navigation in PDF viewer. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl"  EnableDocumentLinkAnnotation=”false” InputFileStream="{Binding PdfDocumentStream}" />
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableDocumentLinkAnnotation property is set to true.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Export-as-image.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Export-as-image.md
new file mode 100644
index 000000000..c5c4bfc6b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Export-as-image.md
@@ -0,0 +1,142 @@
+---
+layout: post
+title: PDF to image conversion in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about PDF to image conversion support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# PDF to image conversion in Xamarin Pdf Viewer (SfPdfViewer)
+
+The PdfViewerControl allows users to export the pages of a PDF document as image streams using the `ExportAsImage` and `ExportAsImageAsync` method. The resultant image streams can be saved as image files in the local storage.
+
+## Exporting a single PDF page as image
+
+To synchronously export a single PDF page as image, you should use the ExportAsImage method that accepts page index as its parameter. The following code example describes exporting page at index 0 as image stream. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Accessing the PDF document that is added as embedded resource as stream
+var fileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.Xamarin-Forms-Succinctly.pdf");
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Export the page of PDF document to image stream with the given index
+Stream stream = pdfViewerControl.ExportAsImage(0);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a single PDF page as image, you should use ExportAsImageAsync method that accepts page index as its parameter. The below code example illustrates exporting page at index 0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the page of PDF document to image stream with the given index
+Stream stream = await pdfViewerControl.ExportAsImageAsync(1);
+
+{% endhighlight %}
+{% endtabs %} 
+
+## Exporting a single PDF page as image with custom scale factor
+
+To synchronously export a single PDF page as image with custom scale factor, you should use the ExportAsImage method that accepts page index and scale factor as its parameters. The following code example describes exporting page at index 0 with the scale factor 2.0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+//Accessing the PDF document that is added as embedded resource as stream
+var fileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.Xamarin-Forms-Succinctly.pdf");
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Export the 0th index of PDF page to image stream with size two times greater than the original size 
+Stream stream = pdfViewerControl.ExportAsImage(0,2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a single PDF page as image with custom scale factor, you should use ExportAsImageAsync method that accepts page index and scale factor as its parameters. The below code example illustrates exporting page at index 0 with the scale factor 2.0 as image stream.
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the 0th index of PDF page to image stream with size two times greater than the original size 
+Stream stream = await pdfViewerControl.ExportAsImageAsync(0, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a range of PDF pages as images
+
+To synchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index and end page index as its parameter. The following code example describes exporting pages ranging between index 0 and 3 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+var fileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.Xamarin-Forms-Succinctly.pdf");
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Export the pages of PDF document from the index 0 to 3 to the array of image stream
+Stream[] stream = pdfViewerControl.ExportAsImage(0,3);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a range of PDF pages as images, you should use ExportAsImageAsync method that accepts start page index and end page index as its parameter. The below code example illustrates exporting pages ranging between index 0 and 3 as image stream array
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+Stream[] stream = await pdfViewerControl.ExportAsImageAsync(0, 3);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Exporting a range of PDF pages as images with custom scale factor
+
+To synchronously export a range of PDF pages as images, you should use the ExportAsImage method that accepts start page index, end page index, and scale factor as its parameter. The following code example describes exporting pages ranging between index 0 and 3 with the scale factor 2 as image stream array.
+
+{% tabs %}
+{% highlight c# %}
+
+var fileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.Xamarin-Forms-Succinctly.pdf");
+//Initialize the SfPdfViewer
+SfPdfViewer pdfViewerControl = new SfPdfViewer();
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Export the pages of PDF document from the index 0 to 3 to the array of image stream
+//All the exported images are scaled 2 times larger than its original size
+Stream[] stream = pdfViewerControl.ExportAsImage(0, 3, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+To asynchronously export a range of PDF pages as images, you should use ExportAsImageAsync method that accepts start page index, end page index and scale factor as its parameter. The below code example illustrates exporting pages ranging between index 0 and 3 with the scale factor 2 as image stream array
+
+{% tabs %}
+{% highlight c# %}
+
+//Load the PDF document as stream
+pdfViewerControl.LoadDocument(fileStream);
+//Asynchronously export the pages of PDF document from the index 0 to the index 3 to the array of image stream.
+// All the exported images are scaled 2 times larger than its original size
+Stream[] stream = await pdfViewerControl.ExportAsImageAsync(0, 3, 2.0f);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/FreeText-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin/FreeText-Annotation.md
new file mode 100644
index 000000000..48e829d69
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/FreeText-Annotation.md
@@ -0,0 +1,470 @@
+---
+layout: post
+title: Free text annotations in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Free text annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Free text annotations in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include free text annotations in a PDF document and provides options to modify or remove the existing ones.
+
+## Adding free text annotations using toolbar
+
+### Enabling free text annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer to `FreeText`. After setting the annotation mode, the zooming, panning, and scrolling will be disabled. Tap anywhere on the displayed PDF page, a popup will appear. Type the text in the popup and click &#34;Ok&#34; to add text to the page. Once the free text annotation is added, the zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="freeTextAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="FreeText" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.FreeText;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling free text annotation mode
+
+Setting the annotation mode to `None` disables the free text mode.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of free text annotations
+
+The event `FreeTextAnnotationAdded` will be raised when a free text annotation is added to the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationAdded="PdfViewer_FreeTextAnnotationAdded"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.FreeTextAnnotationAdded += PdfViewer_FreeTextAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding free text annotations programmatically
+
+By `AddAnnotation` method , You can add the free text annotations programmatically. The created free text annotation object passed as a parameter. The `FreeTextAnnotation` instance acquires the text, page number and bounds as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+string text = "Syncfusion";          
+//Creates the free text annotation
+FreeTextAnnotation freeTextAnnotation = new FreeTextAnnotation(text, 1, new Rectangle(100, 100, 100, 50));           
+//Add the free text annotation to the specified page 
+pdfViewer.AddAnnotation(freeTextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting tap on free text annotations
+
+Tapping a free text annotation selects it or deselects if it is already selected. The event `FreeTextAnnotationTapped` is raised when a free text is tapped.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationTapped="PdfViewer_FreeTextAnnotationTapped"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.FreeTextAnnotationTapped += PdfViewer_FreeTextAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting free text annotations
+
+You can select a free text annotation by tapping on it. When a free text is selected, the `FreeTextAnnotationSelected` event will be raised. The properties of the selected free text can be retrieved using the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Get the bounds
+	Rectangle bounds = args.Bounds;
+	//Get the page number on which the deselected free text is
+	int pageNumber = args.PageNumber;
+	//Get the text of the free text annotation
+	string text = args.Text;
+	//Get the text color
+	Color textColor = args.TextColor;
+	//Get the text size
+	float textSize = args.TextSize;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting free text annotation programmatically
+
+By `SelectAnnotation` method, You can select the free text annotation programmatically. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified free text annotation
+pdfViewer.SelectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting free text annotations
+
+You can deselect a selected free text annotation by tapping on it or somewhere on the PDF page. Deselection can be detected using the `FreeTextAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationDeselected="PdfViewer_FreeTextAnnotationDeselected"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.FreeTextAnnotationDeselected += PdfViewer_FreeTextAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting free text annotation programmatically?
+
+By `DeselectAnnotation` method, You can deselect the free text annotation. The specified free text annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified free text annotation 
+pdfViewer.DeselectAnnotation(freetextAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of free text annotations
+
+You can customize the default text color and text size of free text annotations to be added. This will not affect the already added free text annotations. The appearance of a selected free text can also be modified.  
+
+### Setting the default text color
+
+You can set the default text color of the free text annotations by using the `SfPdfViewer.AnnotationSettings.FreeTextAnnotationSettings.TextColor` property. Refer to the following code.
+ 
+{% tabs %} 
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.FreeTextAnnotationSettings.TextColor = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default text size
+
+You can set the default text size of the free text annotations by using the `SfPdfViewer.AnnotationSettings.FreeTextAnnotationSettings.TextSize` property. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.FreeTextAnnotationSettings.TextSize = 4; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default background-color
+
+You can set the background color for the free text annotations using the `SfPdfViewer.AnnotationSettings.FreeText.FillColor` property. The default value is set to `Color.Transparent`.
+
+{% tabs %}
+{% highlight c# %}
+
+//Setting the background color of the free text annotation
+pdfViewerControl.AnnotationSettings.FreeText.FillColor = Color.LightBlue;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.FreeText.MinimumSize` property, You can set the minimum size to which the free text annotations could be resized.
+ 
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the free text annotations
+pdfViewerControl.AnnotationSettings.FreeText.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the properties of a selected free text
+
+You can change the properties of the selected annotation by casting the `sender` parameter of the `FreeTextAnnotationSelected` event handler to FreeTextAnnotation and modify its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %}
+Button changeFreeTextPropertiesButton = new Button();
+changeFreeTextPropertiesButton.Clicked += changeFreeTextPropertiesButton_Clicked;
+FreeTextAnnotation selectedFreeTextAnnotation;
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to FreeTextAnnotation
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void changeFreeTextPropertiesButton_Clicked(object sender, EventArgs e)
+{
+	//Change the color of the text
+	selectedFreeTextAnnotation.Settings.TextColor = Color.Blue;
+
+	//Change the size of the text
+	selectedFreeTextAnnotation.Settings.TextSize = 7;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing free text annotations
+
+To move or resize the annotation, it should be selected. After the selector appears, tapping and dragging anywhere inside the selector will move the annotation. Tapping on the bubbles around the selector and dragging will resize the annotation. 
+
+### Detecting the move or resize of a free text annotation
+
+The event `FreeTextAnnotationMovedOrResized` will be raised when you move or resize the free text annotation. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationMovedOrResized="PdfViewer_FreeTextAnnotationMovedOrResized"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.FreeTextAnnotationMovedOrResized += PdfViewer_FreeTextAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the moved or resized free text can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_FreeTextAnnotationMovedOrResized(object sender, FreeTextAnnotationMovedOrResizedEventArgs args) 
+{ 
+     //Retrieve the old bounds of the annotation
+     Rectangle oldBounds = args.OldBounds;
+     //Retrieve the new bounds of the annotation
+     Rectangle newBounds = args.NewBounds;
+	 //Retrieve the page number in which the free text is
+     int pageNumber = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting free text annotations
+
+PDF viewer can remove a selected annotation or all annotations in the PDF document.
+
+### Removing a selected free text annotation
+
+The following code snippet illustrates removing a selected free text from the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationSelected="PdfViewer_FreeTextAnnotationSelected"/>
+<Button x:Name="deleteFreeTextAnnotationButton" Grid.Row="1" Clicked="deleteFreeTextAnnotationButton_Clicked" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+FreeTextAnnotation selectedFreeTextAnnotation;
+
+private void PdfViewer_FreeTextAnnotationSelected(object sender, FreeTextAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object to free text annotation.
+	selectedFreeTextAnnotation = sender as FreeTextAnnotation;
+}
+
+private void deleteFreeTextAnnotationButton_Clicked(object sender, EventArgs e)
+{
+	//Delete the selected free text annotation
+	pdfViewer.RemoveAnnotation(selectedFreeTextAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all annotations
+
+The `ClearAllAnnotations` method can be used to delete all annotations irrespective of their types from the PDF. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" />
+<Button x:Name="deleteAllAnnotationsButton" Command="{Binding ClearAllAnnotationsCommand, Source={x:Reference Name=pdfViewer}} />
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void DeleteAllAnnotationsButton_Clicked(object sender, EventArgs e)
+{
+	pdfViewer.ClearAllAnnotations();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a free text
+
+The event `FreeTextAnnotationRemoved` will be raised when a free text annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FreeTextAnnotationRemoved="PdfViewer_FreeTextAnnotationRemoved"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.FreeTextAnnotationRemoved += PdfViewer_FreeTextAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed free text can be obtained from the `args` parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewer_FreeTextAnnotationRemoved(object sender, FreeTextAnnotationRemovedEventArgs args)
+{
+	//Get the bounds 
+	Rectangle bounds = args.Bounds;
+	//Get the page number on which the deselected free text is 
+	int pageNumber = args.PageNumber;
+	//Get the text of the free text annotation 
+	string text = args.Text;
+	//Get the text color 
+	Color textColor = args.TextColor;
+	//Get the text size 
+	float textSize = args.TextSize;
+}
+{% 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/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ FreeTextAnnotationAdded (object sender, FreeTextAnnotationAddedEventArgs args)
+{
+	//Sets the name for the annotation.
+	(sender as FreeTextAnnotation).Name = "FreeText1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the free text annotation in the [FreeTextAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_FreeTextAnnotationAdded) event. But this can be done in all other events as well. 
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Getting-Started.md
new file mode 100644
index 000000000..42e99e03c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Getting-Started.md
@@ -0,0 +1,731 @@
+---
+layout: post
+title: Getting Started with Xamarin Pdf Viewer control | Syncfusion
+description: Learn here about getting started with Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control, its elements and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting Started with Xamarin Pdf Viewer (SfPdfViewer)
+
+This section demonstrates how to create an application that displays a PDF file using [Xamarin Pdf Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) (SfPdfViewer) control.
+ 
+## Assembly deployment
+
+After installing [Essential Studio<sup>®</sup> for Xamarin](https://www.syncfusion.com/downloads/xamarin), you can find all the required assemblies in the installation folders, {Syncfusion Essential Studio Installed location} \Essential Studio\\{Version #}\Xamarin\lib.
+
+E.g.: C:\Program Files (x86) \Syncfusion\Essential Studio\19.1.0.54\Xamarin\lib
+
+N> Assemblies can be found in unzipped package location(Documents/Syncfusion/{Version #}/Xamarin/lib) in Mac.
+
+## Adding SfPdfViewer reference
+
+You can add [SfPdfViewer](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) reference using one of the following methods:
+
+**Method 1: Adding SfPdfViewer reference from nuget.org**
+
+Syncfusion Xamarin components are available in [nuget.org](https://www.nuget.org/). To add SfPdfViewer to your project, open the [NuGet package](https://help.syncfusion.com/xamarin/visual-studio-integration/nuget-packages) manager in Visual Studio, search for [Syncfusion.Xamarin.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Xamarin.SfPdfViewer), and then install it.
+
+![Adding SfPdfViewer reference from NuGet](pdfviewer_images/Adding SfPdfViewer reference.png)
+
+N> Install the same version of SfPdfViewer NuGet in all the projects.
+
+**Method 2: Adding SfPdfViewer reference from toolbox**
+
+Syncfusion<sup>®</sup> also provides Xamarin Toolbox. Using this toolbox, you can drag the SfPdfViewer control to the XAML page. It will automatically install the required NuGet packages and add the namespace to the page. To install Syncfusion<sup>®</sup> Xamarin Toolbox, refer to [Toolbox](https://help.syncfusion.com/xamarin/utility#toolbox).
+
+**Method 3: Adding SfPdfViewer assemblies manually from the installed location**
+
+If you prefer to manually reference the assemblies instead referencing from NuGet, add the following assemblies in respective projects.
+
+Location: {Installed location}/{version}/Xamarin/lib
+
+<table>
+<tr>
+<td>PCL</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.XForms.dll<br/>Syncfusion.SfBusyIndicator.XForms.dll<br/>Syncfusion.SfRangeSlider.XForms.dll<br/>Syncfusion.Core.XForms.dll<br/>Syncfusion.Licensing.dll<br/>Syncfusion.SfProgressBar.XForms.dll<br/>Syncfusion.SfTabView.XForms.dll<br/></td>
+</tr>
+<tr>
+<td>Android</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.XForms.dll<br/>Syncfusion.SfPdfViewer.XForms.Android.dll<br/>Syncfusion.SfBusyIndicator.XForms.dll<br/>Syncfusion.SfBusyIndicator.XForms.Android.dll<br/>Syncfusion.SfBusyIndicator.Android.dll<br/>Syncfusion.SfRangeSlider.XForms.dll<br/> Syncfusion.SfRangeSlider.XForms.Android.dll<br/>Syncfusion.Core.XForms.dll<br/>Syncfusion.Core.XForms.Android.dll<br/>Syncfusion.Licensing.dll<br/>Syncfusion.SfProgressBar.XForms.dll<br/>Syncfusion.SfProgressBar.XForms.Android.dll<br/>Syncfusion.SfTabView.XForms.dll<br/>Syncfusion.SfTabView.XForms.Android.dll<br/></td>
+</tr>
+<tr>
+<td>iOS</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.XForms.dll<br/>Syncfusion.SfPdfViewer.XForms.iOS.dll<br/>Syncfusion.SfBusyIndicator.XForms.dll<br/>Syncfusion.SfBusyIndicator.XForms.iOS.dll<br/>Syncfusion.SfBusyIndicator.iOS.dll<br/>Syncfusion.SfRangeSlider.XForms.dll<br/>Syncfusion.SfRangeSlider.XForms.iOS.dll<br/>Syncfusion.Core.XForms.dll<br/>Syncfusion.Core.XForms.iOS.dll<br/>Syncfusion.Licensing.dll<br/>Syncfusion.SfProgressBar.XForms.dll<br/>Syncfusion.SfProgressBar.XForms.iOS.dll<br/>Syncfusion.SfTabView.XForms.dll<br/>Syncfusion.SfTabView.XForms.iOS.dll<br/></td>
+</tr>
+<tr>
+<td>UWP</td>
+<td>Syncfusion.Compression.Portable.dll<br/>Syncfusion.Pdf.Portable.dll<br/>Syncfusion.SfPdfViewer.XForms.dll<br/>Syncfusion.SfPdfViewer.XForms.UWP.dll<br/>Syncfusion.SfRangeSlider.XForms.dll<br/>Syncfusion.SfRangeSlider.XForms.UWP.dll<br/>Syncfusion.SfShared.UWP.dll<br/>Syncfusion.SfInput.UWP.dll<br/>Syncfusion.Core.XForms.dll<br/>Syncfusion.Core.XForms.UWP.dll<br/>Syncfusion.Licensing.dll<br/>Syncfusion.SfProgressBar.XForms.dll<br/>Syncfusion.SfProgressBar.XForms.UWP.dll<br/>Syncfusion.SfTabView.XForms.dll<br/>Syncfusion.SfTabView.XForms.UWP.dll<br/></td>
+</tr>
+</table>
+
+N> To know more about obtaining our components, refer to these links for [Mac](https://help.syncfusion.com/xamarin/installation/mac-installer/how-to-download) and [Windows](https://help.syncfusion.com/xamarin/installation/web-installer/how-to-download).
+
+I> Starting with v16.2.0.x, if you reference Syncfusion<sup>®</sup> assemblies from the trial setup or from the NuGet feed, you also have to include a license key in your projects. Please refer to [Syncfusion<sup>®</sup> license key](https://help.syncfusion.com/common/essential-studio/licensing/overview) to know about registering Syncfusion<sup>®</sup> license key in your Xamarin application to use our components.
+
+## Creating a simple PDF Viewer application
+
+Create a new cross platform application for Xamarin.Forms.Portable in the Visual Studio with the project name "GettingStarted" and refer the above mentioned assemblies to the respective projects.
+
+N> If you are adding the references from toolbox, this step is not needed.
+
+An additional step is required to render the SfPdfViewer control in `iOS` project. You need to call the `Syncfusion.SfPdfViewer.XForms.iOS.SfPdfDocumentViewRenderer.Init()`, `Syncfusion.SfRangeSlider.XForms.iOS.SfRangeSliderRenderer.Init()` and `Syncfusion.XForms.iOS.TabView.SfTabViewRenderer.Init()` methods in the `FinishedLaunching` overridden method of the `AppDelegate` class after the Xamarin.Forms Framework has been initialized and before the `LoadApplication` is called, as demonstrated in the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+public override bool FinishedLaunching(UIApplication app, NSDictionary options)
+{
+    global::Xamarin.Forms.Forms.Init();
+    Syncfusion.SfPdfViewer.XForms.iOS.SfPdfDocumentViewRenderer.Init();
+    Syncfusion.SfRangeSlider.XForms.iOS.SfRangeSliderRenderer.Init();
+    Syncfusion.XForms.iOS.TabView.SfTabViewRenderer.Init();
+    LoadApplication(new App());
+    return base.FinishedLaunching(app, options);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Resolving issue when deploying an application in ReleaseMode in the UWP platform
+
+There is a known Framework issue in the UWP platform when an application using custom control is deployed in `Release Mode`, it will not be rendered.
+
+This can be resolved by initializing the SfPdfViewer related assemblies in `App.xaml.cs` in the UWP project. Refer to the following code snippet.
+
+{% tabs %}
+{% highlight c# %}
+
+protected override void OnLaunched(LaunchActivatedEventArgs e)
+{
+     …
+     rootFrame.NavigationFailed += OnNavigationFailed;
+     //Add the assemblies `using System.Reflection;`
+     List<Assembly> assembliesToInclude = new List<Assembly>();
+     //Now, add all the assemblies that your app uses
+     assembliesToInclude.Add(typeof(SfPdfDocumentViewRenderer).GetTypeInfo().Assembly);
+     assembliesToInclude.Add(typeof(SfRangeSliderRenderer).GetTypeInfo().Assembly);
+     assembliesToInclude.Add(typeof(Syncfusion.XForms.UWP.TabView.SfTabViewRenderer).GetTypeInfo().Assembly);
+     //Replaces Xamarin.Forms.Forms.Init(e);
+     Xamarin.Forms.Forms.Init(e, assembliesToInclude);
+     …
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Loading a PDF using MVVM binding
+
+File handling with Xamarin.Forms can be done using embedded resources or writing against the native filesystem APIs. Please find more details in the below link:
+
+https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/files/ 
+
+Add a folder in the portable project with the name "Assets" and add the PDF document you need to display in the PDF viewer, here a PDF file named "GIS Succinctly.pdf" was used. In the properties of the PDF document set the build action property to be "Embedded Resource".
+
+Add a folder in the portable project with the name "ViewModel and include a class file with a name "PdfViewerViewModel" inside it. Add below code snippet in the "PdfViewerViewModel" class. Ensure to maintain the namespace as "GettingStarted". 
+
+{% tabs %}
+{% highlight c# %}
+
+using System.IO;
+using System.Reflection;
+using System.ComponentModel;
+
+namespace GettingStarted
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream m_pdfDocumentStream;
+
+        /// <summary>
+        /// An event to detect the change in the value of a property.
+        /// </summary>
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        /// <summary>
+        /// The PDF document stream that is loaded into the instance of the PDF viewer. 
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return m_pdfDocumentStream;
+            }
+            set
+            {
+                m_pdfDocumentStream = value;
+                NotifyPropertyChanged("PdfDocumentStream");
+            }
+        }
+
+        /// <summary>
+        /// Constructor of the view model class
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            //Accessing the PDF document that is added as embedded resource as stream.
+            m_pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.GIS Succinctly.pdf");
+        }
+
+        private void NotifyPropertyChanged(string propertyName)
+        {
+            if (PropertyChanged != null)
+            {
+                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+            }
+        }  
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Add the following XAML code in the MainPage.xaml in the portable project.
+
+* Includes the necessary namespace where the control class resides
+* Set BindingContext of ContentPage to PdfViewerViewModel
+* Includes PDF Viewer into the page
+* Binds InputFileStream property of PDF Viewer control to PdfDocumentStream property of PdfViewerViewModel
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace:GettingStarted"
+             x:Class="GettingStarted.MainPage"
+             xmlns:syncfusion="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms">
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel></local:PdfViewerViewModel>
+    </ContentPage.BindingContext>
+    <Grid x:Name="pdfViewGrid">
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}"/>
+    </Grid> 
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+The sample that illustrates loading a PDF in MVVM binding can be downloaded from the link below. 
+
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStarted-2072455774> 
+
+On executing the above sample, you will get the output as shown in the following image.
+
+![SfPdfViewer](pdfviewer_images/pdfviewer.png)
+
+## Loading a PDF in code-behind/programmatically
+
+In code-behind a PDF can be loaded to PdfViewer just by using the [LoadDocument](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_LoadDocument_System_IO_Stream_) method without the need of the "PdfViewerViewModel" class described in the previous section.  Use the following code snippet in the code-behind of the XAML page. 
+
+{% tabs %}
+{% highlight c# %}
+
+namespace GettingStarted
+{
+    public partial class MainPage : ContentPage
+    {
+        Stream fileStream; 
+        public MainPage()
+        {
+            InitializeComponent();
+        }
+
+        protected override void OnAppearing()
+        {
+            base.OnAppearing();
+            fileStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.GIS Succinctly.pdf");
+            //Load the PDF
+            pdfViewerControl.LoadDocument(fileStream);
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the XAML code described in the previous section, remove the binding of InputFileStream property of SfPdfViewer and the BindingContext of the page. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace:GettingStarted"
+             x:Class="GettingStarted.MainPage"
+             xmlns:syncfusion="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms">
+    <Grid x:Name="pdfViewGrid">
+        <syncfusion:SfPdfViewer x:Name="pdfViewerControl" />
+    </Grid> 
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+The sample which illustrates loading a PDF in code-behind using LoadDocument method can be downloaded from the link below.
+
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStarted-81946798> 
+
+## Loading a PDF from an URL
+
+PDF documents can be loaded from a given URL into the PdfViewer by downloading the PDF and then loading the stream of the downloaded file into the PdfViewer. In the following code sample, the `HttpClient.GetAsync( )` method sends a GET request to the specified Uri as an asynchronous operation and the `HttpContent.ReadAsStreamAsync( )` method will serialize the HTTP content and returns a stream that represents the content as an asynchronous operation. Finally, the obtained stream is passed to the `LoadDocument( )` method of SfPdfViewer.
+
+{% tabs %}
+{% highlight c# %}
+
+HttpClient httpClient = new HttpClient();
+HttpResponseMessage response = await httpClient.GetAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/GIS_Succinctly1774404643.pdf");
+Stream pdfStream = await response.Content.ReadAsStreamAsync();
+pdfViewerControl.LoadDocument(pdfStream);
+
+{% endhighlight %}
+{% endtabs %}
+
+The sample that illustrates loading a PDF from an URL can be downloaded from the link below,
+ 
+<https://www.syncfusion.com/downloads/support/directtrac/general/ze/LoadPDFFromURL-1204672622.zip> 
+
+N> An Internet connection is necessary to get the stream from an URL. Please ensure that the device has a proper internet connection before running the sample application.
+
+## Loading a PDF asynchronously
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to load the PDF document from the specified stream asynchronously using the `LoadDocumentAsync` method. You can also cancel the asynchronous PDF loading when it is in progress.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.LoadDocumentAsync(documentStream, cancellationTokenSource);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, `documentStream` is a stream that contains the data of the PDF document and the `cancellationTokenSource` enables you to cancel the asynchronous PDF loading.
+
+### Cancel the asynchronous PDF Loading
+
+You can raise cancel request when the asynchronous load is in progress.
+
+{% tabs %}
+{% highlight c# %}
+
+private void cancelButton_Clicked(object sender, EventArgs e)
+{
+     cancellationTokenSource.Cancel();
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the `cancellationTokenSource` instance is the same as the one given as the argument when loading the PDF asynchronously. 
+
+N>Calling the above method will not have any effect once the PDF has completely loaded. It will stop the loading process only when it is in progress. 
+
+### Detect the cancellation of the PDF load
+
+The cancellation of the PDF load operation can be detected by registering an event handler on the Token property of the `CancellationTokenSource` instance. 
+
+{% tabs %}
+{% highlight c# %}
+
+EventArgs e = new EventArgs();
+cancellationTokenSource.Token.Register(() => LoadDocumentAsyncCancelled(this, e));
+private void LoadDocumentAsyncCancelled(object sender, EventArgs e)
+{
+    // handle the cancellation event
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Unloading PDF document from the Viewer
+
+The SfPdfViewer control allows you to unload the PDF document from the viewer, when the PDF document is not in use anymore. This releases the PDF document and all its associated resources of the application.
+
+You need to call the Unload method of SfPdfViewer control as in the below code snippet to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Unloads the PDF document from the PDF viewer, freeing all the accessed resources.
+pdfViewerControl.Unload();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Saving a PDF document
+
+The `SaveDocument` method returns the PDF document along with the changes made (annotations addition and modification) as a stream, which can be saved as a file. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Save the PDF document
+Stream pdfDocumentStream = pdfViewerControl.SaveDocument();
+
+{% endhighlight %}
+{% endtabs %}
+
+Please refer [here](https://support.syncfusion.com/kb/article/8173/how-to-save-loaded-pdf-document-in-application-level) for saving the PDF document as a file in the application level from the obtained stream.
+
+N> The `SaveDocument` method does not save the existing stamp annotations in the PDF document. Instead, use the `SaveDocumentAsync` method to save them.
+
+## Saving a PDF document asynchronously
+
+The PDF Viewer also allows you to save and return the PDF document with the changes as a stream asynchronously using the `SaveDocumentAsync` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Save the PDF document asynchronously 
+Task<Stream> pdfDocumentStream = pdfViewerControl.SaveDocumentAsync();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Events to track the loading and saving of PDFs
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) control allows you to track the loading and saving of PDFs using the following events. 
+
+### Document loaded event
+
+The [DocumentLoaded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DocumentLoaded) event triggers after the document is properly loaded in the `SfPdfViewer`. The following code example explains the same. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" DocumentLoaded="pdfViewerControl_DocumentLoaded"/> 
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_DocumentLoaded(object sender, EventArgs args)  
+{  
+
+        // Get the total page count of the loaded PDF document. 
+        int pageCount = pdfViewer.PageCount; 
+
+} 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Document load failed event
+
+The [UnhandledConditionOccurred](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_UnhandledConditionOccurred) event triggers when document loading fails in the `SfPdfViewer`. That is: 
+
+* When any corrupted document is loaded. 
+* When any non-PDF document is loaded. 
+The [UnhandledConditionEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.UnhandledConditionEventArgs.html) will return the `Title` and `Description` message for the failure reason and the `Handled` option to enable or disable the default error alert view.  
+
+You can prevent displaying the default error alert view by setting the `Handled` value to `true`. The default value of `Handled` is `false`. 
+
+The following code example explains the same.
+ 
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" UnhandledConditionOccurred="pdfViewerControl_UnhandledConditionOccurred"/> 
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewerControl_UnhandledConditionOccurred(object sender, UnhandledConditionEventArgs args)  
+{  
+
+            //Set the Handled value as "true" to indicate that the event is handled in the application and to prevent the default alert view. 
+            args.Handled = true; 
+
+            // Get the title of the unhandled condition. 
+            string title = args.Title; 
+
+            // Get the details of the unhandled condition. 
+            string description = args.Description; 
+
+            DisplayAlert(title, description, "OK"); 
+
+} 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Document save initiated event
+
+The [DocumentSaveInitiated](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DocumentSaveInitiated) event will be triggered when the document is saved in the `SfPdfViewer`. The [DocumentSaveInitiatedEventArgs](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.DocumentSaveInitiatedEventArgs.html) will return the saved document stream. The following code example explains the same.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" DocumentSaveInitiated="pdfViewerControl_DocumentSaveInitiated"/> 
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_DocumentSaveInitiated(object sender, DocumentSaveInitiatedEventArgs args)  
+{  
+      //Returns the save stream. 
+      Stream saveStream = args.SaveStream; 
+} 
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to dispose the managed resources of SfPdfViewer
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) control allows you to dispose the managed resources which are associated with the viewer. You need to call the [`Dispose`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Dispose) method of the [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) control as shown in the following code sample to achieve the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disposes all the managed resources of SfPdfViewer
+pdfViewer.Dispose();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to clear the undo and redo stack
+
+The [`SfPdfViewer`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) control allows you to clear the undo and redo stacks that contain the changes that are made to the annotations in the PDF document, by calling the `ClearUndoRedoStack` API. When this method is called, the `CanUndo` and `CanRedo` properties will be set to `false`.
+
+{% tabs %}
+{% highlight c# %}
+
+//To clear the undo and redo stack 
+pdfViewer.ClearUndoRedoStack();
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get & set the current page number?
+
+PDF viewer has a BindableProperty “PageNumber” using which the current page number can be retrieved and it can be set. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry Keyboard="Numeric" FontSize="18" x:Name="pageNumberEntry" HorizontalTextAlignment="Center" VerticalOptions="Center" Text="{Binding PageNumber, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+On binding the Entry control to PageNumber property of the PDF viewer instance, the number of the current page being displayed in the PDF viewer will be displayed in the Entry control and the PDF viewer would navigate to the page number being entered in the same. 
+
+## How to get the total page number?
+
+PDF viewer has a BindableProperty “PageCount” using which the total number of pages in the document can be retrieved.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Label x:Name="pageCountLabel" FontSize="18" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="Center" Text="{Binding PageCount, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+On binding the Label to PageCount property of the PDF viewer instance, the total number of pages in the document can be displayed. 
+
+## How to navigate to next page and previous page?
+
+PDF viewer has “GoToNextPageCommand” and “GoToPreviousPageCommand” which will navigate to the next page and previous page respectively. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="goToNextButton"  Grid.Column="3" BackgroundColor="Transparent" Image="PageDown.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToNextPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+<Button x:Name="goToPreviousButton" Grid.Column="4" BackgroundColor="Transparent" Image="PageUp.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToPreviousPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+If the current page is already the last page of PDF document, then GoToNextPageCommand does not have any effect. Similarly, If the current page is already the first page of PDF document, then GoToPreviousPageCommand does not have any effect.
+
+## How to detect a page change?
+
+PDF viewer has PageChanged event, which helps detecting changes in the page being displayed in the viewer. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" Grid.Row="1" PageChanged="pdfViewerControl_PageChanged"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewerControl_PageChanged(object sender, Syncfusion.SfPdfViewer.XForms.PageChangedEventArgs args)
+{
+    int currentPageNumber = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The arguments of the PageChanged event contains details about to which page the document is navigated to.
+
+## 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.
+
+### Customize the locked annotations selection border color
+
+By default, the selection border color for the locked annotations will be gray. You can customize the locked annotations selection border color by setting the required color to the `LockedStrokeColor` property. The following code illustrates the same:
+
+{% tabs %}
+{% highlight c# %}
+
+//Set the selection border color for the locked annotations
+pdfViewerControl.AnnotationSettings.Selector.LockedStrokeColor = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>It is not recommended to set both the `StrokeColor` and `LockedStrokeColor` properties with the same color.
+
+## How to Change the Color of the Annotation Selector?
+
+By default, the selection border color for the annotations will be blue. Customize the selection border color of the annotations by setting the required color to the `StrokeColor` property. The following code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Set the selection border color for the annotations.
+pdfViewerControl.AnnotationSettings.Selector.StrokeColor = Color.Orange;
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to Customize the Annotation Selector Padding?
+
+By changing the value of the `Padding` property, adjust the spacing between the annotation and the selector, which ranges from -20 to 20. The default padding between the annotation and the selector is 10. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Set the Annotations selector padding.
+pdfViewerControl.AnnotationSettings.Selector.Padding = 15;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This property only applies to bounds-based annotations such as rectangle, circle, free text, ink, handwritten, and custom stamp annotations.
+
+## 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 and set the zoom for SfPdfViewer?
+
+PDF viewer has the BindableProperty ZoomPercentage that is used to retrieve and set the current zoom factor.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry Keyboard="Numeric" FontSize="18" x:Name="zoomPercentage" HorizontalTextAlignment="Center" VerticalOptions="Center" Text="{Binding ZoomPercentage, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+On binding the entry control to ZoomPercentage property of the PDF viewer instance, the current zoom percentage being displayed in the PDF viewer is displayed in the entry control, and the PDF viewer would be zoomed based on the value entered.
+
+## How to get and set Horizontal and Vertical Offsets in PDF Viewer?
+
+Navigate to the specified vertical and horizontal offset values in PDF Viewer using ScrollToOffset (HorizontalOffset and VerticalOffset) methods and you can also retrieve the current horizontal and vertical offset position by using HorizontalOffset and VerticalOffset properties respectively in [SfPdfViewer](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html) class.
+
+{% tabs %}
+{% highlight c# %}
+
+//Retrieves the current horizontal offset of the PdfViewerControl
+m_currentHorizontalOffset = pdfViewerControl.HorizontalOffset;
+//Retrieves the current vertical offset of the PdfViewerControl
+m_currentVerticalOffset = pdfViewerControl.VerticalOffset;
+//Scrolls the content to the specified vertical offset position in the PdfViewerControl
+pdfViewerControl.ScrollToOffset(m_currentHorizontalOffset+10, m_currentVerticalOffset+10);
+{% endhighlight %}
+{% endtabs %}
+
+## How to modify the width of the vertical scrollbar in the UWP platform?
+
+The PDF viewer uses the [ScrollViewer](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-19041) control to scroll the pages of the PDF. The width of the vertical scrollbar of the [ScrollViewer](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-19041) can be modified by using the [VerticalScrollBarWidth](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_VerticalScrollBarWidth) property. The default value of the API is the default width of the [ScrollViewer](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.scrollviewer?view=winrt-19041) control.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the width of the vertical scrollbar in the PDF Viewer.
+pdfViewerControl.VerticalScrollBarWidth = 50;
+//Gets the width of the vertical scrollbar in the PDF Viewer.
+int verticalScrollBarWidth = pdfViewerControl.VerticalScrollBarWidth;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This API is only applicable for UWP desktop. Changing the value of this API does not affect Android and iOS devices.
+
+## 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.
+Refer the following code sample.
+
+{% tabs %}
+{% highlight c# %}
+
+//Gets the list annotations present in the PDF
+var annotations = pdfViewer.Annotations;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The list remains empty if the PDF does not have any pre-existing annotations.
+
+## Rendering the appearance content of annotations
+
+By default, the PDF Viewer does not render the appearance content of annotations. But the appearance can be rendered by flattening the annotations before loading the PDF. This can be achieved by setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) API to true. The default value of the API is set to false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the annotations should be flattened when the PDF is loaded or not.
+pdfViewerControl.AnnotationSettings.Flatten = true;
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Annotations are only flattened when the page displayed in the viewer is only for viewing the appearance of annotations. Once the annotations are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the [Flatten](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfPdfViewer.Android.AnnotationSettings.html#Syncfusion_SfPdfViewer_Android_AnnotationSettings_Flatten) property to `true` will does not affect the save and annotation export operations. The annotations will not be flattened in these operations.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Handwritten-Signature.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Handwritten-Signature.md
new file mode 100644
index 000000000..1b8aa86fc
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Handwritten-Signature.md
@@ -0,0 +1,356 @@
+---
+layout: post
+title: Handwritten signatures in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Handwritten signatures support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Handwritten signatures in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include handwritten signatures in PDF documents and provides options to modify or remove the existing ones.
+
+## Adding handwritten signatures using toolbar
+
+### Enabling handwritten signature mode
+
+Set the `AnnotationMode` property of the PDF viewer instance to `HandwrittenSignature`. After setting the signature mode the signature pad would appear on which the signature can be drawn. After drawing the signature, the `Done` button should be tapped to add the drawn signature to the PDF, you can use clear button to redraw the signature or close button to cancel signing.
+
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="signatureButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="HandwrittenSignature" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.HandwrittenSignature;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling handwritten signature mode
+
+Setting the `AnnotationMode` to `None` will disable the signature mode and would hide the signature pad.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Handwritten signature programmatically
+
+By `AddHandwrittenSignature` or `AddAnnotation` method, You can add the handwritten signatures programmatically. The created handwritten signature object passed as a parameter. The `HandwrittenSignature` instance acquires the `HandwrittenSignature.InkPointsCollection`, page number and position as the parameters.
+
+The `HandwrittenSignature.InkPointsCollection` is of type `List<List<float>>`. Each `List<float>` in this collection represent each stroke of the signature. There will be as many `List<float>` instances in the `InkPointsCollection` as the number of strokes in the handwritten signature. 
+
+The `List<float>`, in turn, has the series of alternate X and Y coordinates of the ink stroke. i.e. the values at the odd position are X coordinates and at the even position are Y coordinates. 
+
+The following code sample explains adding a single stroke handwritten signature programmatically.  
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+System.Drawing.Point position = new System.Drawing.Point(100, 100);
+HandwrittenSignature signature = new HandwrittenSignature(inkPointsCollection, 1, position);
+signature.Settings.Color = Color.Red;    
+//Method 1: Adds the handwritten signature using `AddHandwrittenSignature` method
+pdfViewerControl.AddHandWrittenSiganture(signature);       
+//Method 2: Adds the handwritten signature using `AddAnnotation` method
+//pdfViewerControl.AddAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding handwritten signature on the specified page
+
+The `AddHandwrittenSignature(handwrittenSignature, pageNumber)` API adds the given handwritten signature on the page specified by the `pageNumber` argument. When this API is used, the handwritten signature is added at the center of the page. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AddHandwrittenSignature(handwrittenSignature, 2);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The pageNumber argument in the API is optional. If it is not specified, the signature is added to the current page. 
+
+### Adding handwritten signature on the specified page and position
+
+The `AddHandwrittenSignature(handwrittenSignature, position, pageNumber)` API adds the handwritten signature on the page specified by the `pageNumber` argument and the position specified by the `position` argument. 
+
+{% tabs %}
+{% highlight c# %}
+
+System.Drawing.Point  position = new System.Drawing.Point(200,200);
+pdfViewer.AddHandwrittenSignature(handwrittenSignature, position, 2);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The pageNumber argument in the API is optional. If it is not specified, the signature is added in the current page. 
+
+### Adding handwritten signature on multiple pages and multiple positions
+
+The `AddHandwrittenSignature(handwrittenSignature, pageAndPositionCollection)` API can be used to add the same handwritten signature instance to the multiple positions in multiple pages. The `positionCollection` argument is of type `Dictionary` whose keys correspond to the page numbers and the values correspond to the list of positions within each page that the signature has to be added. 
+
+{% tabs %}
+{% highlight c# %}
+
+List<System.Drawing.Point> pointCollection1 = new List<System.Drawing.Point>();
+List<System.Drawing.Point> pointCollection2 = new List<System.Drawing.Point>();
+Dictionary<int, List<System.Drawing.Point>> pageAndPositionCollection = new Dictionary<int, List<System.Drawing.Point>>();
+System.Drawing.Point position1 = new System.Drawing.Point(20, 200);
+System.Drawing.Point position2 = new System.Drawing.Point(200, 20);
+System.Drawing.Point position3 = new System.Drawing.Point(400, 40);
+System.Drawing.Point position4 = new System.Drawing.Point(40, 400);
+pointCollection1.Add(position1);
+pointCollection1.Add(position2);
+pointCollection2.Add(position3);
+pointCollection2.Add(position4);
+pageAndPositionCollection.Add(1, pointCollection1);
+pageAndPositionCollection.Add(3, pointCollection2);
+pdfViewerControl.AddHandWrittenSignature(handwrittenSignature, pageAndPositionCollection);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select handwritten signature programmatically
+
+By `SelectAnnotation` method, You can select the handwritten signature programmatically. The specified handwritten signature object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified handwritten signature 
+pdfViewer.SelectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect handwritten signature programmatically
+
+By `DeselectAnnotation` method, You can deselect the handwritten signature programmatically .The specified handwritten signature object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified handwritten signature
+pdfViewer.DeselectAnnotation(signature);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the position of handwritten signature drawn using the built-in signature pad
+
+By default, when the “Done” button of the signature pad is tapped, the signature is added at the center of the current page. But the page number and position that the signature is added can be customized using the `AddHandwrittenSignature` API discussed above. 
+When the “Done” button is tapped, the `InkAdded` event is raised. The handwritten signature instance that is drawn on the signature pad is exposed as the `sender` argument of the `InkAdded` event. The signature instance can then be added at any page or position using any of the required `AddHandwrittenSignature` overloads.
+
+{% tabs %}
+{% highlight c# %}
+
+
+pdfViewer.InkAdded += pdfViewer_InkAdded;
+
+private void pdfViewer_InkAdded(object sender, InkAddedEventArgs args)
+{
+	HandwrittenSignature handwrittenSignature = sender as HandwrittenSignature;
+	System.Drawing.Point  position = new System.Drawing.Point(200,200);
+	pdfViewer.AddHandwrittenSignature(handwrittenSignature, position, 2);	 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing the appearance of handwritten signatures
+
+You can customize the default values such as stroke color, opacity, and thickness of all signatures to be added. This will not affect the already added signatures.
+
+### Setting the default stroke color
+
+You can set the default stroke color of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Color` property. Refer to the following code. 
+
+{% tabs %} 
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Color = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default opacity
+
+You can set the default opacity of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default thickness
+
+You can set the thickness of handwritten signatures by using the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Setting the default minimum size
+
+By the `SfPdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize` property, You can set the minimum size to which the handwritten signatures could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the handwritten signatures
+pdfViewer.AnnotationSettings.HandwrittenSignature.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Similarity with Ink annotations
+
+The handwritten signatures are preserved as ink annotations in PdfViewer. However, on saving you can choose whether to preserve the signature as ink annotation or flatten it. This can be achieved using the `pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave` property.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.HandwrittenSignature.FlattenSignatureOnSave = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default value of the property is `true`.
+
+### Events
+
+Since the handwritten signature is preserved as ink annotation, the events for both handwritten signatures and ink annotations are same. The events supported by ink annotations are described in detail [here](https://help.syncfusion.com/xamarin/pdf-viewer/ink). 
+
+When the common events occur, ink annotation and handwritten signature can be distinguished using the event argument's `IsChildSignature` property. Also, the `sender` parameter will be of type `InkAnnotation` and `HandwrittenSignature` for the respective annotations. For brevity, only the `InkSelected` event is illustrated below. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.InkSelected += PdfViewer_InkSelected;
+private void PdfViewer_InkSelected(object sender, Syncfusion.SfPdfViewer.XForms.InkSelectedEventArgs args)
+{
+	if(args.IsSignature)
+	{
+		//The event occurred was raised by handwritten signature
+		//The "sender" parameter is of type "HandwrittenSignature"
+	}
+	else
+	{
+		//The event occurred was raised by ink annotation
+		//The "sender" parameter is of type "InkAnnotation"
+	}
+}
+
+{% 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/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is HandwrittenSignature)
+    {
+    	(sender as HandwrittenSignature).Name = "HandwrittenSignature1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the handwritten signature in the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event. But this can be done in all other events as well. 
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Hyperlink.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Hyperlink.md
new file mode 100644
index 000000000..cc5aaa3c5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Hyperlink.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Hyperlink Navigation in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Hyperlink Navigation support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Hyperlink Navigation in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) supports hyperlink navigation that detects hyperlinks and tapping on the hyperlink will open the URL in the browser.
+
+
+## How to disable hyperlink navigation in PDF document using PDF viewer control?
+
+You can disable the hyperlink navigation by setting the “AllowHyperlinkNavigation” property of PDF viewer to false. By default, hyperlink navigation is enabled in PDF viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" AllowHyperlinkNavigation="False" InputFileStream="{Binding PdfDocumentStream}" />
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire the properties of clicked URI from PDF viewer?
+
+You can acquire the details of the hyperlink that is tapped in the PDF viewer control from the HyperlinkClickedEventArgs and HyperlinkClicked event. Refer to the following code snippet for more details.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" HyperlinkClicked="pdfViewerControl_HyperlinkClicked"  InputFileStream="{Binding PdfDocumentStream}" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+        public void pdfViewerControl_HyperlinkClicked(object sender,HyperlinkClickedEventArgs args)
+        {
+            // Gets or sets a value indicating whether the hyperlink navigation was handled.
+            args.Handled = false;
+
+            // Gets the hyperlink being clicked.
+            string uri = args.Uri;
+
+            // Gets the current page index of the hyperlink.
+            int pageIndex = args.PageIndex;
+
+            //Gets the bounds of the hyperlink is being clicked.
+            Rectangle hyperlinkBound = args.Bounds;
+        }
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Importing-and-exporting-data.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Importing-and-exporting-data.md
new file mode 100644
index 000000000..43d3771c6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Importing-and-exporting-data.md
@@ -0,0 +1,152 @@
+---
+layout: post
+title: Importing and exporting data in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Importing and exporting data support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Importing and exporting data in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) provides options to import and export data like form fields and annotations in the PDF document.
+
+## Importing and exporting form data
+
+The import and export of form data supports the following extensions.
+
+* fdf
+* xfdf
+* json
+* xml
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting form data 
+
+The `ExportFormData` method exports the current data filled in the form fields into a stream in the specified file format. The name of the PDF (with extension) from which the data are exported should be given as the second argument to the method.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export form data to "fdf" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportFormData(DataFormat.Fdf, "PdfFileName.fdf");
+
+{% endhighlight %}
+{% endtabs %}
+
+N>While saving the stream returned by the `ExportFormData` method, the file name must have the same extension as the file type that was given as the first argument. For example, in the above case the file type provided is `fdf`, so the saved file extension should be `.fdf`.
+
+### Importing form data
+
+The `ImportFormData` method imports the data from a file of specified type and fills the saved data into the form fields.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import form data from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportFormData(fdfStreamToImport, DataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Importing and exporting annotations
+
+The import and export of annotations support following extensions.
+
+* fdf
+* xfdf
+
+The required file type can be chosen from the `DataFormat` enumeration. In the following sections only the fdf file type is explained for brevity.
+
+### Exporting annotations
+
+The `ExportAnnotations` method exports the current annotations added to the document into a stream in the specified file format.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+A selective list of annotations can also be exported in the specified file format using the `ExportAnnotations` overload method . The annotations list needs to be exported, and the data format should be passed as method arguments. The following code example explains exporting the list of annotations present only on the first page.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the list of annotations present on the first page
+List<IAnnotation> firstPageAnnotations = pdfViewerControl.Annotations.Where(annotation => annotation.PageNumber == 1).ToList();
+//Export annotations to "FDF" data format
+Stream fdfStreamToSave = pdfViewerControl.ExportAnnotations(firstPageAnnotations, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The `ExportAnnotations` method does not preserve the stamp annotations on export function. Instead, use the `ExportAnnotationsAsync` method to preserve them.
+
+### Export annotations asynchronously
+
+The PDF Viewer allows you to export the current annotations added to a document into a stream asynchronously using the [`ExportAnnotationsAsync`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ExportAnnotationsAsync_Syncfusion_Pdf_Parsing_AnnotationDataFormat_System_Threading_CancellationToken_) method. You can also cancel the asynchronous annotation exporting when it is in progress.
+
+{% tabs %}
+{% highlight c# %}
+
+//Export the annotations asynchronously to the "FDF" data format 
+Stream fdfStreamToSave = await pdfViewerControl.ExportAnnotationsAsync(AnnotationDataFormat.Fdf, cancellationTokenSource);
+
+{% endhighlight %}
+{% endtabs %}
+
+A selective list of annotations can also be exported asynchronously in the specified file format using the `ExportAnnotationsAsync` overload method. The annotations list needs to be exported, and the data format should be passed as method arguments. The following code example explains exporting the list of annotations asynchronously present only on the first page.
+
+{% tabs %}
+{% highlight c# %}
+
+//Get the list of annotations present in the first page
+List<IAnnotation> firstPageAnnotations = pdfViewerControl.Annotations.Where(annotation => annotation.PageNumber == 1).ToList();
+//Export the annotations asynchronously to the "FDF" data format 
+Stream fdfStreamToSave = await pdfViewerControl.ExportAnnotationsAsync(firstPageAnnotations, AnnotationDataFormat.Fdf, cancellationTokenSource);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code samples, the `cancellationTokenSource` enables you to cancel the asynchronous annotation exporting when it is in progress.
+
+### Cancel the asynchronous annotations exporting
+
+You can raise the cancel request when the annotations exporting is in progress
+
+{% tabs %}
+{% highlight c# %}
+
+private void cancelButton_Clicked(object sender, EventArgs e)
+ { 
+   cancellationTokenSource.Cancel();
+ }
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, the `cancellationTokenSource` instance is the same as the one given as the argument when exporting the annotations asynchronously.
+
+N>Calling the above method will not have any effect once the annotations are completely exported. It will stop the exporting process only when it is in progress.
+
+### Importing annotations
+
+The `ImportAnnotations` method imports the annotations from the file of specified type and fills the saved annotations into the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Import annotations from "fdf" data format
+Stream fdfStreamToImport = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("SampleDefaultNamespace.Assets.PdfFileName.fdf");
+pdfViewerControl.ImportAnnotations(fdfStreamToImport, AnnotationDataFormat.Fdf);
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Ink.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Ink.md
new file mode 100644
index 000000000..a5e602a7e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Ink.md
@@ -0,0 +1,793 @@
+---
+layout: post
+title: Ink annotations in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Ink annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Ink annotations in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include ink annotation in the PDF document and provides options to edit or remove the existing ink annotation in the PDF document.
+
+## Inclusion of ink annotation
+
+This section describes how to include ink annotation in PDF viewer control Xamarin.Forms.
+
+### Enabling ink annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer object to ink to enable the ink annotation. By setting this, zooming will be disabled whereas the scrolling can be performed using the scroll head or two-fingers to add ink strokes on multiple pages, and the touch interactions will be converted into inks on the PDF pages. Refer to the following code.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="inkAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="Ink" />
+
+{% endhighlight %}
+{% endtabs %}
+
+Use the following code to reset the annotation mode to none. 
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Two-fingers scrolling only works on mobile platforms. 
+
+### Adding ink annotation using toolbar
+
+Steps involved in adding ink annotation to the PDF document:
+
+1.	Switch to ink annotation mode.
+2.	Add inks to the pages of the PDF document, this will be recorded as a session.
+3.	You can perform undo and redo operations for every stroke made in the session.
+4.	You can also choose the color and thickness of the ink, here color and thickness are restricted to the complete ink and not individual strokes.
+5.	After adding ink annotation, you can either accept or discard the changes.
+
+### How to accept and include the ink annotation on to the PDF viewer?
+
+The following code can be used to accept and include the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to ignore/discard drawn ink annotation from the PDF viewer before inclusion?
+
+The following code can be used to ignore or discard the drawn ink annotation to the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.EndInkSession(false);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding ink annotation programmatically
+
+By `AddAnnotation` method, You can add the ink annotations programmatically. The created ink annotation object passed as a parameter. The `InkAnnotation` instance acquires the InkPointsCollection, page number and position as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+var inkPointsCollection = new List<List<float>>();
+inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+System.Drawing.Point position = new System.Drawing.Point(100, 100);
+InkAnnotation inkAnnotation = new InkAnnotation(inkPointsCollection, 1, position);
+inkAnnotation.Settings.Color = Color.Red;     
+//Adds the ink annotation to the specified page 
+pdfViewer.AddAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to identify whether the ink annotation is included?
+
+You can identify whether the drawn ink annotation has been added to the PDF viewer control or not by using the `InkAdded` event. This event will be raised once the annotation is added. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkAdded="PdfViewer_InkAdded"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkAdded(object sender, InkAddedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to perform undo and redo operation during inking session?
+
+You can perform undo and redo operations on the drawn ink annotations during the pre-conformance session. 
+
+The following code can be used to perform undo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.UndoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the undo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" CanUndoInkModified = "PdfViewer_CanUndoInkModified" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanUndoInkModified(object sender, CanUndoInkModifiedEventArgs args)
+{
+    bool canUndoInk = args.CanUndoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The following code can be used to perform redo operation on the ink annotations drawn over the PDF viewer control.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.RedoInk();
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify the redo operation in this session using the following event. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" CanRedoInkModified = "PdfViewer_CanRedoInkModified" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_CanRedoInkModified(object sender, CanRedoInkModifiedEventArgs args)
+{
+    bool CanRedoInk = args.CanRedoInk;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting ink annotation
+
+The PDF viewer can remove a selected annotation or all the annotations in the PDF document. 
+
+### Removing a selected annotation.
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkSelected="PdfViewer_InkSelected"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+    //Removes the selected annotation from the PDF viewer.
+    pdfViewer.RemoveAnnotation(selectedInkAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to identify the removal of ink annotation?
+
+You can identify removal of ink annotation using the `InkRemoved` event, which is available in the PDF viewer control. This event will be raised when you remove the ink annotation from the PDF viewer control.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkRemoved="PdfViewer_InkRemoved"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+The following C# code shows how to acquire bounds, page number, color, thickness, and opacity of the removed ink annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkRemoved(object sender, InkRemovedEventArgs args)
+{
+
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Working with ink annotation settings
+
+You can customize the color, opacity, and thickness of the ink annotation.
+
+### Changing the color
+
+You can set the color of the ink annotation by using the `AnnotationSettings.Ink.Color` property. Refer to the following code sample. 
+ 
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Resources>
+        <ResourceDictionary>
+            <syncfusion:AnnotationSettings x:Key="InkAnnotationSettings">
+                <syncfusion:AnnotationSettings.Ink>
+                    <Color>#FFFF0000</Color>
+                </syncfusion:AnnotationSettings.Ink>               
+            </syncfusion:AnnotationSettings>
+        </ResourceDictionary>
+    </ContentPage.Resources>
+    
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer" AnnotationSettings="{StaticResource InkAnnotationSettings}"/>
+    </ContentPage.Content>
+
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+pdfViewer.AnnotationSettings.Ink.Color = Color.Red;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+### Changing the opacity
+
+You can set the opacity of the ink annotation by using the `AnnotationSettings.Ink.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Resources>
+        <ResourceDictionary>
+            <syncfusion:AnnotationSettings x:Key="InkAnnotationSettings">
+                <syncfusion:AnnotationSettings.Ink>
+                    <Opacity>0.5</Opacity>
+                </syncfusion:AnnotationSettings.Ink>               
+            </syncfusion:AnnotationSettings>
+        </ResourceDictionary>
+    </ContentPage.Resources>  
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer" AnnotationSettings="{StaticResource InkAnnotationSettings}"/>
+    </ContentPage.Content>
+
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+pdfViewer.AnnotationSettings.Ink.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the thickness
+
+You can set the thickness of the ink annotation by using the `AnnotationSettings.Ink.Thickness` property. Refer to the following code example. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace: PdfViewerGettingStarted "
+             xmlns:syncfusion ="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms"
+             x:Class=" PdfViewerGettingStarted.MainPage">
+    <ContentPage.Resources>
+        <ResourceDictionary>
+            <syncfusion:AnnotationSettings x:Key="InkAnnotationSettings">
+                <syncfusion:AnnotationSettings.Ink>
+                    <Thickness>5</Thickness>
+                </syncfusion:AnnotationSettings.Ink>               
+            </syncfusion:AnnotationSettings>
+        </ResourceDictionary>
+    </ContentPage.Resources>   
+    <ContentPage.Content>
+        <syncfusion:SfPdfViewer x:Name="pdfViewer" AnnotationSettings="{StaticResource InkAnnotationSettings}"/>
+    </ContentPage.Content>
+
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Ink;
+pdfViewer.AnnotationSettings.Ink.Thickness = 5;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the minimum size
+
+By the `AnnotationSettings.Ink.MinimumSize` property, You can set the minimum size to which the ink annotations could be resized. 
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the ink annotations
+pdfViewer.AnnotationSettings.Ink.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to select the ink annotation?
+
+You can select the ink annotation by tapping the annotation. 
+
+### Select the ink annotation programmatically
+
+By `SelectAnnotation` method, You can select the ink annotation programmatically. The specified ink annotation object passed as a parameter. The following code example explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified ink annotation
+pdfViewer.SelectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+### How to change the properties of ink annotation after selection?
+
+You can select and change the properties of the ink annotation using the `InkSelected` event. This event will be raised when you select the ink annotation. This is illustrated in the following code sample. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkSelected="PdfViewer_InkSelected" />
+
+{% endhighlight %}
+{% endtabs %}
+
+You can change the properties of the selected annotation using the `InkSelectedEventArgs` object.  The following code shows how to change the properties of the selected annotation in the `InkSelectedEventHandler`.
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewer_InkSelected(object sender, InkSelectedEventArgs args)
+{
+    //Casts the sender object as Ink annotation.
+    InkAnnotation selectedInkAnnotation = sender as InkAnnotation;
+    //Sets the color of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Color = Color.Blue;
+    //Sets the opacity of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Opacity = 0.3f;
+    //Sets the thickness of the selected annotation using ink annotation settings.
+    selectedInkAnnotation.Settings.Thickness = 3;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+You can identify whether the ink annotation is tapped or not using the`InkTapped` event. This event will be triggered if you tap the ink annotation whether to select or deselect the annotation. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkTapped="PdfViewer_InkTapped"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkTapped(object sender, InkTappedEventArgs args)
+{
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+    //Retrieves the page number where the deselected annotation resides.
+    int pageNumber = args.PageNumber;
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to deselect the ink annotation?
+
+You can deselect the ink annotation by tapping on the selected annotation or on the PDF page. Deselection can be identified using the `InkDeselected` event.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkDeselected="PdfViewer_InkDeselected"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+
+The following code shows how to identify the deselected annotation from the raised event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_InkDeselected(object sender, InkDeselectedEventArgs args)
+{ 
+    //Retrieves the bounds of the deselected annotation.
+    Rectangle bounds = args.Bounds;
+
+    //Retrieves the page number where the deselected annotation resides.
+    int page = args.PageNumber;
+
+    //Retrieves the color of the deselected annotation.
+    Color color = args.Color;
+
+    //Retrieves the thickness of the deselected annotation.
+    float thickness = args.Thickness;
+
+    //Retrieves the opacity of the deselected annotation.
+    float opacity = args.Opacity;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect the ink annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the ink annotation programmatically. The specified ink annotation object passed as a parameter. 
+
+The following code Sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified ink annotation
+pdfViewer.DeselectAnnotation(inkAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## How to move or resize the selected ink annotation?
+
+Select and drag the annotation to move or resize the ink annotation. 
+
+### How to identify whether the ink annotation is moved or resized?
+
+The event `AnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" AnnotationMovedOrResized="PdfViewer_AnnotationMovedOrResized"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args) 
+{
+    //Retrieves the old bounds of the annotation
+    Rectangle oldBounds = args.OldBounds;
+    //Retrieves the new bounds of the annotation
+    Rectangle newBounds = args.NewBounds;
+}
+
+{% 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 draw the ink annotation using a stylus and scroll or zoom PDF page with the touch
+
+The ink annotation operation can be customized so that the ink strokes can be added only using a stylus by setting the `InkAnnotationSettings.TouchMode` API to `TouchMode.Stylus`. When the `TouchMode` is set to the stylus, the PDF can be zoomed and scrolled using a finger. The default value of the `TouchMode` property is `TouchMode.Direct` in which the zooming will be disabled and scrolling can be performed using the scroll head or two-fingers to add ink strokes on multiple pages, and all other touch interactions will be considered as ink operations.
+
+{% tabs %}
+{% highlight c# %}
+
+//TouchMode is set to Stylus
+pdfViewerControl.AnnotationSettings.Ink.TouchMode = TouchMode.Stylus;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>At present, this feature is available only in iOS
+
+## 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. 
+
+When the ink session ends after drawing the strokes, the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event will be raised. The [InkAnnotation](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html) instance that is drawn on the page is exposed as sender argument of the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event. We can get the Ink points which we drew on the page from [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html#Syncfusion_SfPdfViewer_XForms_InkAnnotation_InkPointsCollection). The [InkPointsCollection](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html#Syncfusion_SfPdfViewer_XForms_InkAnnotation_InkPointsCollection) is of a type List<List<float>>. Each List<float> in this collection represents each stroke of the Ink annotation we drew. There are as many List<float> instances in the [InkPointsCollection](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html#Syncfusion_SfPdfViewer_XForms_InkAnnotation_InkPointsCollection) as the number of strokes in the Ink annotation.
+
+The List<float> in turn, has the series of alternate X and Y coordinates of the ink stroke. i.e. the values at the odd position are X coordinates and at the even position are Y coordinates.
+
+We can modify or add new stroke points in the [InkAnnotation.InkPointsCollection](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.InkAnnotation.html#Syncfusion_SfPdfViewer_XForms_InkAnnotation_InkPointsCollection). As soon as the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event handler completes execution, the modified points will be reflected in the ink annotation on the UI.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args) 
+{     
+    InkAnnotation inkAnnotation = sender as InkAnnotation;         
+    List<List<float>> drawnPoints = inkAnnotation.InkPointsCollection; 
+    //Modify the drawn ink points 
+    List<List<float>> modifiedPoints = PerformModification(drawnPoints); 
+    inkAnnotation.InkPointsCollection = modifiedPoints; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The strokes cannot be smoothened when the user is drawing the strokes as the points are still being recorded. They can be smoothened only after the user confirms the end of the ink session. 
+
+## How to get and set the name of the ink annotations?
+
+The PDF Viewer allows the users to get and set the name of the ink annotations through the [Name](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_InkAdded(object sender, InkAddedEventArgs args)
+{
+   if(sender is InkAnnotation)
+    {
+        (sender as InkAnnotation).Name = "Ink1";
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the ink annotation in the [InkAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_InkAdded) event. But this can be done in all other events as well. 
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
+
+## How to change properties of each ink stroke separately
+
+By default, when the ink annotation is drawn, all strokes that are drawn in the ink annotation mode before clicking the done button will be considered as a single ink annotation. All these strokes will be selected and their properties changed as a whole since they represent a single ink annotation. 
+
+You can change the properties of each ink stoke separately by setting the `SfPdfViewer.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke` API to `true`.
+
+The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationSettings.Ink.EnableSeparateAttributesForEachStroke = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to erase ink annotations?
+
+You can erase ink annotation stokes using the eraser tool. You can also undo and redo the changes made by the erase operation. 
+
+### Enabling ink eraser
+
+Set the `AnnotationMode` property of the PDF viewer to `InkEraser` to enable the ink eraser. Refer to the following code.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/> 
+<Button x:Name="inkEraserAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter=" InkEraser" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.InkEraser;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling ink eraser
+
+Setting the `AnnotationMode` property of the PDF viewer to `None` disables the ink eraser.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/> <Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Changing the thickness of the ink eraser
+
+You can get or set the thickness of the ink eraser tool by using the `AnnotationSettings.InkEraserSettings.Thickness` property. The default value of the ink eraser thickness is 40, and it ranges from 5 to 150. Refer to the following code example.
+
+{% tabs %}
+{% highlight xaml %}
+
+//Set the Ink eraser thickness.
+pdfViewerControl.AnnotationSettings.InkEraserSettings.Thickness = 75;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the ink erase operation
+The event `InkEdited` will be raised when you erase an ink annotation. The ink points before the erase operation and the modified ink points after the erase operation can be obtained from the event arguments.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" InkEdited ="PdfViewer_InkEdited"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+private void PdfViewer_InkEdited (object sender, InkEditedEventArgs args) 
+{
+ //Get the old ink points before the erase operation.
+            List<List<float>> OldInkPoints = args.OldInkPoints;
+  //Get the new modified ink points after the erase operation.
+            List<List<float>> NewInkPoints = args.NewInkPoints; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+After erasing the ink annotation, if its size or position is changed from the values before the erasing operation, the `AnnotationMovedOrResized` event will be raised. The old bounds before the erase operation and the new bounds after the eraser operation can be obtained from the event arguments. Refer to this [section](https://help.syncfusion.com/xamarin/pdf-viewer/ink#how-to-identify-whether-the-ink-annotation-is-moved-or-resized).
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Loading-password-protected-PDFs.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Loading-password-protected-PDFs.md
new file mode 100644
index 000000000..e69292354
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Loading-password-protected-PDFs.md
@@ -0,0 +1,88 @@
+---
+layout: post
+title: Loading password protected PDFs in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Loading password protected PDFs support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Loading password protected PDFs in Xamarin Pdf Viewer (SfPdfViewer)
+
+Password protected PDFs can be loaded using the `LoadDocument(Stream pdfStream, string password)` method. 
+
+{% tabs %}
+{% highlight c# %}
+
+string password = "PASSWORD";
+pdfViewerControl.LoadDocument(pdfStream, password);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code snippet, `pdfStream` is the Stream instance read from the encrypted PDF and `password` is the key with which the PDF is encrypted. 
+
+## Loading password-protected PDF asynchronously
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to load the PDF document from the specified stream with password asynchronously using the `LoadDocumentAsync` method. You can also cancel the asynchronous PDF loading when it is in progress.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.LoadDocumentAsync(documentStream, password, cancellationTokenSource);
+
+{% endhighlight %}
+{% endtabs %}
+
+In the above code sample, `documentStream` is the Stream instance read from the encrypted PDF, and the `password` is the key with that the PDF is encrypted, and the `cancellationTokenSource` enables you to cancel the asynchronous PDF loading.
+
+For canceling the asynchronous PDF loading and detecting the cancellation when it occurred, refer the `Loading a PDF asynchronously` section of [Getting Started](https://help.syncfusion.com/xamarin/pdf-viewer/getting-started).
+
+## Handling invalid passwords
+
+If the password provided with the `LoadDocument(Stream pdfStream, string password)` is invalid, then the `PasswordErrorOccurred` event is raised. The `Title` property of the `PasswordErrorOccurredEventArgs` parameter helps identify whether the event raised due to invalid password. In that case the `Title` property will read "Error loading encrypted PDF document". 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PasswordErrorOccurred += PdfViewerControl_PasswordErrorOccurred;
+private void PdfViewerControl_PasswordErrorOccurred(object sender, PasswordErrorOccurredEventArgs args)
+{
+    //Get the details regarding the password error occurred. 
+    string title = args.Title;
+    string description = args.Description;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The event will also be raised when an encrypted PDF is loaded without providing a password using the `LoadDocument(Stream pdfStream)` overload.  
+
+## Enable or disable the password protected view
+
+The PDF viewer has a built-in view for entering the password of encrypted PDF document before display. 
+
+**Password UI View**
+
+![Password View](pdfviewer_images/PasswordView.png)
+
+The users can enable or disable the password UI view based on their requirement. The password UI view can be disabled by setting the `IsPasswordViewEnabled` API to false. The default value of this API is true. The code snippet for disabling the view is as follows, 
+
+{% highlight c# %}
+  
+//Disable the display of password UI view
+pdfViewer.IsPasswordViewEnabled = false;
+
+{% endhighlight %}
+
+### Detecting the cancel operation of password view
+
+The event `PasswordViewCancelButtonClicked` will be raised when the user cancels the password entering process.
+
+{% highlight c# %}
+
+pdfViewer.PasswordViewCancelButtonClicked += PdfViewer_PasswordViewCancelButtonClicked;
+
+{% endhighlight %}      
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Localization.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Localization.md
new file mode 100644
index 000000000..0533a1a6d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Localization.md
@@ -0,0 +1,1080 @@
+---
+layout: post
+title: Localization in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Localization support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: UG
+---
+
+# Localization in Xamarin Pdf Viewer (SfPdfViewer)
+
+Localization is the process of configuring the application to a specific language. PdfViewerControl supports to localize its static text. SfPdfViewer uses the following static text that can be localized in application level:
+
+<table>
+
+<tr>
+<th>Keyword</th>
+<th>Text(English)</th>
+</tr>
+
+<tr>
+<td>SfPdfViewerCancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerCopy</td>
+<td>Copy</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerHighlight</td>
+<td>Highlight</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerHyperlinkCancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerHyperlinkMessage</td>
+<td>Do you want to open the webpage</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerHyperlinkMessageTitle</td>
+<td>Open web page</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerHyperlinkOpen</td>
+<td>Open</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerInvalidPageMessage</td>
+<td>Invalid Page Number</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerInvalidPageMessageTitle</td>
+<td>Error</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerNoMatches</td>
+<td>No matches were found</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerNoOccurrences</td>
+<td>No more matches were found</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerOkMessage</td>
+<td>Ok</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageEntryCancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageEntryOkay</td>
+<td>Ok</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageNumberEntryMessage</td>
+<td>Enter Page Number</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageNumberEntryMessageTitle</td>
+<td>Go To Page</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPlaceHolderText</td>
+<td>Type your text</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerRedo</td>
+<td>Redo</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSave</td>
+<td>Save</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSearchResult</td>
+<td>Search Result</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerStrikethrough</td>
+<td>Strikethrough</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerUnderline</td>
+<td>Underline</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerUndo</td>
+<td>Undo</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSignaturePadTitle</td>
+<td>Create Signature</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerDone</td>
+<td>Done</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerClear</td>
+<td>Clear</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSignatureCancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSearchPlaceHolderText</td>
+<td>Enter text to search</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerBookmarkToolbarTitle</td>
+<td>Bookmarks</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerNoBookmarksText</td>
+<td>No Bookmarks</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPrint</td>
+<td>Print</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerContinuousPage</td>
+<td>Continuous Pages</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageByPage</td>
+<td>Page By Page</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerOfMessage</td>
+<td>Of</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSubmit</td>
+<td>Submit</td>
+</tr>
+
+<tr>
+<td>SfPdfViewer_PageNavigationDialog_OfPages</td>
+<td>of pages</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPageNumberEntryMessageTitleMaterial</td>
+<td>Go to Page</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerBookmarkToolbarTitleMaterial</td>
+<td>Bookmark</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSignaturePadTitleMaterial</td>
+<td>Create Signature</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerDoneMaterial</td>
+<td>DONE</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerClearMaterial</td>
+<td>CLEAR</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSubmitMaterial</td>
+<td>SUBMIT</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerCancelMaterial</td>
+<td>CANCEL</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPrintAlertErrorTitle</td>
+<td>Error</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPrintAlertErrorMessage</td>
+<td>Password protected document cannot be printed.</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerClose</td>
+<td>Close</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerSquiggly</td>
+<td>Squiggly</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerApply</td>
+<td>Apply</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerNoBookmarksText</td>
+<td>No Bookmarks</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerEditLabelHeaderText</td>
+<td>Rename</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerLoadingBookmarksText</td>
+<td>Loading....</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerOkButton</td>
+<td>OK</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerCancelButton</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPasswordDialogerrorMessage</td>
+<td>Invalid Password!</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPasswordDialogTitle</td>
+<td>Enter Password</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPasswordDialogMessage</td>
+<td>Enter the password to open this PDF File.</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerPasswordDialogPlaceholderText</td>
+<td> Password </td>
+</tr>
+
+<tr>
+<td>SfPdfViewerXFAErrorAlertTitle</td>
+<td>XFA Forms PDF</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerXFAErrorAlertMessage</td>
+<td>The PDF contains XFA Forms which cannot be viewed in PDF Viewer.</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerUnhandledConditionErrorAlertTitle</td>
+<td>Error loading PDF</td>
+</tr>
+
+<tr>
+<td>SfPdfViewerUnhandledConditionErrorAlertMessage</td>
+<td>There was an error in loading the PDF</td>
+</tr>
+
+<tr>
+
+<td>Sfpdfviewer_hinttext</td>
+<td>Double Tap to activate</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_signaturebutton</td>
+<td>Signature</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_textmarkupsbutton</td>
+<td>Text mark-ups</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_inkbutton</td>
+<td>Ink</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_freetextbutton</td>
+<td>Text</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_shapesbutton</td>
+<td>Shapes</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_annotationsbackbutton</td>
+<td>Annotations Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_fontsizebutton</td>
+<td>Font Size</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_textbackbutton</td>
+<td>Text Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_inkbackbutton</td>
+<td>Ink Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknessbutton</td>
+<td>Thickness</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_colorbutton</td>
+<td>Color</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_nextlevelbookmarksbutton</td>
+<td>Next level bookmarks</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_previouslevelbookmarksbutton</td>
+<td>Previous level bookmarks</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_bookmarksbackbutton</td>
+<td>Bookmarks Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_annotationsbutton</td>
+<td>Annotations</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_opacitybutton</td>
+<td>Opacity</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_cyancolorbutton</td>
+<td>Cyan</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_magentacolorbutton</td>
+<td>Magenta</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_blackcolorbutton</td>
+<td>Black</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_redcolorbutton</td>
+<td>Red</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_greencolorbutton</td>
+<td>Green</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_yellowcolorbutton</td>
+<td>Yellow</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_deletebutton</td>
+<td>Delete</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_undobutton</td>
+<td>Undo</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_continuouspagebutton</td>
+<td>Continuous Page</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_singlepagebutton</td>
+<td>Single Page</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_redobutton</td>
+<td>Redo</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_savebutton</td>
+<td>Save</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_printbutton</td>
+<td>Print</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_searchnextbutton</td>
+<td>Search Next</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_searchpreviousbutton</td>
+<td>Search Previous</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_cancelsearchbutton</td>
+<td>Cancel Search</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_searchbackbutton</td>
+<td>Search Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_searchbarplaceholdertext</td>
+<td>Search Bar</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_clearsearchbutton</td>
+<td>Clear Search</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_rectanglebutton</td>
+<td>Rectangle</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_ellipsebutton</td>
+<td>Ellipse</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_polygonbutton</td>
+<td>Polygon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_polylinebutton</td>
+<td>Polyline</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_cloudbutton</td>
+<td>Cloud</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_linebutton</td>
+<td>Line</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_arrowbutton</td>
+<td>Arrow</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_shapesbackbutton</td>
+<td>Shapes Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_rectanglebackbutton</td>
+<td>Rectangle Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_arrowbackbutton</td>
+<td>Arrow back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_linebackbutton</td>
+<td>Line back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_ellipsebackbutton</td>
+<td>Ellipse back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_highlightbutton</td>
+<td>Highlight Text</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_underlinebutton</td>
+<td>Underline Text</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_squigglybutton</td>
+<td>Squiggly Text</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_textmarkupsbackbutton</td>
+<td>Text Markups Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_strikethroughbutton</td>
+<td>Strikethrough Text</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_highlighttextbackbutton</td>
+<td>Text Highlight Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_underlinetextbackbutton</td>
+<td>Text Underline back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_strikethroughtextbackbutton</td>
+<td>Text strikethrough back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_searchbutton</td>
+<td>Search</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_moreoptionsbutton</td>
+<td>More Options</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_bookmarksbutton</td>
+<td>Bookmarks</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_viewmodebutton</td>
+<td>View Mode</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_redoinkbutton</td>
+<td>Redo Ink</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_undoinkbutton</td>
+<td>Undo Ink</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_UndoEraserButton</td>
+<td>Undo Eraser</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_RedoEraserButton</td>
+<td>Redo Eraser</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_done</td>
+<td>Done</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknessonebutton</td>
+<td>Thickness One</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknesthreebutton</td>
+<td>Thickness Three</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknessfivebutton</td>
+<td>Thickness Five</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknesssevenbutton</td>
+<td>Thickness Seven</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_thicknessninebutton</td>
+<td>Thickness Nine</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_cancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_signaturepad_done</td>
+<td>Done</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_signaturepad_cancel</td>
+<td>Cancel</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_signaturepad_clear</td>
+<td>Clear</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_backbutton</td>
+<td>Back</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_bookmarksclosebutton</td>
+<td>Close Bookmarks</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_pageupbutton</td>
+<td>Previous Page</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_pagedownbutton</td>
+<td>Next Page</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_continuousButton</td>
+<td>continuous ViewMode</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_singlePageViewButton</td>
+<td>SinglePage ViewMode</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_popupbutton</td>
+<td>Popup</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_eraserbutton</td>
+<td>Eraser</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_popupiconselectorbutton</td>
+<td>Popup Icon Selector</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_commentbutton</td>
+<td>Comment Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_notebutton</td>
+<td>Note Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_insertbutton</td>
+<td>Insert Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_keybutton</td>
+<td>Key Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_paragraphbutton</td>
+<td>Paragraph Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_newparagraphbutton</td>
+<td>New Paragraph Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_helpbutton</td>
+<td>Help Icon</td>
+</tr>
+
+<tr>
+<td>Sfpdfviewer_custombookmarkoptionbutton</td>
+<td>Custom bookmark option</td>
+</tr>
+
+</table>
+
+To localize the SfPdfViewer, follow the steps in application level:
+
+1. Add a .resx file.
+2. Convert the platform specific language format to .NET format.
+3. Apply the converted format.
+
+## Add a .resx file
+
+In the portable project of your application, add a `.resx` file inside the resources folder with **Build Action -> EmbeddedResource**. File name should be `Syncfusion control's Namespace + language code` format.
+
+For example, to set the culture as French, the file should be named as **Syncfusion.SfPdfViewer.XForms.fr-FR.resx**.
+
+![Adding resx file for PDF Viewer](pdfviewer_images/PdfViewerAddingResxFile.png)
+
+Based on the language, set the appropriate equivalent text to the static text in the .resx file.
+
+N> You should create and add separate .resx files for individual languages.
+
+![resx file of PDF viewer](pdfviewer_images/PdfViewerResxFile.png)
+
+## Convert the platform specific language format to .NET format
+
+To get the localized text from the added `.resx` file, declare an interface named ILocalize in your PCL project and implement the interface in each platform renderer. This will query the language set in the device using platform specific code and convert to .NET format.
+
+Refer to the following code snippet to declare the interface in PCL project.
+
+{% tabs %}
+{% highlight c# %}
+
+public interface ILocalize
+{
+	CultureInfo GetCurrentCultureInfo();
+	void SetLocale(CultureInfo cultureInfo);
+}
+public class PlatformCulture
+{
+	public PlatformCulture(string platformCultureString)
+	{
+		if (!String.IsNullOrEmpty(platformCultureString))
+		{
+			PlatformString = platformCultureString.Replace("_", "-");// .NET expects dash, not underscore
+			var dashIndex = PlatformString.IndexOf("-", StringComparison.Ordinal);
+			if (dashIndex > 0)
+			{
+				var parts = PlatformString.Split('-');
+				LanguageCode = parts[0];
+				LocaleCode = parts[1];
+			}
+			else
+			{
+				LanguageCode = PlatformString;
+				LocaleCode = "";
+			}
+		}
+	}
+
+	public string PlatformString
+	{
+		get; private set;
+	}
+
+	public string LanguageCode
+	{
+		get; private set;
+	}
+
+	public string LocaleCode
+	{
+		get; private set;
+	}
+
+	public override string ToString()
+	{
+		return PlatformString; ;
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Refer to the following code to implement the interface in Android renderer project.
+
+{% tabs %}
+{% highlight c# %}
+
+public class Localize : ILocalize
+{
+    public void SetLocale(CultureInfo cultureInfo)
+    {
+        Thread.CurrentThread.CurrentCulture = cultureInfo;
+        Thread.CurrentThread.CurrentUICulture = cultureInfo;
+    }
+
+    public CultureInfo GetCurrentCultureInfo()
+    {
+        var netLanguage = "en";
+        var androidLocale = Java.Util.Locale.Default;
+        netLanguage = AndroidToDotnetLanguage(androidLocale.ToString().Replace("_", "-"));
+        // this gets called a lot - try/catch can be expensive so consider caching or something
+        CultureInfo cultureInfo = null;
+        try
+        {
+            cultureInfo = new CultureInfo(netLanguage);
+        }
+        catch
+        {
+            // iOS locale not valid .NET culture (eg. "en-ES" : English in Spain)
+            // fallback to first characters, in this case "en"
+            try
+            {
+                var fallback = ToDotnetFallbackLanguage(new PlatformCulture(netLanguage));
+                cultureInfo = new CultureInfo(fallback);
+            }
+            catch
+            {
+                // iOS language not valid .NET culture, falling back to English
+                cultureInfo = new CultureInfo("en");
+            }
+        }
+        return cultureInfo;
+    }
+
+    private string AndroidToDotnetLanguage(string androidLanguage)
+    {
+        var netLanguage = androidLanguage;
+        //certain languages need to be converted to CultureInfo equivalent
+        switch (androidLanguage)
+        {
+            case "ms-BN":   // "Malaysian (Brunei)" not supported .NET culture
+            case "ms-MY":   // "Malaysian (Malaysia)" not supported .NET culture
+            case "ms-SG":   // "Malaysian (Singapore)" not supported .NET culture
+                netLanguage = "ms"; // closest supported
+                break;
+            case "in-ID":  // "Indonesian (Indonesia)" has different code in  .NET 
+                netLanguage = "id-ID"; // correct code for .NET
+                break;
+            case "gsw-CH":  // "Schwiizertüütsch (Swiss German)" not supported .NET culture
+                netLanguage = "de-CH"; // closest supported
+                break;
+                // add more application-specific cases here (if required)
+                // ONLY use cultures that have been tested and known to work
+        }
+        return netLanguage;
+    }
+
+    private string ToDotnetFallbackLanguage(PlatformCulture platformCulture)
+    {
+        var netLanguage = platformCulture.LanguageCode; // use the first part of the identifier (two chars, usually);
+        switch (platformCulture.LanguageCode)
+        {
+            case "gsw":
+                netLanguage = "de-CH"; // equivalent to German (Switzerland) for this app
+                break;
+                // add more application-specific cases here (if required)
+                // ONLY use cultures that have been tested and known to work
+        }
+        return netLanguage;
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+Refer to the following code to implement the interface in iOS renderer project.
+
+{% tabs %}
+{% highlight c# %}
+
+public class Localize : ILocalize
+{
+    public void SetLocale(CultureInfo cultureInfo)
+    {
+        Thread.CurrentThread.CurrentCulture = cultureInfo;
+        Thread.CurrentThread.CurrentUICulture = cultureInfo;
+    }
+
+    public CultureInfo GetCurrentCultureInfo()
+    {
+        var netLanguage = "en";
+        if (NSLocale.PreferredLanguages.Length > 0)
+        {
+            var pref = NSLocale.PreferredLanguages[0];
+            netLanguage = iOSToDotnetLanguage(pref);
+        }
+
+        // this gets called a lot - try/catch can be expensive so consider caching or something
+        CultureInfo cultureInfo = null;
+        try
+        {
+            cultureInfo = new CultureInfo(netLanguage);
+        }
+        catch
+        {
+            // iOS locale not valid .NET culture (eg. "en-ES" : English in Spain)
+            // fallback to first characters, in this case "en"
+            try
+            {
+                var fallback = ToDotnetFallbackLanguage(new PlatformCulture(netLanguage));
+                cultureInfo = new CultureInfo(fallback);
+            }
+            catch
+            {
+                // iOS language not valid .NET culture, falling back to English
+                cultureInfo = new CultureInfo("en");
+            }
+        }
+        return cultureInfo;
+    }
+    private string iOSToDotnetLanguage(string iOSLanguage)
+    {
+        var netLanguage = iOSLanguage;
+        //certain languages need to be converted to CultureInfo equivalent
+        switch (iOSLanguage)
+        {
+            case "ms-MY":   // "Malaysian (Malaysia)" not supported .NET culture
+            case "ms-SG":   // "Malaysian (Singapore)" not supported .NET culture
+                netLanguage = "ms"; // closest supported
+                break;
+            case "gsw-CH":  // "Schwiizertüütsch (Swiss German)" not supported .NET culture
+                netLanguage = "de-CH"; // closest supported
+                break;
+                // add more application-specific cases here (if required)
+                // ONLY use cultures that have been tested and known to work
+        }
+        return netLanguage;
+    }
+
+    private string ToDotnetFallbackLanguage(PlatformCulture platCulture)
+    {
+        var netLanguage = platCulture.LanguageCode; // use the first part of the identifier (two chars, usually);
+        switch (platCulture.LanguageCode)
+        {
+            // 
+            case "pt":
+                netLanguage = "pt-PT"; // fallback to Portuguese (Portugal)
+                break;
+            case "gsw":
+                netLanguage = "de-CH"; // equivalent to German (Switzerland) for this app
+                break;
+                // add more application-specific cases here (if required)
+                // ONLY use cultures that have been tested and known to work
+        }
+        return netLanguage;
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Implementation of the interface is not required for UWP project, since the resources automatically recognizes the selected language.
+
+## Apply the converted format 
+
+After setting the root/main page of the application in your MainPage.Xaml.cs file of the PCL project, initialize a new instance of the `ResourceManager` class and set it to the `PdfViewerResourceManager.Manager` property to look up into the resources with specified root name in the given assembly. Using `DependencyService`, call `SetLocale()` of the implemented interface with necessary language code as parameter.
+
+{% tabs %}
+{% highlight c# %}
+
+public partial class MainPage : ContentPage
+{
+	public MainPage()
+	{
+		InitializeComponent();
+		//The PDF is in the Assets folder of this project. Read it into a stream
+		Stream stream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.Xamarin_Forms_Succinctly.pdf");
+		//Load the stream to PdfViewer
+		pdfViewerControl.LoadDocument(stream);
+		//Assign the localized string to the specific culture
+		PdfViewerResourceManager.Manager=new ResourceManager("GettingStarted.Resources.Syncfusion.SfPdfViewer.XForms", GetType().GetTypeInfo().Assembly);
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+For Android and iOS, it is mandatory to implement the previous steps. However, to set the specific language to the application irrespective of the selected language in the device, use `CultureInfo.CurrentUICulture` in a specific project of UWP platform.
+
+Refer to the following code example to localize the text in UWP platform.
+
+MainPage.Xaml.cs
+{% tabs %}
+{% highlight c# %}
+
+public MainPage()
+{
+    this.InitializeComponent();
+    SfPdfViewerRenderer.Init();
+    // Applying localization for UWP
+    CultureInfo.CurrentUICulture = new CultureInfo("fr");
+    LoadApplication(new GettingStarted.App());
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![PDF Viewer with localized text](pdfviewer_images/PdfViewerLocalization.png)
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Popup-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Popup-Annotation.md
new file mode 100644
index 000000000..c253775b7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Popup-Annotation.md
@@ -0,0 +1,474 @@
+---
+layout: post
+title: Popup annotations in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Popup annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Popup annotations in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include Popup or Sticky note annotations in a PDF document and provides options to modify or remove the existing ones.
+
+## Adding Popup annotations using toolbar
+
+### Enabling Popup annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer to `Popup`. After setting the annotation mode, the zooming, panning, and scrolling will be disabled. Tap anywhere on the displayed PDF page, a popup will appear. Type the text in the popup and click "Ok" to add popup or sticky note to the page. Once the popup annotation is added, the zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/> 
+<Button x:Name="popupAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="Popup" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer(); 
+pdfViewer.AnnotationMode = AnnotationMode.Popup;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling popup annotation mode
+
+Setting the annotation mode to `None` disables the popup mode.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion of popup annotations
+
+The event `PopupAnnotationAdded` will be raised when a popup annotation is added to the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationAdded =" PdfViewer_PopupAnnotationAdded"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.PopupAnnotationAdded += PdfViewer_PopupAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Adding popup annotations programmatically
+
+By `AddAnnotation` method, you can add the popup annotations programmatically with the created popup annotation object passed as a parameter. The `PopupAnnotation` instance acquires the page number and position as the parameters and the text note to be added.
+
+The following code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the popup annotation
+PopupAnnotation popupAnnotation = new PopupAnnotation(1, new Point(100, 100));
+//Add the popup text
+popupAnnotation.Settings.Text = "Syncfusion";
+//Add the popup annotation to the specified page and position
+pdfViewerControl.AddAnnotation(popupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting tap on popup annotations
+
+Tapping a popup annotation selects it or deselects if it is already selected. The event `PopupAnnotationTapped` is raised when a Popup is tapped.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationTapped="PdfViewer_PopupAnnotationTapped "/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewer.PopupAnnotationTapped += PdfViewer_PopupAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting popup annotations
+
+You can select a popup annotation by tapping on it. When a popup is selected, the `PopupAnnotationSelected` event will be raised. The properties of the selected popup can be retrieved using the sender parameter of the event handler.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationSelected="PdfViewer_PopupAnnotationSelected "/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+private void PdfViewer_PopupAnnotationSelected(object sender, EventArgs args) 
+{ 
+
+//Get the page number of the selected popup annotation
+int pageNumber = (sender as PopupAnnotation).PageNumber; 
+//Get the position of the selected popup annotation
+Point position = (sender as PopupAnnotation).Position; 
+//Get the text of the popup annotation 
+string text = (sender as PopupAnnotation).Settings.Text; 
+//Get the icon color 
+Color iconColor = (sender as PopupAnnotation).Settings.Color; 
+//Get the icon type
+PopupIcon popupIcon = (sender as PopupAnnotation).Settings.Icon; 
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting popup annotation programmatically
+
+By `SelectAnnotation` method, you can select the popup annotation with the specified popup annotation object passed as a parameter.
+
+The following code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified popup annotation 
+pdfViewer.SelectAnnotation(popupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting popup annotations
+
+You can deselect a selected popup annotation by tapping on it or somewhere on the PDF page. Deselection can be detected using the `PopupAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationDeselected="PdfViewer_PopupAnnotationDeselected"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.PopupAnnotationDeselected += PdfViewer_PopupAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting popup annotation programmatically
+
+By `DeselectAnnotation` method, you can deselect the popup annotation with the specified popup annotation object passed as a parameter.
+
+The following code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified popup annotation 
+pdfViewer.DeselectAnnotation(popupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of popup annotations
+
+### Setting the default color
+
+You can set the default color of the popup annotations by using the `SfPdfViewer.AnnotationSettings.Popup.Color` property. Refer to the following code example.
+
+{% highlight c# %}
+pdfViewer.AnnotationSettings.Popup.Color = Color.Red;
+{% endhighlight %}
+
+### Setting the default popup appearance icon
+
+You can set the default popup appearance icon of the popup annotations by using the `SfPdfViewer.AnnotationSettings.Popup.Icon` property. The supported popup annotation appearance icons are:
+
+* Note
+* Insert
+* Comment
+* Key
+* Help
+* Paragraph
+* NewParagraph 
+
+Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.AnnotationSettings.Popup.Icon = PopupIcon.Note;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Unsupported popup annotation icons will default to the *Comment* icon.
+
+### Changing the properties of a selected popup
+
+You can change the properties of the selected annotation by casting the sender parameter of the `PopupAnnotationSelected` event handler to `PopupAnnotation` and modify its properties. The following code example shows how to change the properties.
+
+{% tabs %}
+{% highlight c# %}
+
+Button changePopupPropertiesButton = new Button(); 
+changePopupPropertiesButton.Clicked+= changePopupPropertiesButton_Clicked; 
+PopupAnnotation selectedPopupAnnotation;
+private void PdfViewer_PopupAnnotationSelected(object sender, EventArgs args) 
+{ 
+   //Cast the sender object to PopupAnnotation 
+   selectedPopupAnnotation = sender as PopupAnnotation; 
+
+} 
+
+private void changePopupPropertiesButton_Clicked(object sender, EventArgs e) 
+{ 
+   //Change the color
+   selectedPopupAnnotation.Settings.Color = Color.Blue;
+   //Change the icon
+   selectedPopupAnnotation.Settings.Icon = PopupIcon.Key;
+   //Change the Text
+   selectedPopupAnnotation.Settings.Text = "Text";
+}
+ 
+{% endhighlight %}
+{% endtabs %}
+
+## Moving popup annotations
+
+To move the annotation, it should be selected. After the selector appears, tapping and dragging anywhere inside the selector will move the annotation.
+
+N>Popup annotations cannot be resized.
+
+### Detecting the movement of a popup annotation
+The event `PopupAnnotationMoved` will be raised when you move the popup annotation.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationMoved="PdfViewer_PopupAnnotationMoved"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.PopupAnnotationMoved += PdfViewer_PopupAnnotationMoved
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the moved popup can be obtained from the args parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_PopupAnnotationMoved(object sender, PopupAnnotationMovedEventArgs args) 
+{ 
+   //Retrieve the old position of the annotation 
+   Point oldPosition = args.OldPosition; 
+   //Retrieve the new position of the annotation 
+   Point newPosition = args.NewPosition; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting popup annotations
+
+PDF viewer can remove a selected annotation or all annotations in the PDF document.
+
+### Removing a selected popup annotation
+
+The following code example illustrates removing a selected popup from the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationSelected="PdfViewer_PopupAnnotationSelected"/> 
+<Button x:Name="deletePopupAnnotationButton" Grid.Row="1" Clicked="deletePopupAnnotationButton_Clicked"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+PopupAnnotation selectedPopupAnnotation; 
+
+private void PdfViewer_PopupAnnotationSelected(object sender, EventArgs args) 
+{ 
+   //Cast the sender object to popup annotation. 
+   selectedPopupAnnotation = sender as PopupAnnotation; 
+}
+
+private void deletePopupAnnotationButton_Clicked(object sender, EventArgs e) 
+{
+   //Delete the selected popup annotation
+   pdfViewer.RemoveAnnotation(selectedPopupAnnotation); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all annotations
+
+The `ClearAllAnnotations` method can be used to delete all annotations irrespective of their types from the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" /> 
+<Button x:Name="deleteAllAnnotationsButton" Command="{Binding ClearAllAnnotationsCommand, Source={x:Reference Name=pdfViewer}} />
+
+{% endhighlight %}
+{% highlight c# %}
+
+//Delete all the annotations from a button click
+private void deleteAllAnnotationsButton_Clicked(object sender, EventArgs e) 
+{ 
+   pdfViewer.ClearAllAnnotations(); 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Detecting the removal of a popup annotation
+
+The event `PopupAnnotationRemoved` will be raised when a Popup annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" PopupAnnotationRemoved="PdfViewer_PopupAnnotationRemoved"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewer.PopupAnnotationRemoved += PdfViewer_PopupAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed Popup can be obtained from the sender parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_PopupAnnotationRemoved(object sender, EventArgs args) 
+{ 
+   //Get the page number of the selected popup annotation
+   int pageNumber = (sender as PopupAnnotation).PageNumber; 
+   //Get the text of the popup annotation 
+   string text = (sender as PopupAnnotation).Settings.Text; 
+   //Get the icon color 
+   Color textColor = (sender as PopupAnnotation).Settings.Color; 
+   //Get the icon type
+   PopupIcon popupIcon = (sender as PopupAnnotation).Settings.Icon; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to open and edit the text of the popup annotation?
+
+The popup annotation can be opened and edited by selecting and double tapping on it from the UI. We can programmatically open the popup view and edit the popup annotation's text by calling the `EditPopupAnnotationText` method. 
+The following code example illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Edit the selected popup annotation in the PDF document 
+pdfViewer.EditPopupAnnotationText();
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There will be no effect in calling the `EditPopupAnnotationText` method, if the popup annotation is not selected.
+
+## How to lock or unlock the popup annotations?
+
+To lock or unlock all the popup annotation, set the `IsLocked` API to true or false respectively, and the following example explains the same. But other annotation types can be moved, removed or their attributes can be changed.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the popup annotation interaction such as move, remove, and attributes changes. 
+pdfViewerControl.AnnotationSettings.Popup.IsLocked = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+Interactions with Popup annotation types such as move, 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 popup annotations, although the `IsLocked` property of the popup annotation is set to false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the popup annotation interaction, though its 'IsLocked' property is set to ‘false’.  
+pdfViewerControl.AnnotationSettings.IsLocked = true; 
+pdfViewerControl.AnnotationSettings.Popup.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the popup annotation selection?
+
+To enable or disable the popup annotation selection, set the `Constraints` API to `AnnotationConstraints.Selectable` or `~AnnotationConstraints.Selectable` respectively, and the following example explains the same. But other annotation types can be selected, moved, removed or their attributes can be changed.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the selection of popup annotations. 
+pdfViewerControl.AnnotationSettings.Popup.Constraints = ~AnnotationConstraints.Selectable;
+
+{% endhighlight %}
+{% endtabs %}
+
+Popup annotation selection will be allowed only if the `SfPdfViewer.AnnotationSettings.Constraints` API is set to `AnnotationConstraints.Selectable`. The following code prevents the Popup annotations selection, even though the `Constraints` property of the Popup annotation is set to `AnnotationConstraints.Selectable`.
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the popup annotation selection, though its 'Constraints' property is set to ‘AnnotationConstraints.Selectable’
+pdfViewerControl.AnnotationSettings.Constraints= ~AnnotationConstraints.Selectable; 
+pdfViewerControl.AnnotationSettings.Popup.Constraints = AnnotationConstraints.Selectable;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get and set the name of the Popup annotations?
+
+The PDF Viewer allows the users to get and set the name of Popup annotations through the `Name` API.
+
+The following code sample explains modifying the name of the popup annotation in the `PopupAnnotationAdded` event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_PopupAnnotationAdded(object sender, EventArgs args) 
+{ 
+   //Sets the name for the annotation. 
+   (sender as PopupAnnotation).Name = "Popup_1";
+}
+
+{% endhighlight %}
+{% endtabs %}
+ 
+N> For illustration purposes, we have only provided the example for modifying the name of the popup annotation in the `PopupAnnotationAdded` event. But this can be done in all other events as well.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Printing-PDF-files.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Printing-PDF-files.md
new file mode 100644
index 000000000..04a11eac2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Printing-PDF-files.md
@@ -0,0 +1,138 @@
+---
+layout: post
+title: Printing in PDF Viewer Xamarin.Forms | Syncfusion
+description: PDF Viewer in Xamarin.Forms supports printing the PDF documents loaded in it. It allows printing of document with/without file names.
+platform: xamarin
+control: SfPdfViewer
+documentation: UG
+---
+
+# Printing PDF files in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows printing the loaded PDF documents using the Print button in the built-in toolbar. 
+
+![Print PDF file using SfPdfViewer](pdfviewer_images/print.png)
+
+The Print operation could be performed using the following APIs programmatically.
+
+{% tabs %}
+{% highlight c# %}
+
+//Print the PDF
+pdfViewerControl.Print();
+//Print the PDF with given file name
+pdfViewerControl.Print(string filename);
+
+{% endhighlight %}
+{% endtabs %}
+
+The following example demonstrates the usage of print operation within a button click event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+    //Print the PDF
+    pdfViewerControl.Print("PdfFileName.pdf");
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>The default file name of the printed document will be “SavedDocument.pdf”.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
+
+## How to get and set the quality factor for print in the UWP platform
+
+The PDF Viewer allows the user to set and retrieve the quality factor for print by using the [QualityFactor](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PrinterSettings.html#Syncfusion_SfPdfViewer_XForms_PrinterSettings_QualityFactor) API. The default value of this API is set to 1, and the values are restricted between 1 and 5. The values falling below the range are taken as 1, which represents the lowest page quality, and those above the range are taken as 5, which represents the highest page quality.
+
+Refer to the following code sample to set the quality factor for print.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the quality factor for print.
+pdfViewerControl.PrinterSettings.QualityFactor = 2;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>At present this feature is only available on the UWP platform. Printing with quality factors higher than 2 will work as expected in the x64 configuration but may cause System.OutOfMemoryException in the x86 configuration due to the limited memory capacity of this architecture. 
+
+## How to customize the print previewer in the UWP platform 
+
+The PDF Viewer allows the user to customize the print options displayed in the print previewer while performing a print operation. The [PrintTaskRequested](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PrintTaskRequested) event will be raised when you call the [Print](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Print) method to print a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Wire up the PrintTaskRequested event with the PdfViewer_PrintTaskRequested method.
+pdfViewer.PrintTaskRequested += PdfViewer_PrintTaskRequested;
+
+{% endhighlight %}
+{% endtabs %}
+
+The print previewer can be customized on desktop using the native UWP APIs such as [PrintTask](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_PrintTask) , [PrintDocumentSource](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_PrintDocumentSource) , and [Request](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_Request) . So, the [PrintTaskRequested](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PrintTaskRequested) event must be handled in the Xamarin.Forms.UWP platform using dependency service.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_PrintTaskRequested(object sender, PdfViewerPrintTaskRequestedEventArgs e) 
+{
+    DependencyService.Get<IPrintRequestHandler>().PrintTaskRequested(sender, e)
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+In the [PrintTaskRequested](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_PrintTaskRequested) event handler, you can include the required print options such as the number of copies, collation, duplex, and more by creating a [PrintTask](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_PrintTask) using the properties [Request](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_Request) and [PrintDocumentSource](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.PdfViewerPrintTaskRequestedEventArgs.html#Syncfusion_SfPdfViewer_XForms_PdfViewerPrintTaskRequestedEventArgs_PrintDocumentSource). Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+void PrintTaskRequested(object sender, PdfViewerPrintTaskRequestedEventArgs e)
+{
+	PrintTask printTask = null;
+	printTask = (e.Request as PrintTaskRequest).CreatePrintTask("Printing", sourceRequested =>
+	{
+		PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);
+		IList<string> displayedOptions = printDetailedOptions.DisplayedOptions;
+		displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.CustomPageRanges);
+		printTask.Options.PageRangeOptions.AllowCurrentPage = true;
+		printTask.Options.PageRangeOptions.AllowAllPages = true;
+		printTask.Options.PageRangeOptions.AllowCustomSetOfPages = true;
+		// Set the pdfViewerControl’s print document source.
+		sourceRequestedArgs.SetSource(e.PrintDocumentSource as IPrintDocumentSource);
+		e.PrintTask = printTask;
+	});
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Customize the Print Previewer](pdfviewer_images/PrintPreviewCustomization.png)
+
+The PDF Viewer allows the users to hide the preview of the pages and enable only the print options. This can be done by disabling the print preview. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+void PrintTaskRequested(object sender, PdfViewerPrintTaskRequestedEventArgs e)
+{
+	PrintTask printTask = null;
+	printTask = (e.Request as PrintTaskRequest).CreatePrintTask("Printing", sourceRequested =>
+	{
+		// Set the SfPdfViewerControl’s print document source.
+		sourceRequestedArgs.SetSource(e.PrintDocumentSource as IPrintDocumentSource);
+		e.PrintTask = printTask;
+	});
+	printTask.IsPreviewEnabled = false;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+![Disable the Print Previewer](pdfviewer_images/DisablePrintPreview.png)
+
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-Android.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-Android.md
new file mode 100644
index 000000000..f60a91b30
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-Android.md
@@ -0,0 +1,256 @@
+---
+layout: post
+title: Render PDF Pages using the PDFium renderer in Android | Syncfusion
+description: Learn here all about Rendering PDF pages using pdfium support on Android platform in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: UG
+---
+
+# Render PDF Pages using the PDFium renderer in Android
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows users to render PDF pages using the PDFium rendering engine. The `ICustomPdfRenderer` interface defines the methods and properties that provide the necessary values and perform the necessary operations to render the pages using the PDFium library. The user needs to add a class to their application that must implement this interface and assign an instance of this class to the CustomPdfRenderer property of the SfPdfViewer as explained [here](https://help.syncfusion.com/xamarin/pdf-viewer/rendering-pdf-pages-using-pdfium).
+
+The PDF page rendering using the PDFium rendering in Android engine is shown in detail as follows.
+
+## Creating Pdfium binding library
+
+To use Pdfium in your application, the Pdfium binding library is needed. The Pdfium binding project can be created from the scratch using the following steps.
+
+1.Download the pdfium-android-1.7.0.aar Android archive file from this link.
+<https://mvnrepository.com/artifact/com.github.barteksc/pdfium-android/1.7.0>
+2.To create the binding project from this archive file refer to this link. 
+<https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/>
+3.Install the `Xamarin.Android.Support.Compat` dependency package in the project.
+4.Compile the project to generate the Pdfium library.
+
+## Using Pdfium binding library in the application project
+
+Refer to the created binding library in your android project. Add a new class named `CustomPdfRenderer` to the android application project. This class must implement the [ICustomPdfRenderer](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ICustomPdfRendererService.html#Syncfusion_SfPdfViewer_XForms_ICustomPdfRendererService_AlternatePdfRenderer) interface defined in the `Syncfusion.SfPdfViewer.XForms.Droid` and `Syncfusion.SfPdfViewer.XForms` namespace.
+The entire CustomPdfRenderer class is given as follows. 
+
+{% tabs %}
+{% highlight c# %}
+
+internal class CustomPdfRenderer : ICustomPdfRenderer
+{
+   internal PdfiumCore m_pdfiumCore;
+   internal PdfDocument m_pdfDocument;
+   internal int m_pageCount;
+   internal Bitmap.Config m_bitmapConfig;
+  
+   /// <summary>
+   /// Gets or sets the total page count of the PDF document.
+   /// </summary>
+   public int PageCount
+   {
+      get
+      {
+         return m_pageCount;
+      }
+      set
+      {
+         m_pageCount = value;
+      }
+   }
+   
+   /// <summary>
+   /// Gets or sets the Bitmap.Config to render the bitmap from the PDF document.
+   /// </summary>
+   public Bitmap.Config BitmapConfig
+   {
+      get
+      {
+         return m_bitmapConfig;
+      }
+      set
+      {
+         m_bitmapConfig = value;
+      }
+   }
+
+   /// <summary>
+   /// Initializes the required object.
+   /// </summary>
+   /// <param name="context">Context of the application.</param>
+   /// <param name="inputStream">PDF document stream.</param>
+   public void Initialize(Context context, Stream inputStream)
+   {
+      if (inputStream == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: inputStream");
+      }
+      //Initializes the PdfiumCore instance.
+      m_pdfiumCore = new PdfiumCore(context);
+      byte[] byteArray = ReadBytes(inputStream);
+      
+	   if (m_pdfiumCore == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+      }         
+      //Creates the PdfDocument instance from the PDF byte array.
+      m_pdfDocument = m_pdfiumCore.NewDocument(byteArray);
+
+      if (m_pdfDocument == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+      }
+      if (m_bitmapConfig == null)
+      {
+         m_bitmapConfig = Bitmap.Config.Rgb565;
+      }
+      //Gets the total number of pages in the PDF document.
+      m_pageCount = m_pdfiumCore.GetPageCount(m_pdfDocument);
+   }
+     
+   /// <summary>
+   /// Converts the stream to byte array to render the PDF document using Pdfium renderer.
+   /// </summary>
+   /// <param name="inputStream">PDF document stream to convert into byte array.</param>
+   /// <returns>byte array of PDF document</returns>
+   private static byte[] ReadBytes(Stream input)
+   {
+      if (input.CanSeek)
+      {
+         input.Position = 0;
+      }
+	   byte[] buffer = new byte[16 * 1024];
+      using (MemoryStream ms = new MemoryStream())
+      {
+         int read;
+         while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
+         {
+            ms.Write(buffer, 0, read);
+         }
+         return ms.ToArray();     
+      }
+   }
+	   
+   /// <summary>
+   /// Renders the PDF page as a bitmap with specified page index.
+   /// </summary>
+   /// <param name="bitmap">Bitmap to render the content of the PDF page. </param>
+   /// <param name="pageIndex">Index of the page in the PDF document being rendered.</param>
+   /// <param name="pageWidth">Width of the page to be drawn on to the bitmap.</param>
+   /// <param name="pageHeight">Height of the page to be drawn on to the bitmap.</param>
+   public void Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight)
+   {
+      if (bitmap == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: bitmap");
+      }
+      if (m_pdfiumCore == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+      }
+      else if (m_pdfDocument == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+      }
+      else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+      {
+         throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+      }
+      else
+      {
+         //Sets the config of Bitmap format, we required to render the PDF pages.
+         bitmap.SetConfig(m_bitmapConfig);
+         //Opens the PDF page with the specified page index to render the page as a bitmap.
+         m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+         m_pdfiumCore.RenderPageBitmap(m_pdfDocument, bitmap, pageIndex, 0, 0, pageWidth, pageHeight);
+      }
+   }
+		 
+   /// <summary>
+   /// Gets the size of the page with the provided index in the PDF document.
+   ///</summary>
+   /// <param name="pageIndex">Page index to the get page size.</param>
+   /// <returns>Size of the page of PDF document.</returns>
+   public Android.Util.Size GetPageSize(int pageIndex)
+   {
+      if (m_pdfiumCore == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+      }
+      else if (m_pdfDocument == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+      }
+      else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+      {
+         throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+      }
+      else
+      {
+         //Opens the PDF page with specified index to get its size.
+         m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+         int pageHeight = m_pdfiumCore.GetPageHeightPoint(m_pdfDocument, pageIndex);
+         int pageWidth = m_pdfiumCore.GetPageWidthPoint(m_pdfDocument, pageIndex);
+         return new Android.Util.Size(pageWidth, pageHeight);
+      }
+   }
+   
+   /// <summary>
+   /// Renders the PDF page as a bitmap with the specified page index.
+   /// </summary>
+   /// <param name="bitmap">Bitmap to render the content of the PDF page. </param>
+   /// <param name="pageIndex">Index of the page in the PDF document being rendered.</param>
+   /// <param name="pageWidth">Width of the page to be drawn on to the bitmap.</param>
+   /// <param name="pageHeight">Height of the page to be drawn on to the bitmap.</param>
+   /// <param name="x">The x coordinate of the origin of the region to be rendered.</param>	
+   /// <param name="y">The y coordinate of the origin of the region to be rendered.</param>
+   public void Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight,  float xOffset= 0, float yOffset = 0)
+   {
+      if (bitmap == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: bitmap");
+      }
+      if (m_pdfiumCore == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfiumCore");
+      }
+      else if (m_pdfDocument == null)
+      {
+         throw new System.NullReferenceException("object reference is not set to an instance: m_pdfDocument");
+      }
+      else if (pageIndex < 0 && pageIndex > m_pageCount - 1)
+      {
+         throw new System.ArgumentOutOfRangeException("pageIndex", "Index was out of range. Must be non-negative and less than the size of the PageCount.");
+      }
+      else
+      {
+         //Sets the config of Bitmap format, we required to render the PDF pages
+         bitmap.SetConfig(m_bitmapConfig);
+         //Opens the PDF page with the specified page index to render the page as a bitmap.
+         m_pdfiumCore.OpenPage(m_pdfDocument, pageIndex);
+         m_pdfiumCore.RenderPageBitmap(m_pdfDocument, bitmap, pageIndex, xOffset, yOffset, pageWidth, pageHeight);
+      }
+   }
+		
+   /// <summary>
+   /// Closes the initialized object to release memory.
+   /// </summary>
+   public void Close()
+   {
+      //Closes the created PdfDocument instance.
+      m_pdfiumCore.CloseDocument(m_pdfDocument);
+      //Disposes the PdfiumCore instance.
+      m_pdfiumCore.Dispose();	
+   }
+}
+			
+{% endhighlight %}
+{% endtabs %}
+
+Regarding the above code example, there are two overloads of the `Render` method.
+
+<table>
+<tr>
+<td>Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight)</td>
+<td>This overload renders the entire page specified by the pageIndex parameter. This method will be called when the page is not zoomed in.</td>
+</tr>
+<tr>
+<td>Render(Bitmap bitmap, int pageIndex, int pageWidth, int pageHeight,  float xOffset = 0, float yOffset = 0)</td>
+<td>When the page is zoomed in, the tile rendering is used in the PDF viewer to conserve memory. When the page is rendered using the tile rendering, this method will be called which renders only the portion of the page visible in the viewport of the device.</td>
+</tr>
+</table>
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-UWP.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-UWP.md
new file mode 100644
index 000000000..95b65a272
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium-UWP.md
@@ -0,0 +1,321 @@
+---
+layout: post
+title: Rendering PDF pages using pdfium in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Rendering PDF pages using pdfium support on UWP platform in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: UG
+---
+# Render PDF Pages using the PDFium renderer in UWP
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows users to render PDF pages using the PDFium rendering engine. The `ICustomPdfRenderer` interface defines the methods and properties that provide the necessary values and perform the necessary operations to render the pages using the PDFium library. The user needs to add a class to their application that must implement this interface and assign an instance of this class to the CustomPdfRenderer property of the SfPdfViewer as explained [here](https://help.syncfusion.com/xamarin/pdf-viewer/rendering-pdf-pages-using-pdfium).
+
+The PDF page rendering using the PDFium rendering in UWP engine is shown in detail as follows.
+
+## Loading the PDFium library
+
+To render the PDF pages using PDFium, the pdfium.dll library for the corresponding platform configuration (x86, x64, or arm64) must be loaded in the application project. The library can either be loaded from a file path or it can be added as an embedded resource in the application project.
+
+### Loading the library from the file path
+The library files for each platform (x86, x64, or arm64) could be placed inside the application project in separate folders. Load the library from the file path using the LoadLibrary external method while initializing the custom renderer.
+
+{% tabs %}
+{% highlight c# %}
+        // Initializes the third-party PDF renderer library.
+        public void InitLibrary()
+        {
+            if (pdfiumLibrary != IntPtr.Zero)
+            {
+                return;
+            }
+            // Namespace of the current application
+            string executingNamespace = "PdfViewerSample.UWP.";
+            // Folder in Application where the libraries are placed.
+            string pdfiumResourcePath = "Pdfium.";
+            string dirName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Pdfium");
+            if (System.IntPtr.Size == 8)
+            {
+                if (Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE") != "ARM64")
+                {
+                    pdfiumResourcePath += @"x64.pdfium.dll";
+                    dirName += @"\x64\";
+                }
+                else
+                {
+                    pdfiumResourcePath += @"arm64.pdfium.dll";
+                    dirName += @"\arm64\";
+                }
+            }
+            else
+            {
+                pdfiumResourcePath += @"x86.pdfium.dll";
+                dirName += @"\x86\";
+            }
+            if (!Directory.Exists(dirName))
+                Directory.CreateDirectory(dirName);
+            string dllPath = System.IO.Path.Combine(dirName, "pdfium.dll");
+            if (!File.Exists(dllPath))
+            {
+                var assembly = typeof(CustomRenderer.UWP.App).GetTypeInfo().Assembly;
+                using (Stream stream = assembly.GetManifestResourceStream(executingNamespace + pdfiumResourcePath))
+                {
+                    using (Stream outFile = File.Create(dllPath))
+                    {
+                        byte[] buffer = new byte[stream.Length];
+                        while (true)
+                        {
+                            int numBytesToRead = stream.Read(buffer, 0, buffer.Length);
+                            if (numBytesToRead < 1)
+                                break;
+                            outFile.Write(buffer, 0, numBytesToRead);
+                        }
+                        System.Array.Clear(buffer, 0, buffer.Length);
+                        buffer = null;
+                    }
+                }
+            }
+            pdfiumLibrary = LoadLibrary(dllPath);
+            if (pdfiumLibrary == IntPtr.Zero)
+            {
+                throw new Exception("Failed to load pdfium.dll");
+            }
+            else
+            {
+                try
+                {
+                    FPDF_InitLibrary();
+                }
+                catch(Exception)
+                {
+                    throw new Exception("Pdfium library failed to initilize");
+                }
+            }
+        }
+        
+{% endhighlight %}
+{% endtabs %}
+
+N>The namespace name and resource path in the above code is provided for illustration purpose. Please change them accordingly.
+
+## Adding the library as Embedded Resource
+
+Add the pdfium.dll file to the project with BuildAction as Embedded Resource.
+
+## Implementing the ICustomPdfRenderer interface
+
+Add a class to the application project and implement the `ICustomPdfRenderer` interface in the class.
+
+### Add definitions of the external methods
+
+In the class, define the external methods for the necessary operations, such as initializing the PDFium library, rendering the PDF pages, obtaining the page size, and more. The pdfium.dll library provides implementations for these external methods.
+
+Each external method definition must be preceded by the DllImport attribute.
+
+{% tabs %}
+{% highlight c# %}
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        public delegate int FPDF_GetBlockDelegate(IntPtr param, uint position, IntPtr buffer, uint size);
+        public static readonly FPDF_GetBlockDelegate _getBlockDelegate = FPDF_GetBlock;
+        [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Auto)]
+        private static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPTStr)] string lpFileName);
+        [DllImport("pdfium.dll", EntryPoint = "FPDF_InitLibrary")]
+        public static extern void FPDF_InitLibrary();
+        [DllImport("pdfium.dll", EntryPoint = "FPDF_DestroyLibrary")]
+        public static extern void FPDF_DestroyLibrary();
+        [DllImport("pdfium.dll")]
+        public static extern int FPDF_GetPageCount(IntPtr document);
+        [DllImport("pdfium.dll", CharSet = CharSet.Ansi)]
+        public static extern IntPtr FPDF_LoadDocument(string path, string password);
+        [DllImport("pdfium.dll")]
+        public static extern int FPDF_GetPageSizeByIndex(IntPtr document, int page_index, out double width, out double height);
+        [DllImport("pdfium.dll")]
+        public static extern IntPtr FPDFBitmap_CreateEx(int width, int height, int format, IntPtr first_scan, int stride);
+        [DllImport("pdfium.dll")]
+        public static extern void FPDFBitmap_FillRect(IntPtr bitmapHandle, int left, int top, int width, int height, uint color);
+        [DllImport("pdfium.dll")]
+        public static extern IntPtr FPDFBitmap_Destroy(IntPtr bitmapHandle);
+        [DllImport("pdfium.dll")]
+        public static extern void FPDF_RenderPageBitmap(IntPtr bitmapHandle, IntPtr page, int start_x, int start_y, int size_x, int size_y, int rotate, FPDF flags);
+        [DllImport("pdfium.dll")]
+        public static extern IntPtr FPDF_LoadPage(IntPtr document, int page_index);
+        [DllImport("pdfium.dll")]
+        public static extern IntPtr FPDF_ClosePage(IntPtr page);
+        [DllImport("pdfium.dll")]
+        public static extern int FPDF_CloseDocument(IntPtr doc);
+        [DllImport("pdfium.dll", CharSet = CharSet.Ansi)]
+        public static extern IntPtr FPDF_LoadCustomDocument([MarshalAs(UnmanagedType.LPStruct)] FPDF_FILEACCESS access, string password);
+        [DllImport("Pdfium.dll")] 
+        public object AlternatePdfRenderer => this;
+        private IntPtr pdfiumLibrary;
+        [StructLayout(LayoutKind.Sequential)]
+        public class FPDF_FILEACCESS
+        {
+            public uint m_FileLen;
+            public IntPtr m_GetBlock;
+            public IntPtr m_Param;
+        }
+        private static int FPDF_GetBlock(IntPtr param, uint position, IntPtr buffer, uint size)
+        {
+            Stream stream = fileStream;
+            if (stream == null)
+                return 0;
+            byte[] managedBuffer = new byte[size];
+            stream.Position = position;
+            int read = stream.Read(managedBuffer, 0, (int)size);
+            if (read != size)
+                return 0;
+            Marshal.Copy(managedBuffer, 0, buffer, (int)size);
+            return 1;
+        }  
+        [Flags]
+        public enum FPDF
+        {
+            ANNOT = 0x01,
+            LCD_TEXT = 0x02,
+            NO_NATIVETEXT = 0x04,
+            GRAYSCALE = 0x08,
+            DEBUG_INFO = 0x80,
+            NO_CATCH = 0x100,
+            RENDER_LIMITEDIMAGECACHE = 0x200,
+            RENDER_FORCEHALFTONE = 0x400,
+            PRINTING = 0x800,
+            REVERSE_BYTE_ORDER = 0x10,
+        }
+
+{% endhighlight %}
+{% endtabs %}
+### Implement the LoadDocument method
+
+The following code sample shows an implementation of the `LoadDocument` method. It will be called every time when a PDF is Loaded.
+
+{% tabs %}
+{% highlight c# %}
+        // Loads the given PDF stream into the third-party PDF renderer and returns the document pointer.
+        public static Stream fileStream = null;
+        public IntPtr LoadDocument(Stream fileInputStream, string password)
+        {
+            fileStream = fileInputStream;
+            FPDF_FILEACCESS access = new FPDF_FILEACCESS
+            {
+                m_FileLen = (uint)fileStream.Length,
+                m_GetBlock = Marshal.GetFunctionPointerForDelegate(_getBlockDelegate),
+                m_Param = (IntPtr)2,
+            };
+            IntPtr document = FPDF_LoadCustomDocument(access, password);
+            if (document == IntPtr.Zero)
+            {
+                throw new Exception("Document cannot be loaded");
+            }
+            return document;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Implement the GetPageCount method
+
+The `GetPageCount` method must return the total page count by calling the external method defined earlier. When a new PDF is loaded, the previous PDF must be closed, and the page count should be reset.
+
+{% tabs %}
+{% highlight c# %}
+        // Gets the page count of the given PDF document.
+        public int GetPageCount(IntPtr document)
+        {
+            if (document != IntPtr.Zero)
+            {
+                pageCount = FPDF_GetPageCount(document);
+                return pageCount;
+            }
+            else
+            {
+                return 0;
+            }
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Implement the GetPageSize method
+
+The `GetPageSize` method must call the external method and return the size of the PDF page corresponding to the given index.
+
+{% tabs %}
+{% highlight c# %}
+        // Gets the page size of the given page index.
+        public Windows.Foundation.Size GetPageSize(IntPtr document, int pageIndex)
+        {
+            if (document == IntPtr.Zero)
+            {
+                throw new ArgumentNullException("document");
+            }
+            if (pageIndex < 0 || pageIndex > pageCount)
+            {
+                throw new ArgumentOutOfRangeException("pageIndex");
+            }
+            double pageHeight = 0, pageWidth = 0;
+            FPDF_GetPageSizeByIndex(document, pageIndex, out pageWidth, out pageHeight);
+            Windows.Foundation.Size size;
+            size.Width = (int)pageWidth;
+            size.Height = (int)pageHeight;
+            return size;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Render the PDF page
+
+The `RenderPageBitmap` method must call the external methods which render the PDF page and return the rendered SoftwareBitmap.
+
+{% tabs %}
+{% highlight c# %}
+        // Renders the page of the specified index and returns the rendered bitmap
+        public SoftwareBitmap RenderPageBitmap(IntPtr document, int pageIndex, int pageWidth, int pageHeight)
+        {
+            if (document == IntPtr.Zero)
+            {
+                throw new ArgumentNullException("document");
+            }
+            if (pageIndex < 0 || pageIndex > pageCount)
+            {
+                throw new ArgumentOutOfRangeException("pageIndex");
+            }
+            var page = FPDF_LoadPage(document, pageIndex);
+            byte[] buffer = new byte[pageWidth * pageHeight * 4];
+            unsafe
+            {
+                fixed (byte* p = buffer)
+                {
+                    IntPtr createdpages = FPDFBitmap_CreateEx(pageWidth, pageHeight, 4, (IntPtr)p, pageWidth * 4);
+                    uint background = 0xFFFFFFFF;
+                    FPDFBitmap_FillRect(createdpages, 0, 0, pageWidth, pageHeight, background);
+                    FPDF_RenderPageBitmap(createdpages, page, 0, 0, pageWidth, pageHeight, 0, FPDF.ANNOT);
+                    FPDFBitmap_Destroy(createdpages);
+                    FPDF_ClosePage(page);
+                }
+            }
+            SoftwareBitmap softwareBitmap = new SoftwareBitmap(BitmapPixelFormat.Bgra8, pageWidth, pageHeight, BitmapAlphaMode.Straight);
+            softwareBitmap.CopyFromBuffer(buffer.AsBuffer());
+            return softwareBitmap;
+        }
+
+{% endhighlight %}
+{% endtabs %}
+
+### Close the PDF document
+
+When a new PDF is to be loaded, the previous PDF must be closed, implementation of `CloseDocument` method is shown below.
+
+{% tabs %}
+{% highlight c# %}
+        // Close the given PDF document.
+        public void CloseDocument(IntPtr document)
+        {
+            if (document != IntPtr.Zero)
+            {
+                FPDF_CloseDocument(document);
+            }
+        }
+
+{% endhighlight %}
+{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium.md
new file mode 100644
index 000000000..d06c3cff5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Rendering-PDF-pages-using-pdfium.md
@@ -0,0 +1,37 @@
+---
+layout: post
+title: Rendering PDF pages using pdfium in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Rendering PDF pages using pdfium support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: UG
+---
+
+# Rendering PDF pages using pdfium in Xamarin Pdf Viewer (SfPdfViewer)
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows using Pdfium, which is a third-party open-source PDF rendering engine, to render the pages of a PDF document. By default, the PdfViewer uses native PDF rendering. However, using the Pdfium rendering engine will overcome the defects in the native PDF rendering.
+
+## Setting the Renderer property
+
+Set the `CustomPdfRenderer` property to an instance of a class that implements the `ICustomPdfRenderer` interface. Implementing this interface is explained in detail in the following sections. 
+
+If the `CustomPdfRenderer` property is not set, the pages are rendered using the default rendering of the SfPdfViewer control.
+
+The [CustomPdfRenderer](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_CustomPdfRenderer) property should be assigned to the [AlternatePdfRenderer](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.ICustomPdfRendererService.html#Syncfusion_SfPdfViewer_XForms_ICustomPdfRendererService_AlternatePdfRenderer) property of the `CustomPdfRenderer` class as in the following code sample,
+
+{% tabs %}
+{% highlight c# %}
+		// Provides functionality to render PDF pages using third-party PDF renderers.
+		pdfViewer.CustomPdfRenderer = DependencyService.Get<ICustomPdfRendererService>().AlternatePdfRenderer;
+
+{% endhighlight %}
+{% endtabs %}
+
+## PDFium renderer sample
+
+The sample that illustrates loading a PDF using the Pdfium renderer in Android and UWP can be downloaded from the link below.
+[https://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfiumDemoSample-2002924505](https://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfiumDemoSample-2002924505)
+
+N>At present, this feature is available on Android and UWP platforms only.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Search-For-Text-Instance.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Search-For-Text-Instance.md
new file mode 100644
index 000000000..673cf12ec
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Search-For-Text-Instance.md
@@ -0,0 +1,419 @@
+---
+layout: post
+title: Search for a Text Instance in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Search for a Text Instance support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Search for a Text Instance in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) provides support to find and highlight texts in normal and rotated PDF documents, and you can also perform text search on rotated texts as well. The following commands are used to perform text search operations:
+
+<table>
+
+<tr>
+<th>Command/Binding property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>SearchTextCommand</td>
+<td>Command that is executed to search for the specified text instance that is provided as the command parameter.</td>
+</tr>
+
+<tr>
+<td>CancelSearchTextCommand</td>
+<td>Command that is executed to cancel the text search operation when it is in progress and used to clear the highlighted text instances when the text search is completed.</td>
+</tr>
+
+<tr>
+<td>SearchNextTextCommand</td>
+<td>Command that is executed to navigate to the next text instance being searched.</td>
+</tr>
+
+<tr>
+<td>SearchPreviousTextCommand</td>
+<td>Command that is executed to navigate to the previous text instance of the text.</td>
+</tr>
+
+</table>
+
+N>[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) does not support diagonal text search for now.
+
+## How to initiate text search?
+
+SearchTextCommand is used to initiate the text search, it takes the text to be searched as a parameter. The command searches for the text in the current page and highlights all the instances of the texts in complete document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry x:Name="textSearchEntry" FontSize="18" HorizontalTextAlignment="Center" HorizontalOptions="Fill" VerticalOptions="Center"/>
+<Button x:Name="searchTextButton" BackgroundColor="Transparent" Image="SearchIcon.png" HorizontalOptions="Start" Command="{Binding SearchTextCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter="{Binding Source ={x:Reference textSearchEntry}, Path=Text}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+Here the text entered in the textSearchEntry control is provided as the parameter to the SearchTextCommand. 
+
+## How to identify if there is no instance of the text being searched?
+
+SearchCompleted event of the PDF viewer can be used to identify if no instance of the searched text is found in the PDF document. This event has an event argument “NoMatchFound”, when this it is true it means that the document does not have any match to the text searched and vice versa.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" SearchCompleted="pdfViewerControl_SearchCompleted" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewerControl_SearchCompleted(object sender, TextSearchCompletedEventArgs args)
+{
+    bool isNoMatchFound = args.NoMatchFound;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to navigate to the next instance of the text?
+
+SearchNextTextCommand is used to navigate to the next text instances in the PDF document. This command will highlight the current instance of the text with dark blue and all other instances in light blue. On executing the command continuously, the highlighted instance will navigate down the pages.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry x:Name="textSearchEntry" FontSize="18" HorizontalTextAlignment="Center" HorizontalOptions="Fill" VerticalOptions="Center"/>
+<Button x:Name="searchTextButton" BackgroundColor="Transparent" Image="SearchIcon.png" HorizontalOptions="Start" Command="{Binding SearchNextTextCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter="{Binding Source ={x:Reference textSearchEntry}, Path=Text}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+This command works both with and without a parameter. When a text parameter is provided to this command, it searches for the text provided as the parameter, when no parameter is sent to this command, it searches for the text that is provided as the parameter to the SearchTextCommand.
+
+## How to navigate to the previous instance of the text?
+
+SearchPreviousTextCommand is used to navigate to the previous text instances in the PDF document. This command will highlight the current instance of the text with dark blue and all other instances in light blue. On executing the command continuously, the highlighted instance will navigate upwards in the pages.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry x:Name="textSearchEntry" FontSize="18" HorizontalTextAlignment="Center" HorizontalOptions="Fill" VerticalOptions="Center"/>
+<Button x:Name="searchTextButton" BackgroundColor="Transparent" Image="SearchIcon.png" HorizontalOptions="Start" Command="{Binding SearchPreviousTextCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter="{Binding Source ={x:Reference textSearchEntry}, Path=Text}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+This command works both with and without a parameter. When a text parameter is provided to this command, it searches for the text provided as the parameter, when no parameter is sent to this command, it searches for the text that is provided as the parameter to the SearchTextCommand. 
+
+## How to identify if a complete cycle of text search is performed?
+
+The first instance of the text in the page the text search is initiated is the first instance of the text, this first instance would be reset when we manually scroll the PDF document while navigating using the SearchNextTextCommand or SearchPreviousTextCommand. 
+
+When the search happens to hit the first instance again, the NoMoreOccurrence property of the TextSearchEventArgs of SearchCompleted event will be set to true.
+
+For instance, if the text search is initiated at page 10 of a PDF document, the first instance in the page 10 will be considered as the first instance, on the occurrence of the same instance again in the cycle of text search NoMoreOccurrence property will be set to true.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" SearchCompleted="pdfViewerControl_SearchCompleted" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void pdfViewerControl_SearchCompleted(object sender, TextSearchEventArgs args)
+{
+    bool isNoMoreOccurrenceFound = args.NoMoreOccurrence;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to cancel text search?
+
+CancelSearchTextCommand is used to cancel the text search progress. When the text search is in progress this command can be used to cancel the same, when text search is completed, this command can be used to clear all the highlighted texts in the PDF viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="cancelSearchButton" Grid.Column="3" BackgroundColor="Transparent" Image="CancelSearch.png" HorizontalOptions="Start" VerticalOptions="Center" Command="{Binding CancelSearchTextCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to track search progress?
+
+Text search progress can be tracked using the TextSearchInitiated event and TextMatchFound event. 
+
+### SearchInitiated
+
+TextSearchInitiated event will be triggered soon after the call of the SearchTextCommand, the event argument of this event will contain details about the text being searched. 
+
+### TextMatchFound
+
+TextMatchFound event will be triggered once when the match of the text is found in the page of the PDF document. When text search is triggered using SearchTextCommand this event would be triggered for every page in which the match is found, when text search is triggered using SearchPreviousCommand or SearchNextCommand this event would be triggered for every match being found.
+
+### SearchCompleted
+
+TextSearchCompleted event will be triggered once when all the pages are being search for the match of the input text at-least once. The event argument would contain properties NoMatchFound and NoMoreOccurrenceFound.
+
+When NoMatchFound is set to true, it means that the PDF viewer could not find any match for the searched text in the PDF document.
+
+When NoMoreOccurrence is set to true, it means that the PDF viewer had completed one full cycle of search and has hit the first instance again.
+
+
+## How to initiate linear search?
+ 
+IsLinearSearchEnabled property is used to enable or disable the linear text search process. This linear search will help you  perform search operations in a sequential manner, avoiding the memory consumption issue that occurs when performing the normal text search process on the large document due to the simultaneous text extraction process. 
+ 
+Since the search operation occurs sequentially, the linear search process will have the following limitations:
+ 
+* There will be a delay in finding each instance of the searched text in a large document.
+* The built-in toolbar will not display instance counts.
+* Total search text occurrences and current search text instances will not be updated, both will be zero.
+ 
+The following code sample explains how to enable the linear search process.
+
+{% tabs %}
+{% highlight c# %}
+
+//Enable the linear text search process.
+pdfViewerControl.TextSearchSettings.IsLinearSearchEnabled = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Implementing search bar with search features.
+
+With the continuation of the getting started sample, you can extend the UI design to perform the text search in the PDF Viewer. Design the search toolbar in parallel to the main toolbar, here when the main toolbar is visible, search bar will be invisible and vice versa.
+
+* Main toolbar – A new option to initiate text search toolbar will be added to the existing options.
+* Search toolbar - A new and separate toolbar is created to search a text instance – it includes option to enter the text, perform search, cancel search and navigate back to the main toolbar.
+
+In the PdfViewerViewModel class, create a new command (named – SearchAndToolbarToggleCommand) to toggle between the main toolbar and search toolbar. The view model class after the creation of the command and necessary boolean variables to toggle the visibility will be like
+
+{% tabs %}
+{% highlight c# %}
+
+using System.IO;
+using System.Reflection;
+using System.ComponentModel;
+using System.Windows.Input;
+using Xamarin.Forms;
+
+namespace GettingStarted
+{
+    class PdfViewerViewModel : INotifyPropertyChanged
+    {
+        private Stream m_pdfDocumentStream;
+        private bool m_isToolbarVisible = true;
+        private bool m_isSearchBarVisible = false;
+        /// <summary>
+        /// An event to detect the change in the value of a property.
+        /// </summary>
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        /// <summary>
+        /// Command used to toggle between search bar and document toolbar.
+        /// </summary>
+        public ICommand SearchAndToolbarToggleCommand { get; set; }
+
+        /// <summary>
+        /// The PDF document stream that is loaded into the instance of the PDF viewer. 
+        /// </summary>
+        public Stream PdfDocumentStream
+        {
+            get
+            {
+                return m_pdfDocumentStream;
+            }
+            set
+            {
+                m_pdfDocumentStream = value;
+                NotifyPropertyChanged("PdfDocumentStream");
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the bool value which will toggle the visibility of the toolbar.
+        /// </summary>
+        /// <remarks>
+        /// The value true will make the toolbar visible and false would make the toolbar invisible.
+        /// </remarks>
+        public bool IsToolbarVisible
+        {
+            get { return m_isToolbarVisible; }
+            set
+            {
+                if (m_isToolbarVisible == value)
+                    return;
+                m_isToolbarVisible = value;
+                NotifyPropertyChanged("IsToolbarVisible");
+            }
+        }        
+
+        /// <summary>
+        /// Gets or sets the bool value which will toggle the visibility of the search bar.
+        /// </summary>
+        /// <remarks>
+        /// The value true will make the toolbar visible and false would make the search bar invisible.
+        /// </remarks>
+        public bool IsSearchBarVisible
+        {
+            get { return m_isSearchBarVisible; }
+            set
+            {
+                if (m_isSearchBarVisible == value)
+                    return;
+                m_isSearchBarVisible = value;
+                NotifyPropertyChanged("IsSearchBarVisible");
+            }
+        }
+
+        /// <summary>
+        /// Constructor of the view model class
+        /// </summary>
+        public PdfViewerViewModel()
+        {
+            //Accessing the PDF document that is added as embedded resource as stream.
+            m_pdfDocumentStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("GettingStarted.Assets.GIS Succinctly.pdf");
+            //Command used to toggle the visibility of the toolbar and search bar.
+            SearchAndToolbarToggleCommand= new Command<object>(OnSearchAndToolbarToggleCommand, CanExecute);
+        }
+        
+        private void NotifyPropertyChanged(string propertyName)
+        {
+            if (PropertyChanged != null)
+            {
+                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+            }
+        }        
+
+        private bool CanExecute(object parameter)
+        {
+            return true;
+        }
+
+        /// <summary>
+        /// Method used to toggle the visibility of the toolbar and search bar.
+        /// </summary>
+        private void OnSearchAndToolbarToggleCommand(object destinationPageParam)
+        {
+            IsToolbarVisible = !IsToolbarVisible;
+            IsSearchBarVisible = !IsToolbarVisible;
+        }
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The complete XAML code after the design of the search bar will look like below
+
+{% tabs %}
+{% highlight xaml %}
+
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace:GettingStarted"
+             x:Class="GettingStarted.MainPage"
+             xmlns:syncfusion="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms">
+    <ContentPage.BindingContext>
+        <local:PdfViewerViewModel></local:PdfViewerViewModel>
+    </ContentPage.BindingContext>
+    <Grid x:Name="mainGrid">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="50" />
+            <RowDefinition Height="*" />
+        </Grid.RowDefinitions>
+        <AbsoluteLayout>
+            <Grid x:Name="toolbar" Grid.Row="0" BackgroundColor="#E9E9E9" HorizontalOptions="Fill" VerticalOptions="Fill" IsVisible="{Binding IsGridVisible}">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="0.4*" />
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="1*" />
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="1*" />
+                </Grid.ColumnDefinitions>
+                <Entry Keyboard="Numeric" FontSize="18" x:Name="pageNumberEntry" HorizontalTextAlignment="Center" Grid.Column="0" VerticalOptions="Center" Text="{Binding PageNumber, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Label Text="/" Grid.Column="1" FontSize="18" x:Name="slashLabel"  VerticalTextAlignment="Center" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="Center"/>
+                <Label x:Name="pageCountLabel" Grid.Column="2" FontSize="18" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="Center" Text="{Binding PageCount, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Button x:Name="goToNextButton"  Grid.Column="3" BackgroundColor="Transparent" Image="PageDown.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToNextPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Button x:Name="goToPreviousButton" Grid.Column="4" BackgroundColor="Transparent" Image="PageUp.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding GoToPreviousPageCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+                <Button x:Name="searchButton" Grid.Column="6" BackgroundColor="Transparent" Image="SearchIcon.png" HorizontalOptions="Start" Command="{Binding SearchAndToolbarToggleCommand}"/>
+            </Grid>
+            <Grid x:Name="searchBar" Grid.Row="0" BackgroundColor="#E9E9E9" HorizontalOptions="Fill" VerticalOptions="Fill" IsVisible="{Binding IsSearchBarVisible}">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*" />
+                    <ColumnDefinition Width="5*" />
+                    <ColumnDefinition Width="1.5*" />
+                    <ColumnDefinition Width="1.5*" />
+                    <ColumnDefinition Width="1.5*" />
+                </Grid.ColumnDefinitions>
+                <Button x:Name="backIcon" Grid.Column="0" BackgroundColor="Transparent" Image="BackIcon.png" HorizontalOptions="Start" VerticalOptions="Center" Command="{Binding SearchAndToolbarToggleCommand}"/>
+                <Entry Grid.Column="1" x:Name="textSearchEntry" FontSize="18" HorizontalTextAlignment="Center" HorizontalOptions="Fill" VerticalOptions="Center"/>
+                <Button x:Name="searchTextButton" Grid.Column="2" BackgroundColor="Transparent" Image="SearchIcon.png" HorizontalOptions="Start" Command="{Binding SearchTextCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter="{Binding Source ={x:Reference textSearchEntry}, Path=Text}"/>
+                <Button x:Name="cancelSearchButton" Grid.Column="3" BackgroundColor="Transparent" Image="CancelSearch.png" HorizontalOptions="Start" VerticalOptions="Center" Command="{Binding CancelSearchTextCommand, Source={x:Reference Name=pdfViewerControl}}"/>
+            </Grid>
+        </AbsoluteLayout>
+        <Grid x:Name="pdfViewGrid" Grid.Row="1">
+            <syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}"/>
+        </Grid>
+    </Grid>
+</ContentPage>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Customizing search highlight color
+
+The colors in which the current instance and other instances are highlighted can be customized. The TextSearchSettings class in the PDF viewer instance can be used for this purpose.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.TextSearchSettings.OtherInstanceColor = Color.FromRgba(255, 255, 0, 50);
+pdfViewerControl.TextSearchSettings.CurrentInstanceColor = Color.FromRgba(255, 255, 0, 90);
+{% endhighlight %}
+{% endtabs %}
+{% tabs %}
+{% highlight xaml %}
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             xmlns:local="clr-namespace:GettingStarted"
+             x:Class="GettingStarted.MainPage"
+             xmlns:syncfusion="clr-namespace:Syncfusion.SfPdfViewer.XForms;assembly=Syncfusion.SfPdfViewer.XForms">
+	 <ContentPage.Resources>
+        <ResourceDictionary>
+            <sfpdfviewer:TextSearchSettings x:Key="SearchSettings">
+                <sfpdfviewer:TextSearchSettings.CurrentInstanceColor>
+                    <Color>#90FFFF00</Color>
+                </sfpdfviewer:TextSearchSettings.CurrentInstanceColor>
+                <sfpdfviewer:TextSearchSettings.OtherInstanceColor>
+                    <Color>#50FFFF00</Color>
+                </sfpdfviewer:TextSearchSettings.OtherInstanceColor>
+            </sfpdfviewer:TextSearchSettings>
+        </ResourceDictionary>
+    </ContentPage.Resources>
+    <Grid x:Name="mainGrid">
+            <syncfusion:SfPdfViewer x:Name="pdfViewerControl" TextSearchSettings="{StaticResource Key=SearchSettings}"/>
+    </Grid>
+</ContentPage>
+{% endhighlight %}
+{% endtabs %}
+
+![Text search in PDF viewer](pdfviewer_images/textsearch.png)
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Select-And-Copy-Text.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Select-And-Copy-Text.md
new file mode 100644
index 000000000..d1d7b0e3f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Select-And-Copy-Text.md
@@ -0,0 +1,197 @@
+---
+layout: post
+title: Select and Copy the Text in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Select and Copy the Text support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Select and Copy the Text in Xamarin Pdf Viewer (SfPdfViewer)
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) supports text selection and copy feature, which allows user to select the text in the PDF document and copy it to the clipboard. This section illustrates about how to use this feature.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>IsTextSelectionEnabled</td>
+<td>Gets or sets the value that enables or disables the text selection feature in the PDF viewer. This property when set to true enables text selection and vice versa. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" IsTextSelectionEnabled="False"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Text selection feature in the PDF viewer is disabled.
+pdfViewerControl.IsTextSelectionEnabled = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to select text?
+
+To select a text in the PDF page, press and hold any word of the text until selection bubbles appear at the top-left and bottom-right corners of its bounds. Then, use the left bubble to select the text at the left and top, and the right bubble to select the text at the right and bottom directions. 
+
+![Text selection](pdfviewer_images/textselection.png)
+
+## How to enable or disable the context menu?
+
+By default, PDF viewer comes with a context menu that will be displayed above the selected text in the PDF document, which has a button (option) to copy the selected text. The display of the context menu can be disabled by setting ShowContextMenu property of the TextSelectionSettings class to false. The below code illustrates the same. By default, context menu will be enabled in the PDF viewer. 
+
+{% tabs %}
+{% highlight c# %}
+
+//The display of the default context menu for the text selection is disabled.
+pdfViewerControl.TextSelectionSettings.ShowContextMenu = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to modify the selection and its handle color?
+
+The color used for text selection and the color of the handle can be customized based on the developer’s requirements. The properties TextSelectionColor and TextSelectionHandleColor of the TextSelectionSettings class can be used to customize them. The below code snippet illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Customizing the color being displayed while selecting the text from PDF document.
+pdfViewerControl.TextSelectionSettings.TextSelectionColor = Color.FromRgba(0, 0, 205, 80);
+//Customizing the color of text selection handler displayed while selecting the text from PDF document.
+pdfViewerControl.TextSelectionSettings.TextSelectionHandleColor = Color.FromRgb(0, 0, 255);
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire selected text?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument of this event will contain a copy of the selected text in the String format. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" TextSelectionCompleted="PdfViewerControl_TextSelectionCompleted"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+	//The selected text is acquired and stored in the variable selectedText.
+	string selectedText = args.SelectedText;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to acquire page number, page bounds and selected region?
+
+The completion of the text selection action would trigger TextSelectionCompleted event.  The event argument would contain details about the page number in which the selection operation is performed, bounds of the page and the selection region. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" TextSelectionCompleted="PdfViewerControl_TextSelectionCompleted"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args)
+{
+	//The number of the page in which the selection is performed is acquired.
+	int pageNumber = args.PageNumber;
+	//The bounds of the page in which the selection is performed is acquired.
+	Rectangle pageBounds= args.PageBounds;
+	//The region of the text being selected is acquired.
+	Rectangle selectedRegion= args.SelectedRegion;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get the start index and end index of the selected text?
+
+The completion of the text selection action would trigger the [TextSelectionCompleted](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextSelectionCompleted) event. The event argument would contain details about the start index and end index of the selected text. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextSelectionCompleted(object sender, TextSelectionCompletedEventArgs args) 
+{
+	//Starting index of the selected text on the page. 
+	int startIndex = args.SelectedTextStartIndex; 
+	//Ending index of the selected text on the page.
+	int endIndex= args.SelectedTextEndIndex; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The values of [SelectedTextStartIndex](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_XForms_TextSelectionCompletedEventArgs_SelectedTextStartIndex) and [SelectedTextEndIndex](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionCompletedEventArgs.html#Syncfusion_SfPdfViewer_XForms_TextSelectionCompletedEventArgs_SelectedTextEndIndex) properties correspond only to the text present in the page on which the text is selected. 
+
+## How to customize the text selection context menu?
+
+By default, the text selection context menu contains built-in menu items such as Copy, Highlight, Underline, and Strikethrough. You can add additional items in the text selection context menu by creating an instance of type [TextSelectionMenuItem](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionMenuItem.html) and add the item to the [TextSelectionSettings.MenuOptions.Items](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionMenu.html#Syncfusion_SfPdfViewer_XForms_TextSelectionMenu_Items) property. 
+As the type of this property is ObservableCollection, the following operations can be performed on the text selection context menu items. 
+
+1. Adding a new item
+2. Clearing the menu items
+3. Inserting a new item
+4. Removing an existing item
+
+Below code illustrates adding a new menu item to the text selection context menu.
+
+{% tabs %}
+{% highlight c# %}
+
+TextSelectionMenuItem menuItem = new TextSelectionMenuItem();
+//The text to display on the menu item
+menuItem.Text = “Find text”;
+//The ID to uniquely identify the menu item. 
+menuItem.Id = "find_text";
+pdfViewer.TextSelectionSettings.MenuOptions.Items.Add(menuItem);
+
+{% endhighlight %}
+{% endtabs %}
+
+### How to handle the click event of the menu item?
+
+The [TextSelectionMenuItemClicked](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TextSelectionMenu.html#Syncfusion_SfPdfViewer_XForms_TextSelectionMenu_TextSelectionMenuItemClicked) event is raised when any menu item is clicked. While performing the intended operation when a menu item is clicked, the selected text can be obtained as described in the [above](https://help.syncfusion.com/xamarin/pdf-viewer/select-and-copy-text#how-to-acquire-selected-text) section. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.TextSelectionSettings.MenuOptions.TextSelectionMenuItemClicked += PdfViewerControl_TextSelectionMenuItemClicked;
+
+private void PdfViewerControl_TextSelectionMenuItemClicked(object sender, TextSelectionMenuItemClickedEventArgs args) 
+{
+	TextSelectionMenuItem menuItem = sender as TextSelectionMenuItem;
+	switch(menuItem.Id)
+	{
+		//Perform the intended operation after identifying the menu item from its ‘Id’ value. 
+	}
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Shape-Annotation.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Shape-Annotation.md
new file mode 100644
index 000000000..2ea22fdfd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Shape-Annotation.md
@@ -0,0 +1,575 @@
+---
+layout: post
+title: Shape annotations in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Shape annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Shape annotations in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include shape annotations in a PDF document and provides options to modify or remove the existing shape annotations. The supported shape annotations are:
+
+1. Rectangle
+2. Circle
+3. Line
+4. Arrow
+5. Polygon
+6. Cloud
+7. Polyline
+
+In all the code snippets, Rectangle shape annotation is used for illustration purpose.
+
+## Adding shape annotations using toolbar
+
+### Enabling shape annotation mode
+
+Set the `AnnotationMode` property of the PDF viewer to `Rectangle`. After setting the annotation mode to any of the shapes, the zooming, panning, and scrolling options will be disabled. The shapes can be drawn only on the currently visible page area. Refer to the following code.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="shapeAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="Rectangle" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Disabling shape annotation mode
+
+Setting the `AnnotationMode` to `None` disables the shape annotation mode. When the annotation mode is reset, the zooming, panning, and scrolling will be enabled again.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer"/>
+<Button x:Name="resetAnnotationButton" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewer}}" CommandParameter="None" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the inclusion shape annotations
+
+The event `ShapeAnnotationAdded` will be raised when shape annotations are added to the PDF. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationAdded="PdfViewer_ShapeAnnotationAdded"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.ShapeAnnotationAdded += PdfViewer_ShapeAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding the shape annotations programmatically 
+
+By `AddAnnotation` method, You can add the shape annotations programmatically. The created shape annotation object passed as a parameter. The `ShapeAnnotation` instance acquires the `ShapeAnnotationType`, page number and bounds as the parameters. 
+
+The following code sample illustrates the adding of rectangle annotation programmatically. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Bounds in which the rectangle shape annotation should be added
+Rectangle bounds = new Rectangle(100, 100, 200, 200);
+//Creates a new rectangle shape annotation
+ShapeAnnotation shapeAnnotation = new ShapeAnnotation(ShapeAnnotationType.Rectangle, 1, rectangle);         
+//Sets the stroke color for the rectangle shape annotation 
+shapeAnnotation.Settings.StrokeColor = Color.Red;
+//Add the rectangle shape annotation to the specified page
+pdfViewer.AddAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For the purpose of illustration, we have only provided the code example for adding rectangle annotation. But the same procedure can be followed for adding other shape annotations too.
+
+## How to draw a cloud shape annotation?
+
+To draw a cloud shape annotation, you should set the `BorderEffect` property of the shape annotation settings to `BorderEffect.Cloudy`. Only the rectangle and polygon annotations can be drawn with cloud border style. The following sample code illustrates how to draw a rectangle annotation with the cloud border style.
+
+{% tabs %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMode = AnnotationMode.Rectangle;
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. For complex cloud polygons, the cloud border-style appearance might differ from other PDF readers like Adobe.
+
+## Detecting tap on shape annotations
+
+Tapping a shape annotation selects it or deselects it if it is already selected. The event `ShapeAnnotationTapped` is raised when a shape is tapped.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationTapped="PdfViewer_ShapeAnnotationTapped"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting shape annotations
+
+You can select a shape annotation by tapping on it, this action is followed by the appearance of the selector around the selected annotation. When a shape is selected, the `ShapeAnnotationSelected` event will be raised.
+
+The properties of the selected shape annotation can be obtained from the `args` parameter of the event handler. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+	//Get the type of the annotation. Here it is rectangle
+	AnnotationMode annotationMode = args.AnnotationType;
+	//Get the bounds of the rectangle
+	Rectangle bounds = args.Bounds;
+	//Get the page number in which the annotations are present
+	int pageNumber = args.PageNumber;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Selecting shape annotation programmatically
+
+By `SelectAnnotation` method, You can select the shape annotation programmatically. The specified shape annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified shape annotation
+pdfViewer.SelectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting shape annotations
+
+You can deselect a selected shape annotation by tapping on it or somewhere else on the PDF page. Deselection can be detected using the `ShapeAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationDeselected="PdfViewer_ShapeAnnotationDeselected"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.ShapeAnnotationDeselected += PdfViewer_ShapeAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselecting shape annotation programmatically
+
+By `DeselectAnnotation` method, You can deselect the shape annotation programmatically. The specified shape annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified shape annotation
+pdfViewer.DeselectAnnotation(shapeAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Calling `DeselectAnnotation` method has no effect if the given annotation is not selected. The `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Customizing the appearance of shape annotations
+
+You can customize the default values of stroke color, opacity, and thickness of all shape annotations to be added. This will not affect the already added shape annotations. The appearance of a selected free text can also be modified.
+
+### Setting the default stroke color
+
+You can set the default stroke color of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.StrokeColor` property. Refer to the following code. 
+ 
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationSettings.Rectangle.Settings.StrokeColor = Color.Red;
+
+{% endhighlight %}
+
+### Setting the default opacity
+
+You can set the default opacity of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.Opacity` property. Opacity value ranges from 0 to 1. Refer to the following code example.
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationSettings.Rectangle.Settings.Opacity = 0.5f; 
+
+{% endhighlight %}
+
+### Setting the default thickness
+
+You can set the thickness of the shape annotations by using the `SfPdfViewer.AnnotationSettings.Rectangle.Settings.Thickness` property. Refer to the following code example. 
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationSettings.Rectangle.Settings.Thickness = 5;
+
+{% endhighlight %}
+
+### Setting the default minimum size and minimum length
+
+By the `MinimumSize` property, You can set the minimum size to which the rectangle and circle shape annotations could be resized. 
+
+By the `MinimumLength` property, You can set the minimum length to which the annotations could be resized for line and arrow.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the rectangle annotations
+pdfViewer.AnnotationSettings.Rectangle.Settings.MinimumSize = new Size(10, 10);
+//Sets the minimum size for the circle annotations
+pdfViewer.AnnotationSettings.Circle.Settings.MinimumSize = new Size(10, 10);
+//Sets the minimum length for the line annotations
+pdfViewer.AnnotationSettings.Line.Settings.MinimumLength = 10;
+//Sets the minimum length for the arrow annotations
+pdfViewer.AnnotationSettings.Arrow.Settings.MinimumLength = 10;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `MinimumSize` property will does not affect line, arrow, polyline and polygon annotations. Also, the value of `MinimumLength` property will does not affect rectangle, circle, polyline and polygon annotations.
+
+### Setting the default border style
+
+You can set the border style for the rectangle and polygon annotations using the `BorderEffect` property.  
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the cloud border style for rectangle annotation
+pdfViewer.AnnotationSettings.Rectangle.Settings.BorderEffect = BorderEffect.Cloudy;
+//Sets the cloud border style for polygon annotation 
+pdfViewer.AnnotationSettings.Polygon.Settings.BorderEffect = BorderEffect.Cloudy;
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The value of `BorderEffect` property will does not affect other shape annotations such as circle, line, and arrow annotations. 
+
+### Changing the properties of a selected shape
+
+You can change the properties of the selected annotation by casting the `sender` parameter of the `ShapeAnnotationSelected` event handler to `ShapeAnnotation` and modifying its properties. The following code shows how to change the properties.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationSelected="PdfViewer_ShapeAnnotationSelected" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.ShapeAnnotationSelected += PdfViewer_ShapeAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationSelected(object sender, Syncfusion.SfPdfViewer.XForms.ShapeAnnotationSelectedEventArgs args)
+{
+	//Get the type of the annotation. Here it is Rectangle
+	AnnotationMode annotationMode = args.AnnotationType;
+	//Cast the sender object as shape annotation.
+	ShapeAnnotation selectedShapeAnnotation = sender as ShapeAnnotation;
+	//Set the stroke color of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.StrokeColor = Color.Blue;
+	//Set the opacity of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.Opacity = 0.3f;
+	//Set the thickness of the selected annotation using shape annotation settings.
+	selectedShapeAnnotation.Settings.Thickness = 3;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Moving or resizing shape annotations
+
+Select the shape annotation to move or resize it. After the selector appears around the annotation, dragging the annotation by tapping anywhere inside the selector will move the annotation. Similarly, tapping and dragging on the corner bubbles will resize the selected annotation. 
+
+### Detecting the move or resize of a shape
+
+The event `AnnotationMovedOrResized` will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" AnnotationMovedOrResized="PdfViewer_AnnotationMovedOrResized"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.AnnotationMovedOrResized += PdfViewer_AnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_AnnotationMovedOrResized(object sender, AnnotationMovedOrResizedEventArgs args) 
+{
+	//Determine whether the moved or resized annotation is a shape or some other annotation. 
+	if(sender as ShapeAnnotation == null)
+	{
+		//The annotation is not a shape
+	}
+	else
+	{
+		//The annotation is a shape
+	} 
+	//Retrieve the old bounds of the annotation
+	Rectangle oldBounds = args.OldBounds;
+	//Retrieve the new bounds of the annotation
+	Rectangle newBounds = args.NewBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Deleting shape annotations
+
+The PDF viewer supports removing a single annotation and all the annotations in the PDF document.
+
+### Removing a selected annotation
+
+The following code snippet illustrates removing a selected annotation from the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationSelected="PdfViewer_ShapeAnnotationSelected"/>
+<Button x:Name="deleteShapeAnnotationButton" Grid.Row="1" Clicked="deleteShapeAnnotationButton_Clicked"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+ShapeAnnotation selectedShapeAnnotation;
+private void PdfViewer_ShapeAnnotationSelected(object sender, ShapeAnnotationSelectedEventArgs args)
+{
+	//Cast the sender object as Shape annotation.
+	selectedShapeAnnotation = sender as ShapeAnnotation;
+}
+private void deleteShapeAnnotationButton_Clicked(object sender, EventArgs e)
+{
+	//Delete the selected shape annotation
+	pdfViewer.RemoveAnnotation(selectedShapeAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all annotations
+
+The following code snippet illustrates removing all annotations from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ClearAllAnnotations();
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the removal of a shape
+
+The event `ShapeAnnotationRemoved` will be raised when a shape annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" ShapeAnnotationRemoved="PdfViewer_ShapeAnnotationRemoved"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+SfPdfViewer pdfViewer = new SfPdfViewer();
+pdfViewer.ShapeAnnotationRemoved += PdfViewer_ShapeAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+The properties of the removed shape annotation can be obtained from the `args` parameter of the event handler.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_ShapeAnnotationRemoved(object sender, ShapeAnnotationRemovedEventArgs args)
+{
+	//Get the type of the annotation. Here it is rectangle
+	AnnotationMode annotationMode = args.AnnotationType;
+	//Get the bounds of the rectangle
+	Rectangle bounds = args.Bounds;
+	//Get the data points of the shape
+	List<Point> dataPoints = args.DataPoints;
+	//Get the opacity value
+	float opacity = args.Opacity;
+	//Get the page number in which the annotations are present
+	int pageNumber = args.PageNumber;
+	//Get the position of the shape within the page
+	Point position = args.Position;
+	//Get the stroke color of the shape 
+	Color strokeColor = args.StrokeColor;
+	//Get the thickness of the shape
+	float thickness = args.Thickness;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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 such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Arrow.Settings.IsLocked = true;
+//Disable the line annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Line.Settings.IsLocked = true; 
+//Disable the rectangle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = true;
+//Disable the circle annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = true;
+//Disable the polygon annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = true;
+//Disable the polyline annotation interaction such as move, resize, remove, and attributes changes.
+pdfViewerControl.AnnotationSettings.Polyline.Settings.IsLocked = true;
+
+{% endhighlight %}
+{% endtabs %}
+ 
+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# %}
+
+//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;
+pdfViewerControl.AnnotationSettings.Rectangle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Circle.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Polygon.Settings.IsLocked = false;
+pdfViewerControl.AnnotationSettings.Polyline.Settings.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+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;
+//Disable the selection of polyline annotations.
+pdfViewerControl.AnnotationSettings.Polyline.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;
+pdfViewerControl.AnnotationSettings.Polyline.Settings.Constraints = AnnotationConstraints.Selectable;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get and set the name of the shape annotations?
+
+The PDF Viewer allows the users to get and set the name of shape annotations through the [Name](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API. 
+
+The following code sample explains modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_ShapeAnnotationAdded(object sender, ShapeAnnotationAddedEventArgs args)
+{
+	//Sets the name for the annotation.
+	(sender as ShapeAnnotation).Name = "Shape1";           
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the shape annotation in the [ShapeAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShapeAnnotationAdded) event. But this can be done in all other events as well. 
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Single-page-view-mode.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Single-page-view-mode.md
new file mode 100644
index 000000000..62cfaf341
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Single-page-view-mode.md
@@ -0,0 +1,113 @@
+---
+layout: post
+title: Single page view mode in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Single page view mode support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Single page view mode in Xamarin Pdf Viewer (SfPdfViewer)
+
+The default continuous view mode of PDF Viewer allows vertical scrolling. In addition to that, PDF Viewer also provides options to view PDFs page by page with horizontal navigation support.
+
+![Single page view mode flipping](pdfviewer_images/SinglePageViewerFlipping.gif)
+
+![Single page view mode scrolling](pdfviewer_images/SinglePageViewerScrolling.gif)
+
+## Switching between view modes
+
+The view mode can be switched by choosing the corresponding option from the menu bar that appears when the view mode button is clicked. The view mode button is available on the top toolbar. 
+
+![Single page view mode](pdfviewer_images/SinglePageViewer1.png)
+
+![View mode options](pdfviewer_images/SinglePageViewer2.png)
+
+The view mode can also be changed programmatically using the `PageViewMode` property of the PDF viewer. The enum `PageViewMode` has two constants - `Continuous`, `PageByPage`. The default value is `Continuous`. The below code snippet illustrates how to switch to the page by page view mode.
+
+{% tabs %}
+
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" PageViewMode="PageByPage" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewerControl.PageViewMode = PageViewMode.PageByPage;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Tracking the changes in the `PageViewMode` property
+
+When the `PageViewMode` property changes, the `PageViewModeChanged` event is raised. The second parameter of the event handler is of type `PageViewModeChangedEventArgs` which provides the details about the old and new view modes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PageViewModeChanged += PdfViewerControl_PageViewModeChanged1;
+private void PdfViewerControl_PageViewModeChanged1(object sender, PageViewModeChangedEventArgs e)
+{
+    PageViewMode oldViewMode = e.PreviousPageViewMode;
+    PageViewMode newViewMode = e.CurrentPageViewMode;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to disable the page navigation by flipping in a single page view mode?
+
+The page navigation by flipping the pages in a single page view mode can be enabled or disabled by setting the `IsPageFlipEnabled` API to `true` or `false` respectively.
+
+N>The default value of the `IsPageFlipEnabled` API is set to `true`. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the page navigation by flipping pages
+pdfViewer.IsPageFlipEnabled= false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
+
+## How to show and hide the page navigation buttons in the page by page view mode on desktop?
+
+By default in the Xamarin.Forms.UWP platform, buttons to navigate to the next page and the previous page in the page by page view mode will be visible. It can be shown or hidden by setting the [ShowPageFlipNavigationArrows](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_ShowPageFlipNavigationArrows) property of PDF Viewer to `true` and `false` respectively.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" ShowPageFlipNavigationArrows="False" />
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewerControl.ShowPageFlipNavigationArrows = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This API is only applicable for desktop device in UWP platform. Changing the value of this API does not have any effect on Android and iOS platforms.
+
+## How to retain the zoom percentage in page by page mode?
+
+To persist the zoom percentage on every page while navigating in the page-by-page view mode, set the `PersistZoomOnPageChange` property to true. Its default value is false. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" PersistZoomOnPageChange="True"/>
+
+{% endhighlight %}
+{% highlight c# %}
+
+pdfViewerControl.PersistZoomOnPageChange = true;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This property is applicable only for the page-by-page view mode. Changing the value of this property does not have any effect on the continuous page view mode.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Supported-and-Unsupported-features.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Supported-and-Unsupported-features.md
new file mode 100644
index 000000000..20a751446
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Supported-and-Unsupported-features.md
@@ -0,0 +1,1239 @@
+---
+layout: post
+title: Supported and Unsupported features in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about the list of supported and unsupported features in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Supported and Unsupported features in Xamarin Pdf Viewer (SfPdfViewer)
+
+The following table shows the various features available in the PDF Viewer and their availability in different platforms.
+
+<table>
+	<tr>
+		<th align="center">
+			Features<br/>
+		</th>
+		<th align="center">
+			XamarinForms.Android<br/>
+		</th>
+		<th align="center">
+			XamarinForms.iOS<br/>
+		</th>
+		<th align="center">
+			XamarinForms.UWP<br/>
+		</th>
+		<th align="center">
+			Xamarin.Android<br/>
+		</th>
+		<th align="center">
+			Xamarin.iOS<br/>
+		</th>
+	</tr>	
+	<tr>
+		<td>
+			Built-in Toolbar<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Encrypted file loading<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Single page view mode<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Double-Page view mode<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Fit page view mode<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Page navigation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Bookmark navigation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Hyperlink navigation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Table of content navigation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Text search<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Text selection<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Scrolling<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Panning<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes*<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Zooming<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Minimum & maximum zoom percentage<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Form filling<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Form filling with JavaScript actions<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Highlight text annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Underline text annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Strikethrough text annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Squiggly line annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Rectangle shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Circle shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Line shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Arrow shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Polygon shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Cloud shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Polyline shape annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Ink annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Free Text annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Sticky notes annotation<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Text callout annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			File link annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Area measurement annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Distance measurement annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Perimeter measurement annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Radius measurement annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Volume measurement annotation<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Handwritten signature<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Digital signature<br/>
+		</td>
+		<td>
+			Yes**<br/>
+		</td>
+		<td>
+			Yes**<br/>
+		</td>
+		<td>
+			Yes**<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Custom stamps<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Built-in stamps<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Lock annotations<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Multiple annotation selection<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Undo/Redo<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Save<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Print<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Exporting PDF page as image<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Import and export annotation data<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Import and export form field data<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Themes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Localization<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Accessibility<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Right-To-Left(RTL)<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Ink Eraser tool<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			Yes<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Rotate PDF pages interactively<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Comments<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Thumbnails<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Redaction<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			Layers<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+		<td>
+			No<br/>
+		</td>
+	</tr>
+<table>
+
+* Mouse panning is not supported in XamarinForms.UWP platform.<br/>
+<br/>
+** To avoid data loss, the digital signature will be rendered in flat form (editing can't be done) while loading a document in the `SfPdfViewer`, and it won't be preserved when saving. Support for adding and editing digital signatures is not yet provided.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/TextMarkup.md b/Document-Processing/PDF/PDF-Viewer/xamarin/TextMarkup.md
new file mode 100644
index 000000000..c113b7850
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/TextMarkup.md
@@ -0,0 +1,621 @@
+---
+layout: post
+title: Text markup annotations in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Text markup annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text markup annotations in Xamarin Pdf Viewer (SfPdfViewer)
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) supports to add, edit, and delete text markup annotations (highlight, underline, and strikethrough) in the PDF document.
+
+## Highlight a text
+
+The two ways to highlight a text in the PDF document are: 
+
+1. By selecting the text and highlight option
+
+	* Select the text in the PDF document.
+   * Select “Highlight” option in the context menu that appears.
+	
+2. Enabling the highlight mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once highlight annotation mode is activated, scrolling of the document will be frozen and highlight annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to highlight annotation mode
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="highlightAnnotationButton" BackgroundColor="Transparent" Image="TextHighlightIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”Highlight” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to highlight annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.Highlight;
+
+{% endhighlight %}
+{% endtabs %}
+
+XAML code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="resetAnnotationButton" BackgroundColor="Transparent" Image="resetIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”None” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Highlight the text programmatically
+
+By `AddAnnotation` method , You can highlight the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Highlight, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Underline a text
+
+The two ways to underline a text in the PDF document are: 
+
+1. By selecting the text and underline option
+
+	* Select the text in the PDF document.
+   * Select “Underline” option in the context menu that appears.
+	
+2. Enabling the underline mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once underline annotation mode is activated, scrolling of the document will be frozen and underline annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to underline annotation mode
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="underlineAnnotationButton" BackgroundColor="Transparent" Image="TextUnderlineIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”Underline” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to underline annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.Underline;
+
+{% endhighlight %}
+{% endtabs %}
+
+XAML code to switch to normal mode from annotation mode.
+
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="resetAnnotationButton" BackgroundColor="Transparent" Image="resetIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”None” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Underline the text programmatically
+
+By `AddAnnotation` method , You can underline the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Underline, 2, 20, 200);        
+   
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Underline a text with a squiggly style
+
+The two ways to underline a text with a squiggly style in the PDF document are: 
+
+1. By selecting the text and squiggly option
+
+	* Select the text in the PDF document.
+   * Select “Squiggly” option in the context menu that appears.
+	
+2. Enabling the squiggly mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once squiggly annotation mode is activated, scrolling of the document will be frozen and squiggly annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to squiggly annotation mode
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="squigglyAnnotationButton" BackgroundColor="Transparent" Image="TextSquigglyIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”Squiggly” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to squiggly annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.Squiggly;
+
+{% endhighlight %}
+{% endtabs %}
+
+XAML code to switch to normal mode from annotation mode.
+
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="resetAnnotationButton" BackgroundColor="Transparent" Image="resetIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”None” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Underline a text with a squiggly style programmatically
+
+By `AddAnnotation` method , You can underline a text with a squiggly style programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Squiggly, 2, 20, 200);         
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Strikethrough a text
+
+The two ways to strikethrough a text in the PDF document are: 
+
+1. By selecting the text and strikethrough option
+
+	* Select the text in the PDF document.
+   * Select “Strikethrough” option in the context menu that appears.
+	
+2. Enabling the strikethrough mode and selecting the text
+
+By default, the PDF viewer will be in the scrolling and text selection mode. Once strikethrough annotation mode is activated, scrolling of the document will be frozen and strikethrough annotations will be included when you swipe over the texts in the pages of the PDF document.
+
+XAML code to switch to strikethrough annotation mode
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="strikethroughAnnotationButton" BackgroundColor="Transparent" Image="TextStrikethroughIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”Strikethrough” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to strikethrough annotation mode
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.Strikethrough;
+
+{% endhighlight %}
+{% endtabs %}
+
+XAML code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="resetAnnotationButton" BackgroundColor="Transparent" Image="resetIcon.png" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Command="{Binding AnnotationModeCommand, Source={x:Reference Name=pdfViewerControl}}" CommandParameter=”None” />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to switch to normal mode from annotation mode.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.AnnotationMode = AnnotationMode.None;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Strikethrough the text programmatically
+
+By `AddAnnotation` method , You can strikethrough the text programmatically. The created text markup annotation object passed as a parameter. The `TextMarkupAnnotation` instance acquires the `TextMarkupAnnotationType`, page number, start index and end index of the text as the parameters. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Creates the text markup annotation             
+TextMarkupAnnotation textMarkupAnnotation = new TextMarkupAnnotation(TextMarkupAnnotationType.Strikethrough, 2, 20, 200);        
+//Add the text markup annotation to the specified page
+pdfViewerControl.AddAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Selecting text markup annotation programmatically
+
+By `SelectAnnotation` method ,You can select the text markup annotation programmatically. The specified text markup annotation object passed as a parameter.
+ 
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified text markup annotation
+pdfViewerControl.SelectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselecting text markup annotation programmatically
+
+By `DeselectAnnotation` method ,You can deselect the text markup annotation programmatically. The specified text markup annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified text markup annotation 
+pdfViewerControl.DeselectAnnotation(textMarkupAnnotation);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Deleting a text markup annotation
+
+The PDF viewer removes a single annotation in the PDF document, removes all the annotations in a page, and removes all the annotations in the document.
+
+### Removing a single annotation.
+
+The following code snippet illustrates removing a single annotation from the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" TextMarkupSelected="PdfViewerControl_TextMarkupSelected" />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to remove selected annotation from the PDF document
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+   TextMarkupAnnotation selectedAnnotation = sender as TextMarkupAnnotation;
+   pdfViewerControl.RemoveAnnotation(selectedAnnotation);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in a page
+
+The ClearAllAnnotations(int pageNumber) API can be used to remove all the annotations in a page of the PDF document. 
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="clearAllAnnotationsButton" Clicked="clearAllAnnotationsButton_Clicked" />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to clear all the annotations in a given page number.
+
+{% tabs %}
+{% highlight c# %}
+
+private void clearAllAnnotationsButton_Clicked(object sender, EventArgs e)
+{
+   pdfViewerControl.ClearAllAnnotations(pageNumber);
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Removing all the annotations in the PDF document
+
+The ClearAllAnnotations API can be used to remove all the annotations in the PDF document.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="clearAllAnnotationsButton" Clicked="clearAllAnnotationsButton_Clicked" />
+
+{% endhighlight %}
+{% endtabs %}
+
+C# code to clear all the annotations in a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+private void clearAllAnnotationsButton_Clicked(object sender, EventArgs e)
+{
+   pdfViewerControl.ClearAllAnnotations();
+}
+{% endhighlight %}
+{% endtabs %}
+
+## Editing the color and opacity of the text markup annotation
+
+You can edit the color and opacity of the text markup annotation before including the annotation and after including the annotation.
+
+N>The default opacity value of the text markup annotation is 1, and its value ranges from 0 to 1.
+
+### Before inclusion of the annotation or Default color and opacity
+
+You can change the default color or opacity of the text markup annotations using the `Color` and `Opacity` properties in their settings class. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+/Sets the color of the highlight text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Color = Color.Red; 
+ 
+//Sets the color of the underline text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Color = Color.Magenta; 
+
+//Sets the color of the strikethrough text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Color = Color.Yellow; 
+
+//Sets the color of the squiggly text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.Color = Color.Blue; 
+
+//Sets the opacity of the highlight text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Highlight.Opacity = 0.5f; 
+ 
+//Sets the opacity of the underline text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Underline.Opacity = 0.5f; 
+
+//Sets the opacity of the strikethrough text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Strikethrough.Opacity = 0.5f;  
+
+//Sets the opacity of the squiggly text markup annotation. 
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.Opacity = 0.5f; 
+
+{% endhighlight %}
+{% endtabs %}
+
+N>Setting this property will not edit the color and opacity of annotations that are included in prior.
+
+### After inclusion of the annotation
+
+* Select the annotation.
+* TextMarkupSelected event will be triggered and you will get a copy of selected annotation. 
+* Edit the copy of the annotation so that you can edit the color and opacity of the text markup annotation.
+
+The following code snippet illustrates the same.    
+                     
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" TextMarkupSelected="PdfViewerControl_TextMarkupSelected" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_TextMarkupSelected(object sender, TextMarkupSelectedEventArgs args)
+{
+   TextMarkupAnnotation selectedAnnotation = sender as TextMarkupAnnotation;
+   //Sets the color of text markup annotation. 
+   selectedAnnotation.Settings.Color = Color.Yellow; 
+   //Sets the opacity of text markup annotation. 
+   selectedAnnotation.Settings.Opacity = 0.6f; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Performing undo and redo
+
+The PDF viewer performs undo and redo for the changes made in annotations in the PDF document. In text markup annotation undo and redo actions are provided for: 
+
+* Inclusion of new text markup annotation.
+* Deletion of text markup annotation.
+* Changing the color of the text markup annotation. 
+
+Refer to the following code sample to perform undo and redo operations:  
+
+{% tabs %}
+{% highlight xaml %}
+
+<Button x:Name="undoButton" BackgroundColor="Transparent" Image="UndoIcon.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding PerformUndoCommand ,Source={x:Reference Name=pdfViewerControl}}"/>
+<Button x:Name="redoButton" BackgroundColor="Transparent" Image="RedoIcon.png" HorizontalOptions="Center" VerticalOptions="Center" Command="{Binding PerformRedoCommand ,Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.PerformUndo();
+pdfViewerControl.PerformRedo();
+
+{% endhighlight %}
+{% endtabs %}
+
+
+## Saving the PDF document
+
+After performing all the changes over the PDF document in the PDF viewer, the resultant document can be saved using the SaveDocument() API.
+
+{% tabs %}
+{% highlight xaml %}
+<Button x:Name="saveButton" Clicked="saveButton_Clicked" />
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+private void saveButton_Clicked(object sender, EventArgs e)
+{
+   Stream stream = pdfViewerControl.SaveDocument();
+}
+{% endhighlight %}
+{% 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;
+//Disable the text markup squiggly annotation interaction such as remove and attributes changes.
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.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;
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.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;
+//Disable the selection of text markup squiggly annotation
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.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;
+pdfViewerControl.AnnotationSettings.TextMarkup.Squiggly.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/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupAdded) event.
+
+{% tabs %}
+{% highlight c# %}
+private void PdfViewerControl_TextMarkupAdded(object sender, TextMarkupAddedEventArgs args)
+{
+   (sender as TextMarkupAnnotation).Name = "TextMarkupAnnotation1";
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> For illustration purposes, we have only provided the sample for modifying the name of the text markup annotation in the [TextMarkupAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_TextMarkupAdded) event. But this can be done in all other events as well. 
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Touch-Interaction-Events.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Touch-Interaction-Events.md
new file mode 100644
index 000000000..872931ccd
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Touch-Interaction-Events.md
@@ -0,0 +1,89 @@
+---
+layout: post
+title: Touch interaction events in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Touch interaction events support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Touch interaction events in Xamarin Pdf Viewer (SfPdfViewer)
+
+## Tapped 
+
+The [`Tapped`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_Tapped) event is triggered when the user taps on the document display area of the PDF Viewer control. The event argument of this event contains the following information:
+
+* [`PageNumber`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PageNumber) : The page number where the tap event occurred.
+* [`Position`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_Position) : The tapped position with respect to the PDF Viewer's client area.
+* [`PagePosition`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PagePosition) : The tapped position with respect to the PDF page.
+
+## DoubleTapped
+
+The [`DoubleTapped`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_DoubleTapped) event is triggered when the user double taps on the document display area of the PDF Viewer control. The event argument of this event contains the following information:
+
+* [`PageNumber`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PageNumber) : The page number where the double tap event occurred.
+* [`Position`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_Position) : The double tapped position with respect to the PDF Viewer's client area.
+* [`PagePosition`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PagePosition) : The double tapped position with respect to the PDF page.
+
+## LongPressed
+
+The [`LongPressed`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_LongPressed) event is triggered when the user long presses on the document display area of the PDF Viewer control. The event argument of this event contains the following information:
+
+* [`PageNumber`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PageNumber) : The page number where the long press event occurred.
+* [`Position`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_Position) : The long pressed position with respect to the PDF Viewer's client area.
+* [`PagePosition`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs.html#Syncfusion_SfPdfViewer_XForms_TouchInteractionEventArgs_PagePosition) : The long pressed position with respect to the PDF page.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Grid x:Name="pdfViewGrid">
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" Tapped="PdfViewerControl_Tapped"
+DoubleTapped="PdfViewerControl_DoubleTapped" LongPressed="PdfViewerControl_LongPressed"
+InputFileStream="{Binding PdfDocumentStream}"/>
+</Grid>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+public MainPage()
+{
+    InitializeComponent();
+}
+
+private void PdfViewerControl_LongPressed(object sender, Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs e)
+{
+    //Gets the page number of the PDF Viewer where you tapped.
+    int pageNumber = e.PageNumber;
+    //Gets the position of the PDF Viewer's client area where you tapped.
+    Point position = e.Position;
+    //Gets the position of the PDF page where you tapped.
+    Point pagePosition = e.PagePosition;
+}
+
+private void PdfViewerControl_DoubleTapped(object sender, Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs e)
+{
+    //Gets the page number of the PDF Viewer where you double tapped.
+    int pageNumber = e.PageNumber;
+    //Gets the position of the PDF Viewer's client area where you double tapped.
+    Point position = e.Position;
+    //Gets the position of the PDF page where you double tapped.
+    Point pagePosition = e.PagePosition;
+}
+
+private void PdfViewerControl_Tapped(object sender, Syncfusion.SfPdfViewer.XForms.TouchInteractionEventArgs e)
+{
+    //Gets the page number of the PDF Viewer where you long pressed.
+    int pageNumber = e.PageNumber;
+    //Gets the position of the PDF Viewer's client area where you long pressed.
+    Point position = e.Position;
+    //Gets the position of the PDF page where you long pressed.
+    Point pagePosition = e.PagePosition;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can refer to our [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-AcroForms.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-AcroForms.md
new file mode 100644
index 000000000..57d13ea34
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-AcroForms.md
@@ -0,0 +1,309 @@
+---
+layout: post
+title: Working with PDF forms in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Working with PDF forms support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with PDF forms in Xamarin Pdf Viewer (SfPdfViewer)
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) supports adding/modifying the existing forms fields content present in the PDF document. By default, it detects the form fields present in the PDF document and enables modifying or filling the values.
+
+N>PDF Viewer supports only Acroform. PDF documents with XFA form fields cannot be viewed in PDF Viewer.
+
+## How to restrict editing the Acroform field values in the existing PDF document
+
+By setting the `EnableFormFilling` property of the PdfViewerControl instance to false, you can avoid modifying the values of the form field elements present in the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+//Does not load the form fields in PDF Viewer
+pdfViewerControl.EnableFormFilling = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>By default, the EnableFormFilling property is set to true.
+
+## How to flatten and save the Acroform fields data
+
+Flattening PDF form is a process of removing the form fields in the PDF document, thereby rendering the form fields appearance and its content in the page graphics. This will avoid the PDF form being edited in any device. PDF Viewer supports flattening the PDF form when saving. You can perform this action by passing the parameter `true` to the Save method of PDF Viewer.
+
+{% tabs %}
+{% highlight c# %}
+
+//Flatten and save the form fields during saving process
+pdfViewerControl.SaveDocument(true);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding or Editing the Form Field Values Programmatically
+
+Programmatically add or edit the form fields in the document using the `FormFields` collection in the PdfViewer.
+
+### Adding or editing the Text Box form field
+Programmatically add or edit the text of the text box form field by changing the `Text` property.
+
+{% tabs %}
+{% highlight c# %}
+
+if (pdfViewerControl.FormFields.Where(x => x.Name == "name") is TextFormField nameTextBox) 
+{
+// Modify the text entered in the Text Box field.
+ nameTextBox.Text = "Jonathan"; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding or editing the Checkbox form field
+Programmatically check or uncheck the checkbox field by changing the `IsChecked` property. By default, this property is `false`.
+
+{% tabs %}
+{% highlight c# %}
+
+if (pdfViewerControl.FormFields.Where(x => x.Name == "newsletter") is CheckBoxFormField checkBox) 
+{
+// Mark the checkbox as checked.
+ checkBox.IsChecked = true;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing the Combo Box form field
+Programmatically select an item from the combo box using the `SelectedItem` property.
+
+{% tabs %}
+{% highlight c# %}
+
+if (pdfViewerControl.FormFields.Where(x => x.Name == "state") is ComboBoxFormField comboBox) 
+{
+// Select the desire item from the combo box.
+comboBox.SelectedItem = comboBox.Items[4];
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Editing the Radio button form field
+Programmatically select an item from the radio buttons using the `SelectedItem` property. 
+
+{% tabs %}
+{% highlight c# %}
+
+if (pdfViewerControl.FormFields.Where(x => x.Name == "gender") is RadioButtonFormField radioButton) 
+{
+// Select the desired item from the radio buttons.
+ radioButton.SelectedItem = radioButton.Items[0]; 
+
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Adding or editing a Signature form field
+Programmatically add a signature to the signature form field by creating and assigning a handwritten signature to the `HandwrittenSignature` property. 
+
+{% tabs %}
+{% highlight c# %}
+
+SignatureFormField signature = pdfViewerControl.FormFields.Where(x => x.Name == "signature") as SignatureFormField;
+if (signature != null) 
+{
+var inkPointsCollection = new List<List<float>>(); inkPointsCollection.Add(new List<float> { 53f, 525f, 53f, 527f, 53f, 528f, 53f, 531f, 53f, 549f, 54f, 570f, 56f, 597f, 57f, 623f, 59f, 652f, 60f, 679f, 62f, 705f, 64f, 726f, 65f, 744f, 66f, 758f, 66f, 768f, 65f, 777f, 65f, 782f, 65f, 784f, 64f, 786f, 64f, 786f, 63f, 786f, 63f, 786f, 63f, 784f, 66f, 774f, 71f, 757f, 79f, 734f, 88f, 708f, 99f, 681f, 112f, 652f, 126f, 627f, 140f, 606f, 150f, 591f, 158f, 582f, 162f, 578f, 164f, 577f, 165f, 576f, 166f, 576f, 165f, 578f, 155f, 592f, 143f, 605f, 121f, 621f, 99f, 631f, 77f, 639f, 54f, 644f, 35f, 645f, 20f, 644f, 10f, 642f, 4f, 642f, 2f, 641f, 1f, 640f, 0f, 639f, 0f, 639f, 2f, 639f, 20f, 645f, 47f, 657f, 75f, 672f, 106f, 688f, 137f, 704f, 168f, 718f, 197f, 732f, 221f, 741f, 240f, 748f, 254f, 753f, 254f, 753f });
+var signature = new HandwrittenSignature() 
+{
+ InkPointsCollection = inkPointsCollection, 
+}; 
+signature.Settings.Color = Color.Red; 
+signature.Settings.Thickness = 4; 
+// Add the created handwritten signature to the signature form field.
+signature.HandwrittenSignature = signature; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to restrict the editing of the form field data?
+
+By setting the `PdfViewerControl.FormSettings.CanEdit` property to `false`, avoid editing the values of all the form field elements in the loaded PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+// Restrict the editing of all the form field elements. 
+pdfViewerControl.FormSettings.CanEdit = false;              
+
+{% endhighlight %}
+{% endtabs %}
+
+You could also restrict the editing of any individual form field by setting their instance's `CanEdit` property to `false`. Refer to the following code example.
+
+{% tabs %}
+{% highlight c# %}
+
+// Restrict the editing of individual form field 
+pdfViewerControl.FormFields[0].CanEdit = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to clear form field data?
+
+The `ClearFormData` method can remove or clear all the form field data in a PDF document. 
+
+{% tabs %}
+{% highlight c# %}
+
+// Clear all the form field data.
+pdfViewerControl.ClearFormData();
+
+{% endhighlight %}
+{% endtabs %}
+
+The `ClearFormData` method passed with the page number can remove or clear all the form field data on the mentioned page of a PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+// Clear all the form field data on the 2nd page.
+pdfViewerControl.ClearFormData(2);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Rendering the appearance content of signature form fields
+
+By default, the PDF viewer does not display the appearance content of signature form fields. But the appearance can be displayed by flattening the signature form fields before loading the PDF. This can be achieved by setting the `FlattenSignatureFields` property as true. The default value of the property is set as false.
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets a value whether the signature form fields should be flattened when the PDF is loaded or not.
+pdfViewerControl.FormSettings.FlattenSignatureFields = true;
+//Loads the PDF. 
+pdfViewerControl.LoadDocument(stream);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Signature form fields are only flattened when the page displayed in the viewer is only for viewing the appearance of signature form fields. Once the signature form fields are flattened, the interactions such as select, edit, resize, and remove cannot be performed. Setting the `FlattenSignatureFields` property as `true` will does not affect the save and form field export operations. The signature form fields will not be flattened in these operations.
+
+## Loading PDFs with XFA forms
+
+PDF documents that contain XFA form fields cannot be viewed in PDF Viewer since they can be viewed only in Adobe reader. When a PDF with XFA form is loaded, its original contents may not be rendered as expected. 
+
+The value of the [IsXFAForm](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_IsXFAForm) property indicates whether the PDF loaded contains XFA form. 
+
+{% tabs %}
+{% highlight c# %}
+
+bool pdfContainsXFAForm = pdfViewerControl.IsXFAForm;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
+
+## Events to track form field interaction
+
+The [PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to track form field interactions using events. The interactions on the following types of form fields can be tracked using events.
+
+* Text
+* Check Box
+* Radio button
+* Combo Box
+* List box
+* Signature
+
+### Detecting the value change of form fields
+
+The`FormFieldValueChanged` event will be raised when the values of the form fields are changed.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldValueChanged="PdfViewer_FormFieldValueChanged"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldValueChanged(object sender, FormFieldValueChangedEventArgs args)
+{  
+  //Get the name of the form field          
+  string fieldName = args.FormFieldName;
+  //Get the type of the form field   
+  FormFieldType formFieldType= args.FormFieldType; 
+  //Get the value of the form field after the event occurs    
+  object newValue = args.NewValue;     
+  //Get the value of the form field before the event occurs 
+  object oldValue = args.OldValue;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+### Detecting the focus of form fields
+
+The `FormFieldFocused` event will be raised when text or signature field is focused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldFocused="PdfViewer_FormFieldFocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldFocused(object sender, FormFieldFocusedEventArgs args)
+{          
+  //Get the name of the form field             
+  string fieldName = args.FormFieldName;           
+  //Get the type of the form field            
+  FormFieldType formFieldType= args.FormFieldType; 
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
+
+### Detecting the unfocus of form fields
+
+The `FormFieldUnfocused` event will be raised when text or signature field is unfocused.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewer" FormFieldUnfocused="PdfViewer_FormFieldUnfocused"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+privatevoidPdfViewerControl_FormFieldUnfocused(object sender, FormFieldUnfocusedEventArgs args) 
+{          
+  //Get the name of the form field             
+  string fieldName = args.FormFieldName;       
+  //Get the type of the form field       
+  FormFieldType formFieldType= args.FormFieldType;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>This event will be raised only for the text and signature form fields.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-Coordinates.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-Coordinates.md
new file mode 100644
index 000000000..18e2bedc7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-PDF-Coordinates.md
@@ -0,0 +1,142 @@
+---
+layout: post
+title: PDF coordinates in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about working with PDF coordinates and their conversions support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with PDF coordinates in Xamarin Pdf Viewer(SfPdfViewer)
+
+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/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-Scrollhead.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-Scrollhead.md
new file mode 100644
index 000000000..459f1e0a9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-Scrollhead.md
@@ -0,0 +1,53 @@
+---
+layout: post
+title: Working with ScrollHead in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Working with ScrollHead support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with ScrollHead in Xamarin Pdf Viewer (SfPdfViewer)
+
+The scroll head in the [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows users to easily scroll through and navigate to destination page in the PDF document. ScrollHead always appears on the right side of PDF Viewer.
+
+## Enabling and disabling ScrollHead
+
+By setting the `EnableScrollHead` property of the PdfViewerControl instance to false, you can disable the scroll head.
+
+<table>
+
+<tr>
+<th>Property</th>
+<th>Action</th>
+</tr>
+
+<tr>
+<td>EnableScrollHead</td>
+<td>Gets or sets the value that enable and disable the ScrollHead feature in PDF Viewer. By default, this property is set to true.</td>
+</tr>
+
+</table>
+
+{% tabs %}
+{% highlight xaml %}
+
+<pdfviewer:SfPdfViewer x:Name="pdfViewerControl" EnableScrollHead="False"/>
+
+{% endhighlight %}
+{% endtabs %}
+
+{% tabs %}
+{% highlight c# %}
+
+//Disables the scroll head
+pdfViewerControl.EnableScrollHead = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Navigate to a desired page using ScrollHead
+
+PDF Viewer allows users to navigate to a desired destination page using ScrollHead. On tapping the ScrollHead of PDF Viewer, a page navigation pop-up will appear and users can navigate to the destination page by entering a valid page number.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-custom-stamp-annotations.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-custom-stamp-annotations.md
new file mode 100644
index 000000000..96da00225
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-custom-stamp-annotations.md
@@ -0,0 +1,297 @@
+---
+layout: post
+title: Custom stamp annotations in Xamarin Pdf Viewer | Syncfusion
+description: Learn here all about Working with custom stamp annotations support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with custom stamp annotations in Xamarin Pdf Viewer
+
+[Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows you to include any form of Xamarin.Forms View that is Button, Entry, Label, Image and more anywhere in the pages of the PDF Viewer as custom stamp annotation. You can perform operations like add, move, resize, and delete the custom stamp annotations. Also, you can save and load the existing custom stamp annotation that is associated with the PDF document
+
+N>Stamp annotations can be saved or preserved only by using the `SavedDocumentAsync` and  `ExportAnnotationsAsync` methods.
+
+## Add a custom stamp
+
+The custom stamps can be added using the `AddAnnotation` or `AddStamp` methods.
+
+{% tabs %}
+{% highlight c# %}
+
+//Add custom stamp/view
+pdfViewer.AddAnnotation(StampAnnotation stampAnnotation)
+//Add custom stamp/view to the specified page
+pdfViewer.AddStamp(View view, int pageNumber)
+//Add custom stamp/view to the specified page and position as Point object
+pdfViewer.AddStamp(View view, int pageNumber, Point position)
+//Add custom stamp/view to the specified page and position as Rectangle object
+pdfViewer.AddStamp(View view, int pageNumber, Rectangle bounds)
+
+{% endhighlight %}
+{% endtabs %}
+
+A typical example of the custom stamp in the real world includes, adding an image as custom stamp. PDF Viewer provides option to add any user defined signature or seal image as custom stamp to the PDF document. The following code sample explains the same.
+
+{% tabs %}
+{% highlight c# %}
+
+private void Button_Clicked(object sender, EventArgs e)
+{
+    //Set image source
+    Image image = new Image();
+    image.Source = ImageSource.FromResource("Sample.Assets.Logo.png", typeof(App).GetTypeInfo().Assembly);
+    image.WidthRequest = 200;
+    image.HeightRequest = 100;
+    //Method 1: Add image as custom stamp to the first page using `AddStamp` method
+    pdfViewer.AddStamp(image, 1);
+    
+    //Method 2: Create a stamp annotation instance and add using `AddAnnotation` method
+    //StampAnnotation stampAnnotation = new StampAnnotation(image, 1, new Rectangle(100, 100, 100, 100));
+    //pdfViewer.AddAnnotation(stampAnnotation);  	
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationAdded` event will be raised when custom stamp annotations are added in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationAdded += PdfViewer_StampAnnotationAdded;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Select a custom stamp
+
+You can select a custom stamp annotation by tapping on it and this action is followed by the appearance of the selector around the custom stamp annotation. The `StampAnnotationSelected` event will be raised when custom stamp annotations are selected in the PDF document.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationSelected += PdfViewer_StampAnnotationSelected;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationSelectedEventArgs` properties of the selected custom stamp annotation includes page number and bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+{
+    //Gets the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+    //Gets the bounds of selected stamp annotation
+    Rectangle bounds = e.Bounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+Also, tapping a custom stamp annotation selects it or deselects if it is already selected. Tapping a custom stamp annotation will raise the `StampAnnotationTapped` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.ShapeAnnotationTapped += PdfViewer_ShapeAnnotationTapped;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Select a custom stamp annotation programmatically
+
+By `SelectAnnotation` method, You can select the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter. 
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Selects the specified stamp annotation
+pdfViewer.SelectAnnotation(stampAnnotation);           
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Once `SelectAnnotation` method is called and as long as the annotation stays selected, the `SelectedAnnotation` property will return the same instance as the parameter of this method.
+
+## Deselect a custom stamp
+
+You can deselect a selected custom stamp annotation by tapping on it or somewhere else on the PDF document. Deselection of a custom stamp annotation can be detected using the `StampAnnotationDeselected` event.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationDeselected += PdfViewer_StampAnnotationDeselected;
+
+{% endhighlight %}
+{% endtabs %}
+
+### Deselect a custom stamp annotation programmatically
+
+By `DeselectAnnotation` method , You can deselect the custom stamp annotation programmatically. The specified custom stamp annotation object passed as a parameter.
+
+The following code sample illustrates the same.
+
+{% tabs %}
+{% highlight c# %}
+
+//Deselects the specified stamp annotation
+pdfViewer.DeselectAnnotation(StampAnnotation);       
+
+{% endhighlight %}
+{% endtabs %}
+
+N> There is no effect in Calling `DeselectAnnotation` method, if the given annotation is not selected. Once this method is called, the `SelectedAnnotation` property will return null until any other annotation gets selected.
+
+## Move or resize a custom stamp
+
+Select the custom stamp annotation to move or resize it. After the selector appears around the custom stamp annotation, drag it to move to a new location by tapping anywhere inside the selector. Similarly, drag the selector corner handle(s) to resize the selected custom stamp annotation. The `StampAnnotationMovedOrResized` event will be raised when you move or resize the selected annotation.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationMovedOrResized += PdfViewer_StampAnnotationMovedOrResized;
+
+{% endhighlight %}
+{% endtabs %}
+
+The `StampAnnotationMovedOrResizedEventArgs` properties of the moved or resized custom stamp annotation includes page number, old bounds, and new bounds information. The following code sample explains this.
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewer_StampAnnotationMovedOrResized(object sender, StampAnnotationMovedOrResizedEventArgs e)
+{
+    //Get the page number of selected stamp annotation
+    int pageNumber = e.PageNumber;
+    //Get the old bounds of selected stamp annotation
+    Rectangle oldBounds = e.OldBounds;
+    //Get the new bounds of selected stamp annotation
+    Rectangle newBounds = e.NewBounds;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to Customize the Minimum size of the Custom Stamp Annotations?
+
+By the `MinimumSize` property, You can set the minimum size to which the custom stamp annotations could be resized.
+
+Refer the following code example:
+
+{% tabs %}
+{% highlight c# %}
+
+//Sets the minimum size for the custom stamp annotations
+pdfViewer.AnnotationSettings.Stamp.MinimumSize = new Size(10, 10);
+
+{% endhighlight %}
+{% endtabs %}
+
+## Delete a custom stamp
+
+When you select the custom stamp annotation, delete icon will appear on the bottom toolbar. By clicking that delete icon, the selected custom stamp annotation can be removed. The `StampAnnotationRemoved` event will be raised when a custom stamp annotation is removed from the PDF.
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewer.StampAnnotationRemoved += PdfViewer_StampAnnotationRemoved;
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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. 
+
+{% tabs %}
+{% highlight c# %}
+
+//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, though its 'IsLocked' property is set to ‘false’ .
+pdfViewerControl.AnnotationSettings.IsLocked = true;
+pdfViewerControl.AnnotationSettings.Stamp.IsLocked = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+## 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# %}
+
+//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 %}
+
+## How to retrieve the actual view added as the stamp using the AddStamp method
+
+The stamp annotation view can be retrieved when the stamp is added, tapped, selected, deselected, moved, or resized, and removed from the event data parameter of the respective event handler from the [`CustomStampView`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.StampAnnotationMovedOrResizedEventArgs.html#Syncfusion_SfPdfViewer_XForms_StampAnnotationMovedOrResizedEventArgs_CustomStampView) property. The stamp view, thus retrieved, is the same instance as the one added using the [`AddStamp`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_AddStamp_Xamarin_Forms_View_System_Int32_) method. 
+
+Refer to the following code example. The [`StampAnnotationSelected`](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationSelected) event is shown for illustration purposes. 
+
+{% tabs %}
+{% highlight c# %}
+
+pdfViewerControl.StampAnnotationSelected += PdfViewerControl_StampAnnotationSelected;
+private void PdfViewerControl_StampAnnotationSelected(object sender, StampAnnotationSelectedEventArgs e)
+{
+    //Retrieves the actual view added as the stamp using the AddStamp method.
+    var customStamp = e.CustomStampView;
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to get and set the name of the custom stamp annotations?
+
+The PDF Viewer allows the users to get and set the name of custom stamp annotations through the [Name](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.IAnnotation.html#Syncfusion_SfPdfViewer_XForms_IAnnotation_Name) API.
+
+The following code sample explains modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationAdded) event. 
+
+{% tabs %}
+{% highlight c# %}
+
+private void PdfViewerControl_StampAnnotationAdded(object sender, StampAnnotationAddedEventArgs e)
+{
+    (sender as StampAnnotation).Name = "StampAnnotation1";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N>For illustration purposes, we have only provided the sample for modifying the name of the custom stamp annotation in the [StampAnnotationAdded](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfPdfViewer.XForms.SfPdfViewer.html#Syncfusion_SfPdfViewer_XForms_SfPdfViewer_StampAnnotationAdded) event. But this can be done in all other events as well.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-magnification.md b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-magnification.md
new file mode 100644
index 000000000..970560008
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/Working-with-magnification.md
@@ -0,0 +1,105 @@
+---
+layout: post
+title: Working with magnification in Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about Working with magnification support in Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Working with magnification in Xamarin Pdf Viewer (SfPdfViewer)
+
+Magnification of the PDF document can be done in multiple ways and the different ways are explained below. By default, the PdfViewer supports panning and Ctrl+ mouse scroll (in XForms.UWP) to manipulate the magnification of the document.
+
+## Set custom zoom percentage
+
+The users can set custom magnification factor between 100 and 300 to magnify the document displayed. The following code explains this,
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" ZoomPercentage="150" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewerControl.ZoomPercentage = 150;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Get custom zoom factor
+
+The following code explains accessing zoom factor in which the document is displayed in the viewer.
+
+{% tabs %}
+{% highlight xaml %}
+
+<Entry Keyboard="Numeric" FontSize="18" x:Name="zoomPercentage" HorizontalTextAlignment="Center" VerticalOptions="Center" Text="{Binding ZoomPercentage, Source={x:Reference Name=pdfViewerControl}}"/>
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+int zoom = pdfViewerControl.ZoomPercentage;
+
+{% endhighlight %}
+{% endtabs %}
+
+On binding entry control to the ZoomPercentage property of the PDF Viewer instance, the current zoom percentage being displayed in PDF Viewer is displayed in the entry control, and the PDF Viewer will be zoomed based on the value entered.
+
+## Set maximum zoom percentage
+
+The [Xamarin PDF Viewer](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) control allows you to set the maximum zoom percentage value for the PDF document being displayed. The following code example will set the maximum zoom percentage of PDF Viewer instance to 200.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" MaximumZoomPercentage="200" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewerControl.MaximumZoomPercentage = 200;
+
+{% endhighlight %}
+{% endtabs %}
+
+## Set minimum zoom percentage
+
+The PDF Viewer control allows you to set the minimum zoom percentage value for the PDF document being displayed. The following code example will set the minimum zoom percentage of PDF Viewer instance to 10.
+
+{% tabs %}
+{% highlight xaml %}
+
+<syncfusion:SfPdfViewer x:Name="pdfViewerControl" InputFileStream="{Binding PdfDocumentStream}" MinimumZoomPercentage="10" />
+
+{% endhighlight %}
+
+{% highlight c# %}
+
+pdfViewerControl.MinimumZoomPercentage = 10;
+
+{% endhighlight %}
+{% endtabs %}
+
+## How to enable or disable the double-tap zoom
+
+You can enable or disable the zooming of a PDF document on double-tap by setting the `EnableDoubleTapZooming` property of the PDF viewer to `true` or `false` respectively.
+
+N>The default value of the `EnableDoubleTapZooming` API is set to `true`. 
+
+{% tabs %}
+{% highlight c# %}
+
+//Disable the double-tap zoom
+pdfViewer.EnableDoubleTapZooming = false;
+
+{% endhighlight %}
+{% endtabs %}
+
+N>At present, this feature is available only in iOS
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/overview.md b/Document-Processing/PDF/PDF-Viewer/xamarin/overview.md
new file mode 100644
index 000000000..5b66b3912
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/xamarin/overview.md
@@ -0,0 +1,46 @@
+---
+layout: post
+title: About Xamarin Pdf Viewer control | Syncfusion
+description: Learn here all about introduction of Syncfusion<sup>®</sup> Xamarin Pdf Viewer (SfPdfViewer) control, its elements and more.
+platform: xamarin
+control: SfPdfViewer
+documentation: ug
+---
+
+# Xamarin Pdf Viewer (SfPdfViewer) Overview
+
+[PDF Viewer for Xamarin](https://www.syncfusion.com/xamarin-ui-controls/xamarin-pdf-viewer) allows the user to view PDF documents within your Xamarin.Forms application. 
+
+![SfPdfViewer](pdfviewer_images/pdfviewer.png)
+
+**Key features:**
+
+The following list shows the key features available in PDF Viewer control.
+
+* **View encrypted documents**: View the encrypted or password-protected documents easily.
+* **Page-by-page view mode**: View the PDF documents page-by-page with horizontal navigation.
+* **Built-in toolbar**: The PDF Viewer control comes with a powerful, built-in toolbar to execute the most important actions, such as page navigation, text search, and various annotation actions. The visibility of the toolbar items is also customizable. 
+* **Custom toolbar**: The built-in toolbar can be disabled, and you can easily create your own custom toolbar. 
+* **Scroll and pan**: Scroll and pan through the loaded PDF pages seamlessly.
+* **Magnification**: Zoom in and out the content of a document efficiently.
+* **Text selection**: Select the text presented in a PDF document.
+* **Text search**: Search for text and instantly navigate all its occurrences in a PDF document.
+* **Page navigation**: Navigate to the pages instantly.
+* **Bookmark navigation**: Navigate to bookmarks already present in a PDF document. Add, edit, remove, save and navigate to custom bookmarks added dynamically. 
+* **Document link navigation**: Navigate to the topic or position by tapping the document link annotation of the topics in the table of contents in a PDF document.
+* **Hyperlink navigation**: Detects hyperlinks, and tapping on the hyperlink will open the URL in a browser.
+* **Annotations**: Review and annotate a PDF document using various annotations, such as highlight, underline, strikethrough, squiggly, line, arrow, rectangle, circle, polygon, cloud, polyline, ink, ink eraser, custom stamp, sticky note, and free text.
+* **Custom views**: Add any form of Xamarin.Forms View like Button, Entry, Label, Image, and more anywhere in the pages as custom views.
+* **Handwritten signature**: Sign the documents quickly by adding your handwritten signature.
+* **Form filling**: Add and modify the existing forms fields content in a PDF document.
+* **Importing and exporting data**: Import and export data like form fields and annotations in a PDF document.
+* **Save and Print**: Save and print the modified PDF documents easily.
+* **Themes**: Easily switch between light and dark themes.
+* **Localization**: All static text within the PDF Viewer can be localized to any supported language.
+* **Accessibility**: Screen reading and navigation assistance can be done easily.
+
+N>PDF Viewer for Xamarin.Forms.Android will be supported from Android 5.0 (API Level 21) onwards.
+
+N>PDF Viewer for Xamarin.Forms.iOS will be supported from iOS version 9.0 onwards.
+
+N>You can also explore our [Xamarin.Forms PDF Viewer example](https://github.com/syncfusion/xamarin-demos/tree/master/Forms/PdfViewer) to knows the functionalities of each feature.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/Adding SfPdfViewer reference.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/Adding SfPdfViewer reference.png
new file mode 100644
index 000000000..1ab00d7e8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/Adding SfPdfViewer reference.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkButton.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkButton.png
new file mode 100644
index 000000000..9c4df721c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkButton.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkContextMenu.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkContextMenu.png
new file mode 100644
index 000000000..07ac2f7ee
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/BookmarkContextMenu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ClientCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ClientCoordinates.png
new file mode 100644
index 000000000..41827262f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ClientCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/CustomBookmarks.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/CustomBookmarks.png
new file mode 100644
index 000000000..bdb68b432
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/CustomBookmarks.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/DisablePrintPreview.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/DisablePrintPreview.png
new file mode 100644
index 000000000..fcd20ba46
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/DisablePrintPreview.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PageCoordinates.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PageCoordinates.png
new file mode 100644
index 000000000..e3fdbed54
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PageCoordinates.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PasswordView.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PasswordView.png
new file mode 100644
index 000000000..5dd13ad40
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PasswordView.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerAddingResxFile.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerAddingResxFile.png
new file mode 100644
index 000000000..28fd30b91
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerAddingResxFile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerLocalization.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerLocalization.png
new file mode 100644
index 000000000..fae8ad595
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerLocalization.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerResxFile.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerResxFile.png
new file mode 100644
index 000000000..c1752e4e3
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerResxFile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerWithCustomToolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerWithCustomToolbar.png
new file mode 100644
index 000000000..267f3e292
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PdfViewerWithCustomToolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PrintPreviewCustomization.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PrintPreviewCustomization.png
new file mode 100644
index 000000000..633b53670
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/PrintPreviewCustomization.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer1.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer1.png
new file mode 100644
index 000000000..cf47add1a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer1.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer2.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer2.png
new file mode 100644
index 000000000..5d594838d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewer2.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerFlipping.gif b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerFlipping.gif
new file mode 100644
index 000000000..188604aa2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerFlipping.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerScrolling.gif b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerScrolling.gif
new file mode 100644
index 000000000..ab76c9acb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/SinglePageViewerScrolling.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarDisabled.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarDisabled.png
new file mode 100644
index 000000000..aabef794b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarDisabled.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarEnabled.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarEnabled.png
new file mode 100644
index 000000000..8e4bb59fa
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/ToolbarEnabled.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Annotation Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Annotation Toolbar.png
new file mode 100644
index 000000000..ff679e729
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Annotation Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Arrow Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Arrow Toolbar.png
new file mode 100644
index 000000000..671eb133a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Arrow Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Bottom Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Bottom Toolbar.png
new file mode 100644
index 000000000..46d139a3c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Bottom Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Color Picker.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Color Picker.png
new file mode 100644
index 000000000..e1fafb32c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Color Picker.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ellipse Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ellipse Toolbar.png
new file mode 100644
index 000000000..325a90f8c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ellipse Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Flipview Mode.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Flipview Mode.png
new file mode 100644
index 000000000..6ca5ed27f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Flipview Mode.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Free Text Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Free Text Toolbar.png
new file mode 100644
index 000000000..55f920dd9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Free Text Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Highlight Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Highlight Toolbar.png
new file mode 100644
index 000000000..1c545ae95
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Highlight Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ink Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ink Toolbar.png
new file mode 100644
index 000000000..94069808b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Ink Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Line Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Line Toolbar.png
new file mode 100644
index 000000000..590cc21ad
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Line Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/More Options Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/More Options Toolbar.png
new file mode 100644
index 000000000..c87bbf18f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/More Options Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Rectangle Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Rectangle Toolbar.png
new file mode 100644
index 000000000..6abf77085
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Rectangle Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Search Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Search Toolbar.png
new file mode 100644
index 000000000..dd3e35d5b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Search Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Shapes Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Shapes Toolbar.png
new file mode 100644
index 000000000..fa51ff97b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Shapes Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Signature Pad.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Signature Pad.png
new file mode 100644
index 000000000..4e816cecf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Signature Pad.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Strikethrough Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Strikethrough Toolbar.png
new file mode 100644
index 000000000..dd9f56835
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Strikethrough Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Text Markups Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Text Markups Toolbar.png
new file mode 100644
index 000000000..2dbe2813c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Text Markups Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Thickness Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Thickness Toolbar.png
new file mode 100644
index 000000000..87ff4b62d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Thickness Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Top Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Top Toolbar.png
new file mode 100644
index 000000000..4e1db3180
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Top Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Underline Toolbar.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Underline Toolbar.png
new file mode 100644
index 000000000..051f2fedd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Underline Toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Undo Redo Ink.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Undo Redo Ink.png
new file mode 100644
index 000000000..6e3622a38
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/automation-id/Undo Redo Ink.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/pdfviewer.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/pdfviewer.png
new file mode 100644
index 000000000..8e4bb59fa
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/print.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/print.png
new file mode 100644
index 000000000..c6f93ef27
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textsearch.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textsearch.png
new file mode 100644
index 000000000..c9515a21d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textsearch.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textselection.png b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textselection.png
new file mode 100644
index 000000000..4c6160435
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer/xamarin/pdfviewer_images/textselection.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/accessibility.md b/Document-Processing/PDF/PDF-Viewer2/blazor/accessibility.md
new file mode 100644
index 000000000..a66ee5f18
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/accessibility.md
@@ -0,0 +1,104 @@
+---
+layout: post
+title: Keyboard accessibility in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about Keyboard accessibility in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer component
+
+The Blazor SfPdfViewer component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility.
+
+The accessibility compliance for the Blazor SfPdfViewer component is outlined below.
+
+| Accessibility Criteria | Compatibility |
+| -- | -- |
+| [WCAG 2.2 Support](../common/accessibility#accessibility-standards) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Section 508 Support](../common/accessibility#accessibility-standards) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Screen Reader Support](../common/accessibility#screen-reader-support) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Right-To-Left Support](../common/accessibility#right-to-left-support) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Color Contrast](../common/accessibility#color-contrast) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Mobile Device Support](../common/accessibility#mobile-device-support) | <img src="https://cdn.syncfusion.com/content/images/documentation/partial.png" alt="Intermediate"> |
+| [Keyboard Navigation Support](../common/accessibility#keyboard-navigation-support) |<img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+| [Axe-core Accessibility Validation](../common/accessibility#ensuring-accessibility) | <img src="https://cdn.syncfusion.com/content/images/landing-page/yes.png" alt="Yes"> |
+
+<style>
+    .post .post-content img {
+        display: inline-block;
+        margin: 0.5em 0;
+    }
+</style>
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/full.png" alt="Yes"> - All features of the component meet the requirement.</div>
+
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/partial.png" alt="Intermediate"> - Some features of the component do not meet the requirement.</div>
+
+<div><img src="https://cdn.syncfusion.com/content/images/documentation/not-supported.png" alt="No"> - The component does not meet the requirement.</div>
+
+## WAI-ARIA attributes
+
+[WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with Ajax, HTML, JavaScript,and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. The following ARIA attributes are used in the Blazor SfPdfViewer component:
+
+| Attributes | Purpose |
+| --- | --- |
+| `aria-disabled`| Indicates whether the Blazor SfPdfViewer component is in a disabled state or not.|
+| `aria-expanded`| Indicates whether the suggestion list has expanded or not. |
+| `aria-readonly` | Indicates the readonly state of the Blazor SfPdfViewer element. |
+| `aria-haspopup` | Indicates whether the Blazor SfPdfViewer input element has a suggestion list or not. |
+| `aria-label` | Indicates the breadcrumb item text. |
+| `aria-labelledby` | Provides a label for the SfPdfViewer. Typically, the "aria-labelledby" attribute will contain the id of the element used as the Blazor SfPdfViewer's title. |
+| `aria-describedby` | This attribute points to the Blazor SfPdfViewer element describing the one it's set on. |
+| `aria-orientation` | Indicates whether the Blazor SfPdfViewer element is oriented horizontally or vertically. |
+| `aria-valuetext` | Returns the current text of the SfPdfViewer. |
+| `aria-valuemax` | Indicates the Maximum value of the SfPdfViewer. |
+| `aria-valuemin` | Indicates the Minimum value of the SfPdfViewer. |
+| `aria-valuenow` | Indicates the current value of the SfPdfViewer. |
+| `aria-controls` | Attribute is set to the button and it points to the corresponding content. |
+
+## Keyboard interaction
+
+The Blazor SfPdfViewer component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Message component.
+
+| Windows | Mac | Actions |
+| --- | --- | --- |
+|||**Shortcuts for page navigation**|
+| <kbd>Ctrl</kbd> + <kbd>←</kbd> / <kbd>Ctrl</</kbd> + <kbd>↑</kbd> | <kbd>⌘</kbd> + <kbd>←</kbd> or <kbd>⌘</kbd> + <kbd>↑</kbd> |Navigate to the first page |
+| <kbd>Ctrl</kbd> + <kbd>→</kbd> / <kbd>Ctrl</</kbd> + <kbd>↓</kbd> | <kbd>⌘</kbd> + <kbd>→</kbd> or <kbd>⌘</kbd> + <kbd>↓</kbd> |Navigate to the last page |
+| <kbd>←</kbd> | <kbd>←</kbd> / <kbd>⇧</kbd> + <kbd>Space</kbd> |Navigate to the previous page |
+| <kbd>→</kbd> | <kbd>→</kbd> / <kbd>Space</kbd> | Navigate to the next page |
+| <kbd>Ctrl</kbd> + <kbd>G</kbd> | <kbd>⌘</kbd> + <kbd>G</kbd> | Go To The Page|
+|<kbd>↑</kbd> |<kbd>↑</kbd> |Scroll up|
+| <kbd>↓</kbd> | <kbd>↓</kbd> | Scroll down|
+|||**Shortcuts for Zooming**|
+|<kbd>Ctrl</kbd> + <kbd>=</kbd> |<kbd>⌘</kbd> + <kbd>=</kbd> | Perform zoom-in operation |
+| <kbd>Ctrl</kbd> + <kbd>-</kbd> | <kbd>⌘</kbd> + <kbd>-</kbd> | Perform zoom-out operation |
+|<kbd>Ctrl</kbd> + <kbd>0</kbd> | <kbd>⌘</kbd> + <kbd>0</kbd> | Retain the zoom level to 1 |
+|||**Shortcut for Text Search**|
+| <kbd>Ctrl</kbd> + <kbd>F</kbd> | <kbd>⌘</kbd> + <kbd>F</kbd> | Open the search toolbar|
+|||**Shortcut for Text Selection**|
+|<kbd>Ctrl</kbd> + <kbd>C</kbd> | <kbd>⌘</kbd> + <kbd>C</kbd> | Copy the selected text or annotation |
+| <kbd>Ctrl</kbd> + <kbd>X</kbd> | <kbd>⌘</kbd> + <kbd>X</kbd> |Cut the selected text or annotation |
+|<kbd>Ctrl</kbd> + <kbd>V</kbd> | <kbd>⌘</kbd> + <kbd>V</kbd> |Paste the selected text or annotation |
+|||**Shortcuts for the general operation**|
+| <kbd>Ctrl</kbd> + <kbd>Z</kbd> | <kbd>⌘</kbd> + <kbd>Z</kbd> |Undo the action|
+|<kbd>Ctrl</kbd> + <kbd>Y</kbd> | <kbd>⌘</kbd> + <kbd>Y</kbd> |Redo the action|
+| <kbd>Ctrl</kbd> + <kbd>P</kbd> | <kbd>⌘</kbd> + <kbd>P</kbd> |Print the document|
+| <kbd>Delete</kbd> | <kbd>Delete</kbd> |Delete the annotations|
+| <kbd>Ctrl</kbd>  + <kbd>Shift</kbd> + <kbd>A</kbd> | <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>A</kbd> |Toggle Annotation Toolbar|
+| <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>0</kbd> | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>0</kbd> |Show Command panel|
+| <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>2</kbd> | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>2</kbd> |Show Bookmarks|
+|<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>1</kbd> | <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>1</kbd> |Show Thumbnails|
+| <kbd>Ctrl</kbd> + <kbd>S</kbd> | <kbd>⌘</kbd> + <kbd>S</kbd> |Download|
+| <kbd>Shift</kbd> + <kbd>H</kbd> | <kbd>⇧</kbd> + <kbd>H</kbd> |Enable pan mode |
+| <kbd>Shift</kbd> + <kbd>V</kbd> |<kbd>⇧</kbd> + <kbd>V</kbd> |Enable text selection mode|
+
+## Ensuring accessibility
+
+The Blazor SfPdfViewer component's accessibility levels are ensured through an [axe-core](https://www.nuget.org/packages/Deque.AxeCore.Playwright) with playwright tests.
+
+The accessibility compliance of the Blazor SfPdfViewer component is shown in the following sample. Open the [sample](https://blazor.syncfusion.com/accessibility/pdfviewer) in a new window to evaluate the accessibility of the Blazor SfPdfViewer component with accessibility tools.
+
+## See also
+
+* [Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components](https://blazor.syncfusion.com/documentation/common/accessibility)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/annotations-in-mobile-view.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/annotations-in-mobile-view.md
new file mode 100644
index 000000000..f5227e061
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/annotations-in-mobile-view.md
@@ -0,0 +1,134 @@
+---
+layout: post
+title: Annotations in Mobile View using SfPdfViewer Component | Syncfusion
+description: Checkout and learn everything about annotations in the mobile view using the Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# To open the annotation toolbar
+
+To Open the annotation toolbar, click on the **Edit Annotation** option in the mobile primary toolbar. The mobile annotation toolbar will open at bottom of the viewer.
+
+![Mobile Annotation Toolbar in Blazor SfPdfViewer](../images/open-annotation-toolbar.gif)
+
+## To add sticky notes annotation
+
+Click the **Sticky Note Annotation** icon and then click anywhere in the viewer to add the sticky notes. 
+
+![Click Sticky Note icon in Blazor SfPdfViewer](../images/click-stickynote-annotation.png)
+
+This action will open the comment panel, allowing you to add the required comment for the added sticky notes.
+
+![Sticky Note Annotation added in Blazor SfPdfViewer](../images/sticky-note-added.png)
+
+## To add text markup annotation
+
+Long-press to select any text in the PDF, then click on any **Text Markup Annotation** in the annotation toolbar. 
+
+![Select Text in Blazor SfPdfViewer](../images/select-text-for-text-markup.png)
+
+This action will display the required properties for this annotation in the toolbar.
+
+![Select Text in Blazor SfPdfViewer](../images/text-markup-added-for-selected-text.png)
+
+## To add shape annotation
+
+Click the **Shape Annotation** icon in the toolbar. It will display the supported shape annotations.
+
+![Click Shape Icon in Blazor SfPdfViewer](../images/click-shape-icon.png)
+
+Choose any annotation type from the list, then click and drag anywhere in the viewer to add the annotation. 
+
+![Select Particular Shape in Blazor SfPdfViewer](../images/select-required-shape.png)
+
+The toolbar will also switch to display the properties that is required for the added annotation.
+
+![Draw Shape in Blazor SfPdfViewer](../images/add-selected-shape-annotation.png)
+
+## To add measure annotation
+
+Click the **Measure Annotation** icon in the toolbar. It will display the supported measure annotations.
+
+![Click Measure Icon in Blazor SfPdfViewer](../images/click-measure-icon.png)
+
+Choose any annotation type from the list, then click and drag anywhere in the viewer to add the annotation.
+
+![Select Particular Measure in Blazor SfPdfViewer](../images/select-required-measure.png)
+
+The toolbar will also switch to display the properties that is required for the added annotation.
+
+![Draw Measure in Blazor SfPdfViewer](../images/add-selected-measure-annotation.png)
+
+## To add free text annotation
+
+Click the **Free Text Annotation** icon in the toolbar. Which will display the properties that is required for free text.
+
+![Click Free Text Icon in Blazor SfPdfViewer](../images/click-free-text-annotation.png)
+
+Click anyWhere in the viewer to add the free text annotation.
+
+![Add Free Text in Blazor SfPdfViewer](../images/add-free-text-viewer.png)
+
+## To add stamp annotation
+
+Click on the **Stamp Annotation** icon and choose the desired stamp from the various types listed in the menu. 
+
+![Click Stamp Icon in Blazor SfPdfViewer](../images/open-list-of-stamp.png)
+
+Afterward, click anywhere in the viewer to add the stamp. The toolbar will then switch to display the properties required for the stamp annotation.
+
+![Select Required Stamp in Blazor SfPdfViewer](../images/add-selected-stamp.png)
+
+## To add signature
+
+Click the **Handwritten Signature** icon to open the signature dialog box. 
+
+![Click Signature Icon in Blazor SfPdfViewer](../images/open-signature-dialog.png)
+
+Draw your signature in the signature dialog canvas, then click the ‘Create’ button to add the signature into the viewer. 
+
+![Draw Signature in Blazor SfPdfViewer](../images/draw-signature-in-dialog.png)
+
+Click anywhere in the viewer to place the signature. The toolbar will then switch to display the properties required for the signature.
+
+![Add Signature in Blazor SfPdfViewer](../images/add-signature-to-viewer.png)
+
+## To add ink annotation
+
+Click the **Ink Annotation** icon and draw anywhere in the viewer.
+
+![Click ink in Blazor SfPdfViewer](../images/click-ink-annotation.png)
+
+Once you’ve finished drawing, click the ink annotation displayed in the toolbar to stop the ink annotation drawing. The toolbar will then switch to display the properties required for the ink annotation.
+
+![Complete Ink Annotation in Blazor SfPdfViewer](../images/complete-ink-annotation.png)
+
+## Change annotation properties (Before adding)
+
+You can modify annotations properties before adding them. Click the rectangle shape annotation, which will display the toolbar with corresponding properties. You can be able to adjust these properties and then add the annotation by clicking and dragging it. The annotation will be added with the modified property.
+
+![Property Change Before Adding in Blazor SfPdfViewer](../images/property-change-before-adding.gif)
+
+## Change annotation properties (After adding)
+
+After adding the annotation, you can modify its properties. Select the added annotation, and it will display the corresponding properties. Change the necessary property, and it will reflect in the added annotation.
+
+![Property Change After Adding in Blazor SfPdfViewer](../images/property-change-after-adding.gif)
+
+## Delete Annotation
+
+To delete an annotation, first, select the annotation you want to remove. The delete icon will appear in the property toolbar. Clicking on the delete icon will remove the annotation from the PDF along with its associated comment.
+
+![Delete Selected Annotation in Blazor SfPdfViewer](../images/delete-selected-annotation.png)
+
+## Open and Close Comment Panel
+
+You can open the comments through the **more option** located at the right end of the mobile primary toolbar.
+
+![Select CommentPanel in Blazor SfPdfViewer](../images/select-comment-panel-icon.png)
+
+To close the comment panel, click the close icon located within the comment panel.
+
+![Open CommentPanel in Blazor SfPdfViewer](../images/open-cooment-panel.png)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/comments.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/comments.md
new file mode 100644
index 000000000..22b682aef
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/comments.md
@@ -0,0 +1,393 @@
+---
+layout: post
+title: Comments in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about comments in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Comments in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents:
+
+* Shape annotation
+* Stamp annotation
+* Sticky note annotation
+* Measurement annotation
+* Text markup annotation
+* Free text annotation
+
+![Comments in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-comments.png)
+
+## Adding a comment to the annotation
+
+Annotation comment, comment replies, and status can be added to the PDF document using the comment panel.
+
+### Comment panel
+
+Annotation comments can be added to the PDF using the comment panel. Comment panel can be opened by the following ways:
+
+1. Using the annotation menu.
+
+    * Click the Edit Annotation button in the SfPdfViewer toolbar. A toolbar appears below it.
+    * Click the Comment Panel button. A comment panel will appear.
+
+2. Using Context menu.
+
+    * Select annotation in the PDF document and right-click it.
+    * Select comment option in the context menu that appears.
+
+3. Using Mouse click.
+
+    * Select annotation in the PDF document and double click it, a comment panel will appear.
+
+If the comment panel is already in open state, you can select the annotations and add annotation comment using comment panel.
+
+### Adding comments
+
+* Select annotation in the PDF document and click it.
+* Selected annotation comment container is highlighted in the comment panel.
+* Now, you can add comment and comment replies using comment panel.
+
+![Adding Comments in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-add-new-comment.png)
+
+### Adding Comment Replies
+
+* SfPdfViewer control provides an option to add multiple replies to the comment.
+* After adding the annotation comment, you can add reply to the comment.
+
+### Adding Comment or Reply Status
+
+* Select the Annotation Comments in the comment panel.
+* Click the more options button showing in Comments or reply container.
+* Select Set Status option in the context menu that appears.
+* Select the status of the annotation comment in the context menu that appears.
+
+![Blazor PDFViewer with Comment Status](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-comment-status.png)
+
+### Editing the comments and comments replies of the annotations
+
+The comment, comment replies, and status of the annotation can be edited using the comment panel.
+
+### Editing Comment or Comment Replies
+
+The annotation comment and comment replies can be edited by the following ways:
+
+1. Using Context menu.
+
+    * Select the Annotation Comments in comment panel.
+    * Click the More option button showing in Comments or reply container.
+    * Select Edit option in the context menu that appears.
+    * Now, editable text box appears. You can change the content of the annotation comment or comment reply.
+
+2. Using Mouse Click.
+
+    * Select the annotation comments in comment panel.
+    * Double click the comment or comment reply content.
+    * Now, editable text box appears. You can change the content of the annotation comment or comment reply.
+
+### Editing Comment or Reply Status
+
+* Select the Annotation Comments in comment panel.
+* Click the more options button showing in Comments or reply container.
+* Select Set Status option in the context menu that appears.
+* Select the status of the annotation comment in the context menu that appears.
+* Status ‘None’ is the default state. If status set to ‘None’, the comments or reply does not appear.
+
+![Editing Comment in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-comment-editing.png)
+
+### Delete Comment or Comment Replies
+
+* Select the Annotation Comments in comment panel.
+* Click the more options button shown in Comments or reply container.
+* Select Delete option in the context menu that appears.
+
+![Deleting Comment in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-delete-comments.png)
+
+N> The annotation will be deleted on deleting the comment using comment panel.
+
+### Show or hide the Comment panel
+
+The SfPdfViewer control provides an option to show or hide the Comment panel by using the `CommentPanelVisible` property of the SfPdfViewerServer class.
+
+The following code snippet explains how to show the Comment panel.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@OnClick">ShowOrHideCommentPanel</SfButton>
+<SfPdfViewer2 @ref="Viewer"
+              @bind-CommentPanelVisible="@isOpen"
+              DocumentPath=@DocumentPath
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code
+{
+    SfPdfViewer2 Viewer;
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    private bool isOpen = true;
+    //Method to update the visibility of the comment panel.
+
+    public void OnClick()
+    {
+        if(isOpen)
+        {
+            isOpen = false;
+        }
+        else
+        {
+            isOpen = true;
+        }
+    }
+}
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Comment%20Panel/Show%20or%20hide%20comment%20panel).
+
+## Add Comments and Reply Comments Programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the line annotation with Comment and Reply Comment to the annotation within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can use this method to add Line annotation with Comment and Reply Comment to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddCommentandReplyCommentAsync">Add Comment & ReplyComment</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Comment_and_Reply_Comment.pdf";
+
+    public async void AddCommentandReplyCommentAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type of Line
+        annotation.Type = AnnotationType.Line;
+        // Set the PageNumber starts from 0. So, if set 0 it repersent the page 1.
+        annotation.PageNumber = 0;
+
+        // Vertex Points of the Line Annotation
+        List<VertexPoint> vertexPoints = new List<VertexPoint>();
+        VertexPoint vertexPoint = new VertexPoint();
+        vertexPoint.X = 200;
+        vertexPoint.Y = 200;
+        vertexPoints.Add(vertexPoint);
+        vertexPoint = new VertexPoint();
+        vertexPoint.X = 300;
+        vertexPoint.Y = 200;
+        vertexPoints.Add(vertexPoint);
+        // Set the VertexPoints of Line annotation
+        annotation.VertexPoints = vertexPoints;
+
+        // Add Comment
+        annotation.Note = "Add Comment";
+
+        // Add Comment Status
+        annotation.Review = new Review();
+        annotation.Review.State = "Accepted";
+
+        // Add Comment Author name
+        annotation.Author = "Author1";
+
+        // Add Comment Modified Date
+        annotation.ModifiedDate = "1/1/2024 10:00:00 AM";
+
+        // Add Reply Comment
+        List<Comment> comments = new List<Comment>();
+        Comment comment = new Comment();
+
+        // Add First Reply Comment
+        comment.Note = "Reply Comment1";
+        // Add First Reply Comment Author name
+        comment.Author = "Author2";
+
+        // Add First Reply Comment Modified Date
+        comment.ModifiedDate = "1/1/2024 11:00:00 AM";
+
+        // Add First Reply Comment Status
+        comment.State = "Rejected";
+        comments.Add(comment);
+
+        comment = new Comment();
+        // Add Second Reply Comment
+        comment.Note = "Reply Comment2";
+
+        // Add Second Reply Comment Author name
+        comment.Author = "Author3";
+
+        // Add Second Reply Comment Modified Date
+        comment.ModifiedDate = "1/1/2024 12:00:00 PM";
+
+        // Add Second Reply Comment Status
+        comment.State = "Completed";
+        comments.Add(comment);
+
+        // Add Reply Comment
+        annotation.Comments = comments;
+
+        // Add Line annotation with Comments and Reply Comments
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a line annotation with comment and reply comment to the first page of the PDF document.
+
+![Programmatically Added Comment and Reply Comment in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-comment-reply-comment.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Comment/Add).
+
+## Edit Comments and Reply Comments Programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the Comment and Reply Comment of the annotation within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the Comment and Reply Comment of the annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditCommentandReplyCommentAsync">Edit Comment & ReplyComment</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Comment_and_Reply_Comment.pdf";
+
+    public async void EditCommentandReplyCommentAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Edit the Comment of Annotation
+        annotation.Note = "Updated Comment";
+        // Edit the Comment Status of Annotation
+        annotation.Review.State = "Cancelled";
+        // Edit the Comment Author of Annotation
+        annotation.Author = "Author";
+        // Edit the Comment ModifiedDate of Annotation
+        annotation.ModifiedDate = "2/1/2024 11:00:00 AM";
+        // Edit the Reply Comment of Annotation
+        annotation.Comments[0].Note = "Updated Reply Comment1";
+        // Edit the Reply Comment Status of Annotation
+        annotation.Comments[0].State = "Accepted";
+        // Edit the Reply Comment Author of Annotation
+        annotation.Comments[0].Author = "Author1";
+        // Edit the Reply Comment ModifiedDate of Annotation
+        annotation.Comments[0].ModifiedDate = "2/1/2024 12:00:00 PM";
+        // Delete or Remove Second Reply Comment
+        annotation.Comments.RemoveAt(1);
+        // Edit the Line Annotation Comments and Reply Comments
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+This code snippet will edit the comment and reply comment programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Comment and Reply Comment in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-comment-reply-comment.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Comment/Edit).
+
+## Customizing DateTime Format
+
+The PDF Viewer provides the support to customize the date and time format displayed in the comment panel using the [PdfViewerCommentPanelSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html). This feature allows you to tailor the appearance of date and time according to your preferences or regional standards.   
+
+The [DateTimeFormat](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerCommentPanelSettings_DateTimeFormat) API in [PdfViewerCommentPanelSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html) enables you to change the format of date and time displayed in the comment panel. 
+
+The following table describes various supported patterns
+
+| Format | Result |
+|---|---|
+| DateTime.Now.ToString("MM/dd/yyyy") | 05/29/2015 |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy") | Friday, 29 May 2015 |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm") | Friday, 29 May 2015 05:50 |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm tt") | Friday, 29 May 2015 05:50 AM |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy H:mm") | Friday, 29 May 2015 5:50 |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy H:mm tt") | Friday, 29 May 2015 5:50 AM |
+| DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss") | Friday, 29 May 2015 05:50:06 |
+| DateTime.Now.ToString("MM/dd/yyyy HH:mm") | 05/29/2015 05:50 |
+| DateTime.Now.ToString("MM/dd/yyyy hh:mm tt") | 05/29/2015 05:50 AM |
+| DateTime.Now.ToString("MM/dd/yyyy H:mm") | 05/29/2015 5:50 |
+| DateTime.Now.ToString("MM/dd/yyyy h:mm tt") | 05/29/2015 5:50 AM |
+| DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") | 05/29/2015 05:50:06 |
+| DateTime.Now.ToString("MMMM dd") | May 29 |
+| DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK") | 2015-05-16T05:50:06.7199222-04:00 |
+| DateTime.Now.ToString("ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’") | Fri, 16 May 2015 05:50:06 GMT |
+| DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss") | 2015-05-16T05:50:06 |
+| DateTime.Now.ToString("HH:mm") | 05:50 |
+| DateTime.Now.ToString("hh:mm tt") | 05:50 AM |
+| DateTime.Now.ToString("H:mm") | 5:50 |
+| DateTime.Now.ToString("h:mm tt") | 5:50 AM |
+| DateTime.Now.ToString("HH:mm:ss") | 05:50:06 |
+| DateTime.Now.ToString("yyyy MMMM") | 2015 May |
+
+Here is a sample code snippet demonstrating how to apply this setting 
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer; 
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Height="100%" Width="100%" EnableAnnotationToolbar="true" CommentPanelVisible="true"> 
+    <PdfViewerCommentPanelSettings DateTimeFormat=@dateFormat> </PdfViewerCommentPanelSettings>
+</SfPdfViewer2> 
+
+@code { 
+    // This is a valid C# datetime format 
+    private string dateFormat = "dd/MM/yyyy HH:mm:ss"; 
+    private string DocumentPath { get; set; } = "wwwroot/Annotation.pdf"; 
+} 
+
+```
+This code implements date and time formatting for the comment panel of the PDF viewer 
+
+![Customizing DateTime Format](../images/customizing_datetime_format.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Comment%20Panel/Customize%20DateTimeFormat).
+
+## Enabling Multiline Support 
+
+The multiline support feature in the comment panel enhances the functionality of the PDF Viewer by allowing users to input and display comments that span multiple lines. The PDF Viewer provides the support to enable multiline support in the comment panel using the [PdfViewerCommentPanelSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html). 
+
+The [Multiline](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerCommentPanelSettings_Multiline) API in [PdfViewerCommentPanelSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerCommentPanelSettings.html) is used to enable or disable multiline support in the comment panel.
+
+Here is a sample code snippet demonstrating how to apply this setting
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer; 
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Height="100%" Width="100%" EnableAnnotationToolbar="true" CommentPanelVisible="true"> 
+    <PdfViewerCommentPanelSettings Multiline=@multiline> </PdfViewerCommentPanelSettings> 
+</SfPdfViewer2> 
+
+@code {
+    // This variable stores the user's choice for enabling or disabling multiline support 
+    private bool multiline = true; 
+    private string DocumentPath { get; set; } = "wwwroot/Annotation.pdf";
+}
+
+```
+
+This code will enable multiline support in the Comment panel of the PDF Viewer
+
+![Enabling Multiline Support](../images/enabling_multiline_support.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Comment%20Panel/Enable%20Multiline%20Support).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/free-text-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/free-text-annotation.md
new file mode 100644
index 000000000..806f0a077
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/free-text-annotation.md
@@ -0,0 +1,354 @@
+---
+layout: post
+title: Free text annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about free text annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Free text annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the options to add, edit and delete the free text annotations.
+
+## Adding a free text annotation to the PDF document
+
+The free text annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it. 
+* Select the **Free Text Annotation** button in the annotation toolbar. It enables the Free Text Annotation mode.
+* You can add the text over the pages of the PDF document.
+
+In the pan mode, if the free text annotation mode is entered, the SfPdfViewer control will switch to text select mode.
+
+![Free Text Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-free-text-annotation.png)
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="OnClick">Free Text</SfButton>
+<SfPdfViewer2 @ref="viewer" DocumentPath=@DocumentPath Height="100%" Width="100%" ></SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await viewer.SetAnnotationModeAsync(AnnotationType.FreeText);
+    }
+}
+
+```
+
+## Editing the properties of free text annotation
+
+The font family, font size, font styles, font color, text alignment, fill color, the border stroke color, border thickness, and opacity of the free text annotation can be edited using the Font Family tool, Font Size tool, Font Color tool, Text Align tool, Font Style tool  Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
+
+### Editing font family
+
+The font family of the annotation can be edited by selecting the desired font in the Font Family tool.
+
+![Editing Font Family of Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-family.png)
+
+### Editing font size
+
+The font size of the annotation can be edited by selecting the desired size in the Font Size tool.
+
+![Editing Font Size of Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-size.png)
+
+### Editing font color
+
+The font color of the annotation can be edited using the color palette provided in the Font Color tool.
+
+![Editing Font Color of Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/fontcolor.png)
+
+### Editing the text alignment
+
+The text in the annotation can be aligned by selecting the desired styles in the dropdown pop-up in the Text Align tool.
+
+![Editing Free Text Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-text-alignment.png)
+
+### Editing text styles
+
+The style of the text in the annotation can be edited by selecting the desired styles in the dropdown pop-up in the Font Style tool.
+
+![Editing Font Style in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-font-style.png)
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Fill Color in Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-text-fill-color.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Stroke Color of Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-font-stroke.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![Editing Font Border Thickness of Blazor SfPdfViewer Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-font-border-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Font Opacity in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-font-opacity.png)
+
+## Setting default properties during control initialization
+
+The properties of the free text annotation can be set before creating the control using FreeTextSettings.
+
+After editing the default values, they will be changed to the selected values.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="viewer" DocumentPath=@DocumentPath Height="100%" Width="100%" 
+FreeTextSettings=@FreeTextSettings></SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    
+    PdfViewerFreeTextSettings FreeTextSettings = new PdfViewerFreeTextSettings 
+    { 
+        FillColor = "green", 
+        BorderColor = "blue", 
+        FontColor = "yellow" 
+    };
+}
+
+```
+
+## Add free text annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the free text annotation within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can use this method to add free text annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddFreeTextAnnotationAsync">Add FreeText Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Free_Text_Annotation.pdf";
+
+    public async void AddFreeTextAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type of free text
+        annotation.Type = AnnotationType.FreeText;
+        // Set the PageNumber starts from 0. So, if set 0 it repersent the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the free text annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 150;
+        annotation.Bound.Height = 30;
+        // Add free text annotation
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a free text annotation to the first page of the PDF document.
+
+![Programmatically Added Free Text Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-freetext-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Free%20Text/Add).
+
+## Edit free text annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the free text annotation within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the free text annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditFreeTextAnnotationAsync">Edit FreeText Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Free_Text_Annotation.pdf";
+
+    public async void EditFreeTextAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the position of the free text annotation
+        annotation.Bound.X = 125;
+        annotation.Bound.Y = 125;
+        // Change the width and height of the free text annotation
+        annotation.Bound.Width = 250;
+        annotation.Bound.Height = 40;
+        // Change the font style of free text annotation like bold, italic, underline strikethrough
+        annotation.FontStyle = FontStyle.Bold | FontStyle.Italic;
+        // Change the font size of free text annotation
+        annotation.FontSize = 20;
+        // Change the font color of free text annotation
+        annotation.FontColor = "#00008B";
+        // Change the font family of free text annotation
+        annotation.FontFamily = "Symbol";
+        // Change the border width of free text annotation
+        annotation.BorderWidth = 3;
+        // Change the border color of free text annotation
+        annotation.BorderColor = "#000000";
+        // Change the text of free text annotation
+        annotation.DynamicText = "Modified Free Text";
+        // Change the text align of free text annotation
+        annotation.TextAlignment = TextAlignment.Center;
+        // Change the fill color of free text annotation
+        annotation.FillColor = "#FFFF00";
+        // Change the Opacity (0 to 1) of free text annotation
+        annotation.Opacity = 0.5;
+        // Edit the free text annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the free text annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Free Text Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-freetext-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Free%20Text/Edit).
+
+## Custom Font Support for FreeText Annotation
+
+The Blazor SfPdfViewer allows you to load, edit, and save custom fonts in FreeText annotations using the [FallbackFontCollection](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_FallbackFontCollection) and [FontFamilies](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_FontFamilies) properties
+
+### Loading Custom Font Collection in SfPdfViewer
+If the custom font is not installed on the system, the FallbackFontCollection property is required to save the FreeText annotation with the custom font.
+
+The following example demonstrates how to load custom font collections, such as Arial Black and Courier New, as TTF files in SfPdfViewer.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 @ref="pdfViewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents Created="@Created"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2? pdfViewer;
+    private string DocumentPath { get; set; } = "wwwroot/PDF/Arial Black.pdf";
+
+    public void Created()
+    {
+        // Use FallbackFontCollection to save the custom font
+        // Maps the font family name to its corresponding TTF file as a memory stream  
+        pdfViewer.FallbackFontCollection.Add("Arial", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/ARIAL.ttf")));
+        pdfViewer.FallbackFontCollection.Add("Arial Black", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/ARIBLK.ttf")));
+        pdfViewer.FallbackFontCollection.Add("Courier New", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/COUR.ttf")));
+    }
+}
+```
+### Adding Custom Font Families to the Annotation Toolbar Dropdown
+The FontFamilies property is used to add custom font families to the Font Family dropdown in the annotation toolbar.
+
+The following example demonstrates how to add custom font families as a string array to the Font Family dropdown in the annotation toolbar:
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 @ref="pdfViewer" Height="100%" Width="100%" DocumentPath="@DocumentPath" FontFamilies="@FontFamilies">
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2? pdfViewer;
+    
+    // Use the FontFamilies property to add custom font families to the Font Family dropdown in the annotation toolbar
+    internal string[] FontFamilies { get; set; } = { "Helvetica", "Courier", "Symbol", "Times New Roman", "Arial Black", "Courier New", "Arial" };
+    private string DocumentPath { get; set; } = "wwwroot/PDF/Arial Black.pdf";
+}
+```
+
+![FontFamilies Property in Blazor SfPdfViewer](../images/FontFamilies_API_SfPdfViewer.png)
+
+
+The following example demonstrates how to load, edit, and save custom fonts in FreeText annotations
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 @ref="pdfViewer" Height="100%" Width="100%" DocumentPath="@DocumentPath" FontFamilies="@FontFamilies">
+    <PdfViewerEvents Created="@Created"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2? pdfViewer;
+
+    // Use the FontFamilies property to add custom font families to the annotation toolbar dropdown
+    internal string[] FontFamilies { get; set; } = { "Helvetica", "Courier", "Symbol", "Times New Roman", "Arial Black", "Courier New", "Arial" };
+
+    private string DocumentPath { get; set; } = "wwwroot/PDF/Arial Black.pdf";
+
+    public void Created()
+    {
+        // Use FallbackFontCollection to save the custom font
+        // Maps the font family name to its corresponding TTF file as a memory stream  
+        pdfViewer.FallbackFontCollection.Add("Arial", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/ARIAL.ttf")));
+        pdfViewer.FallbackFontCollection.Add("Arial Black", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/ARIBLK.ttf")));
+        pdfViewer.FallbackFontCollection.Add("Courier New", new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/Fonts/COUR.ttf")));
+    }
+}
+```
+
+![Custom Font Support for FreeText annotation in Blazor SfPdfViewer](../images/customFont_support_freeText.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/FreeText/Custom%20Font%20Support%20For%20FreeText%20Annotation).
+
+To ensure proper and seamless execution when using Google API fonts in the PDF Viewer component, it's essential to load these fonts into the sample application as well. This is particularly important because FreeText annotations are rendered directly onto the canvas, making it mandatory to have the fonts available in the sample for accurate rendering.
+
+The following example illustrates how to load custom fonts in FreeText annotations using fonts from Google Fonts or other external sources.
+
+```cshtml
+<script>
+    window.addEventListener('DOMContentLoaded', () => {
+        var fontFamily = ["Allura, Tangerine, Sacramento, Inspiration"];
+        for (var fontIndex=0; fontIndex<fontFamily.length; fontIndex++)
+        {
+            document.fonts.load(`16px ${fontFamily[fontIndex]}`).then(() => {
+                console.log(`Font "${fontFamily[fontIndex]}" loaded successfully.`);
+            }).catch(err => {
+                console.error(`Failed to load font "${font}":`, err);
+            });
+        }
+    });
+</script>
+```
+
+>**Note:** If external fonts are not properly loaded in the environment, it may lead to slight inconsistencies when importing and rendering free text annotations using those custom fonts. This issue typically occurs only with fonts that are referenced externally, such as those loaded from web-based sources.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/FreeText/Load%20Custom%20Font%20From%20External%20Links).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
+* [How to Load the Font Collection in SfPdfViewer](../how-to/load-font-collection)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/import-export-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/import-export-annotation.md
new file mode 100644
index 000000000..2e337c3a6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/import-export-annotation.md
@@ -0,0 +1,115 @@
+---
+layout: post
+title: Import and Export annotations in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about import and export annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Import and Export annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the support to import and export annotations using JSON object in the PDF document.
+
+* Click the Add or Edit annotation button in the SfPdfViewer toolbar.
+
+![Blazor SfPdfViewer with Edit Button](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-button.png)
+
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+
+![Blazor SfPdfViewer with Comment Panel](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-sticknotes-comment.png)
+
+* The comments panel will be displayed.
+* Click the **More Option** button in the comment panel container.
+
+![Displaying More Option in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-show-more-option.png)
+
+## Importing annotation to the PDF document
+
+* Click the Add or Edit annotation button in the SfPdfViewer toolbar.
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+* The comments panel will displayed.
+* Click the **More Option** button in the comment panel container.
+* Select the Import Annotations Option.
+
+![Importing Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-import-annotation.png)
+
+* Then the file explorer dialog will be opened. Choose the JSON file to be imported into the loaded PDF document.
+
+![Blazor PDFViewer with Imported Annotation](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-imported-annotation.png)
+
+## Importing annotation using SfPdfViewer API
+
+You can import annotations using JSON file or JSON object in code behind like the following code snippet.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@OnImportAnnotationsClick">Import Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnImportAnnotationsClick(MouseEventArgs args)
+    {
+        //The json file has been placed inside the data folder.
+        byte[] bytes = System.IO.File.ReadAllBytes("wwwroot/Data/PDF_Succinctly.json");
+        await Viewer.ImportAnnotationAsync(new MemoryStream(bytes));
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20object).
+
+N>The JSON file for importing the annotation should be placed in the desired location and the path has to be provided correctly.
+
+## Exporting annotation from the PDF document
+
+The SfPdfViewer control provides the support to export the annotations as JSON file and JSON object using annotation toolbar.
+
+* Click the Add or Edit annotation button in the SfPdfViewer toolbar.
+* The annotation toolbar will appear.
+* Click the Comment Panel button in the annotation toolbar.
+* The comments panel will be displayed.
+* Click the **More Option** button in the comment panel container.
+* Select the Export Annotations Option.
+
+![Exporting Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-export-annotation.png)
+
+N>Export annotations will be in the disabled state when the loaded PDF document does not contain any annotations.
+
+## Exporting annotation using SfPdfViewer API
+
+You can export annotations as JSON file in code behind like the following code snippet.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@OnExportAnnotationsClick">Export Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void OnExportAnnotationsClick(MouseEventArgs args)
+    {
+        await Viewer.ExportAnnotationAsync();
+    }
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20stream%20and%20file).
+
+## See also
+
+* [How to import annotations as objects](../how-to/import-annotations-as-objects)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/ink-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/ink-annotation.md
new file mode 100644
index 000000000..31cd650da
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/ink-annotation.md
@@ -0,0 +1,194 @@
+---
+layout: post
+title: Ink Annotation in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about free Ink annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Ink Annotation in the Blazor SfPdfViewer component
+
+The SfPdfViewer control provides the options to add, edit, and delete the ink annotations.
+
+![InkAnnotation](../../../PDF-Viewer/blazor/images/ink_annotation.png)
+
+## Adding an ink annotation to the PDF document
+
+The ink annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **Draw Ink** button in the annotation toolbar. It enables the ink annotation mode.
+* You can draw anything over the pages of the PDF document.
+
+![InkTool](../../../PDF-Viewer/blazor/images/ink_tool.png)
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="OnClick">Ink Annotation</SfButton>
+<SfPdfViewer2 @ref="viewer" DocumentPath=@DocumentPath Height="100%" Width="100%" ></SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await viewer.SetAnnotationModeAsync(AnnotationType.Ink);
+    }
+}
+```
+
+## Editing the properties of the ink annotation
+
+The stroke color, thickness, and opacity of the ink annotation can be edited using the Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar.
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![InkStrokeColor](../../../PDF-Viewer/blazor/images/ink_strokecolor.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![InkThickness](../../../PDF-Viewer/blazor/images/ink_thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![InkOpacity](../../../PDF-Viewer/blazor/images/ink_opacity.png)
+
+## Setting default properties during the control initialization
+
+The properties of the ink annotation can be set before creating the control using the InkAnnotationSettings.
+
+After editing the default values, they will be changed to the selected values.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="viewer"
+              DocumentPath=@DocumentPath
+              Height="100%"
+              Width="100%"
+              InkAnnotationSettings="@InkAnnotationSettings">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    PdfViewerInkAnnotationSettings InkAnnotationSettings = new PdfViewerInkAnnotationSettings 
+    { 
+        Author = "Syncfusion", 
+        StrokeColor = "green", 
+        Thickness = 3, 
+        Opacity = 0.6 
+    };
+}
+
+```
+
+## Add ink annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the ink annotation within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can use this method to add ink annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddInkAnnotationAsync">Add Ink Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Ink_Annotation.pdf";
+
+    public async void AddInkAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type of Ink
+        annotation.Type = AnnotationType.Ink;
+        // Set the PageNumber starts from 0. So, if set 0 it repersent the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the Ink annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 150;
+        annotation.Bound.Height = 100;
+        // Ink annotation path data;
+        annotation.Data = "[{\"command\":\"M\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":244.83334350585938,\"y\":982.0000305175781},{\"command\":\"L\",\"x\":250.83334350585938,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":257.5,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":926.6667175292969},{\"command\":\"L\",\"x\":259.5,\"y\":924.0000305175781},{\"command\":\"L\",\"x\":259.5,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":258.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":258.16668701171875,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.8333435058594,\"y\":922.0000305175781},{\"command\":\"L\",\"x\":256.16668701171875,\"y\":922.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":254.16668701171875,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":253.5,\"y\":923.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":925.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":927.3333435058594},{\"command\":\"L\",\"x\":252.83334350585938,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":253.5,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":254.83334350585938,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":260.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":264.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":274.16668701171875,\"y\":958.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":281.5,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":285.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":967.3333435058594},{\"command\":\"L\",\"x\":286.8333740234375,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":282.8333740234375,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":278.16668701171875,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":266.16668701171875,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":259.5,\"y\":993.3333435058594},{\"command\":\"L\",\"x\":252.16668701171875,\"y\":994.0000305175781},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":991.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":228.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":228.83334350585938,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":230.16668701171875,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":236.16668701171875,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":240.83334350585938,\"y\":971.3333435058594},{\"command\":\"L\",\"x\":246.16668701171875,\"y\":972.0000305175781},{\"command\":\"L\",\"x\":257.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":262.8333435058594,\"y\":976.0000305175781},{\"command\":\"L\",\"x\":269.5,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":276.16668701171875,\"y\":978.6667175292969},{\"command\":\"L\",\"x\":279.5,\"y\":978.0000305175781},{\"command\":\"L\",\"x\":285.5,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":288.16668701171875,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":293.5,\"y\":966.6667175292969},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":293.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":291.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":291.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":292.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":292.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":294.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":295.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":297.5,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":298.8333740234375,\"y\":970.6667175292969},{\"command\":\"L\",\"x\":301.5,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":304.16668701171875,\"y\":968.6667175292969},{\"command\":\"L\",\"x\":305.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":308.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":310.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":310.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":311.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":312.8333740234375,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":968.0000305175781},{\"command\":\"L\",\"x\":317.5,\"y\":972.6667175292969},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":983.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":986.0000305175781},{\"command\":\"L\",\"x\":319.5,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.8333740234375,\"y\":988.0000305175781},{\"command\":\"L\",\"x\":318.16668701171875,\"y\":988.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":987.3333435058594},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":985.3333435058594},{\"command\":\"L\",\"x\":314.16668701171875,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":314.8333740234375,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":316.16668701171875,\"y\":969.3333435058594},{\"command\":\"L\",\"x\":319.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":320.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":321.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":322.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":322.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":324.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":326.8333740234375,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":328.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":328.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":329.5,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.6667175292969},{\"command\":\"L\",\"x\":330.16668701171875,\"y\":962.0000305175781},{\"command\":\"L\",\"x\":330.8333740234375,\"y\":960.0000305175781},{\"command\":\"L\",\"x\":331.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":332.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":333.5,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":334.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":335.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":336.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":337.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":338.8333740234375,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":340.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":341.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":342.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":344.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":346.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":349.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":350.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":351.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":352.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":354.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":354.16668701171875,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":355.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":356.16668701171875,\"y\":957.3333435058594},{\"command\":\"L\",\"x\":358.16668701171875,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":360.16668701171875,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":364.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":370.8333740234375,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":931.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":376.16668701171875,\"y\":930.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":932.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":375.5,\"y\":966.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":974.6667175292969},{\"command\":\"L\",\"x\":378.16668701171875,\"y\":977.3333435058594},{\"command\":\"L\",\"x\":380.8333740234375,\"y\":981.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":383.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":387.5,\"y\":982.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":980.6667175292969},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":976.6667175292969},{\"command\":\"L\",\"x\":392.8333740234375,\"y\":973.3333435058594},{\"command\":\"L\",\"x\":392.16668701171875,\"y\":970.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":385.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":382.8333740234375,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":377.5,\"y\":964.0000305175781},{\"command\":\"L\",\"x\":375.5,\"y\":964.6667175292969},{\"command\":\"L\",\"x\":373.5,\"y\":965.3333435058594},{\"command\":\"L\",\"x\":374.8333740234375,\"y\":963.3333435058594},{\"command\":\"L\",\"x\":376.8333740234375,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":382.16668701171875,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":384.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":387.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":388.16668701171875,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":388.8333740234375,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":389.5,\"y\":959.3333435058594},{\"command\":\"L\",\"x\":389.5,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":390.16668701171875,\"y\":961.3333435058594},{\"command\":\"L\",\"x\":390.8333740234375,\"y\":960.6667175292969},{\"command\":\"L\",\"x\":393.5,\"y\":958.0000305175781},{\"command\":\"L\",\"x\":396.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":398.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":400.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":400.8333740234375,\"y\":947.3333435058594},{\"command\":\"L\",\"x\":401.5,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":402.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":403.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":404.8333740234375,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":406.16668701171875,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":407.5,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":410.16668701171875,\"y\":952.0000305175781},{\"command\":\"L\",\"x\":412.16668701171875,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":940.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":414.16668701171875,\"y\":938.0000305175781},{\"command\":\"L\",\"x\":415.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":418.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":420.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":946.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":423.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":423.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":421.5,\"y\":955.3333435058594},{\"command\":\"L\",\"x\":421.5,\"y\":956.0000305175781},{\"command\":\"L\",\"x\":422.16668701171875,\"y\":954.6667175292969},{\"command\":\"L\",\"x\":422.8333740234375,\"y\":954.0000305175781},{\"command\":\"L\",\"x\":424.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":425.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":428.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":948.0000305175781},{\"command\":\"L\",\"x\":428.8333740234375,\"y\":950.0000305175781},{\"command\":\"L\",\"x\":429.5,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":430.16668701171875,\"y\":953.3333435058594},{\"command\":\"L\",\"x\":432.8333740234375,\"y\":952.6667175292969},{\"command\":\"L\",\"x\":434.8333740234375,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":437.5,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":440.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":441.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":442.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":442.8333740234375,\"y\":946.0000305175781},{\"command\":\"L\",\"x\":443.5,\"y\":949.3333435058594},{\"command\":\"L\",\"x\":444.16668701171875,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":447.5,\"y\":950.6667175292969},{\"command\":\"L\",\"x\":450.16668701171875,\"y\":948.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":945.3333435058594},{\"command\":\"L\",\"x\":453.5,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":452.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":450.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":448.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":447.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":445.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":445.5,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.16668701171875,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":446.8333740234375,\"y\":939.3333435058594},{\"command\":\"L\",\"x\":452.16668701171875,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":454.8333740234375,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":456.8333740234375,\"y\":936.0000305175781},{\"command\":\"L\",\"x\":459.5,\"y\":936.6667175292969},{\"command\":\"L\",\"x\":460.8333740234375,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":461.5,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":942.6667175292969},{\"command\":\"L\",\"x\":462.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":462.8333740234375,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":464.16668701171875,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":465.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":466.16668701171875,\"y\":932.6667175292969},{\"command\":\"L\",\"x\":467.5,\"y\":933.3333435058594},{\"command\":\"L\",\"x\":469.5,\"y\":935.3333435058594},{\"command\":\"L\",\"x\":470.16668701171875,\"y\":938.6667175292969},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":943.3333435058594},{\"command\":\"L\",\"x\":472.8333740234375,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":474.16668701171875,\"y\":944.6667175292969},{\"command\":\"L\",\"x\":475.5,\"y\":944.0000305175781},{\"command\":\"L\",\"x\":478.16668701171875,\"y\":941.3333435058594},{\"command\":\"L\",\"x\":481.5,\"y\":937.3333435058594},{\"command\":\"L\",\"x\":484.8333740234375,\"y\":934.0000305175781},{\"command\":\"L\",\"x\":488.8333740234375,\"y\":929.3333435058594},{\"command\":\"L\",\"x\":489.5,\"y\":928.0000305175781}]";
+        // Add Ink annotation
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a ink annotation to the first page of the PDF document.
+
+![Programmatically Added Ink Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-ink-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Ink/Add).
+
+## Edit ink annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the ink annotation within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the ink annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditInkAnnotationAsync">Edit Ink Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Ink_Annotation.pdf";
+
+    public async void EditInkAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the position of the ink annotation
+        annotation.Bound.X = 125;
+        annotation.Bound.Y = 125;
+        // Change the width and height of the ink annotation
+        annotation.Bound.Width = 100;
+        annotation.Bound.Height = 75;
+        // Change the stroke color of ink annotation
+        annotation.StrokeColor = "#FFFF00";
+        // Change the opacity (0 to 1) of ink annotation
+        annotation.Opacity = 0.5;
+        // Edit the ink annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the ink annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Ink Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-ink-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Ink/Edit).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/measurement-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/measurement-annotation.md
new file mode 100644
index 000000000..c27b9a0ed
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/measurement-annotation.md
@@ -0,0 +1,296 @@
+---
+layout: post
+title: Measurement annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about measurement annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Measurement annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer provides the options to add measurement annotations. The page annotations can be measured with the help of measurement annotation. The supported measurement annotations in the SfPdfViewer control are:
+
+* Distance
+* Perimeter
+* Area
+* Radius
+* Volume
+
+![Calibrate Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-annotation.png)
+
+## Adding measurement annotations to the PDF document
+
+The measurement annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Click the **measurement Annotation** dropdown button. A dropdown pop-up will appear and shows the measurement annotations to be added.
+* Select the measurement type to be added to the page in the dropdown pop-up. It enables the selected measurement annotation mode.
+* You can measure and add the annotation over the pages of the PDF document.
+
+In the pan mode, if the measurement annotation mode is entered, the SfPdfViewer control will switch to text select mode.
+
+![Adding Calibrate in Blazor SfPdfViewer Toolbar](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-add-calibrate-in-toolbar.png)
+
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Measurement Annotation</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await viewer.SetAnnotationModeAsync(AnnotationType.Distance);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Editing the properties of measurement annotation
+
+The fill color, stroke color, thickness, and opacity of the measurement annotation can be edited using the Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar.
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Calibrate FillColor in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-fillcolor.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Calibrate StrokeColor in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-stroke-color.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit thickness tool.
+
+![Editing Calibrate Thickness in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Calibrate Opacity in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-opacity.png)
+
+### Editing the line properties
+
+The properties of the line shapes such as distance and perimeter annotations can be edited using the Line properties window. It can be opened by selecting the Properties option in the context menu that appears on right-clicking the distance and perimeter annotations.
+
+![Editing Calibrate Property in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-property.png)
+
+## Setting default properties during control initialization
+
+The properties of the shape annotations can be set before creating the control using distanceSettings, perimeterSettings, areaSettings, radiusSettings and volumeSettings.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%" Width="100%"
+              DistanceSettings="@DistanceSettings"
+              PerimeterSettings="@PerimeterSettings"
+              AreaSettings="@AreaSettings"
+              RadiusSettings="@RadiusSettings"
+              VolumeSettings="@VolumeSettings">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    
+    PdfViewerDistanceSettings DistanceSettings = new PdfViewerDistanceSettings
+        {
+            FillColor = "blue",
+            Opacity = 0.6,
+            StrokeColor = "green",
+            LineHeadEndStyle = LineHeadStyle.Closed,
+            LineHeadStartStyle = LineHeadStyle.Round
+        };
+    PdfViewerPerimeterSettings PerimeterSettings = new PdfViewerPerimeterSettings
+        {
+            FillColor = "green",
+            Opacity = 0.6,
+            StrokeColor = "blue"
+        };
+    PdfViewerAreaSettings AreaSettings = new PdfViewerAreaSettings
+        {
+            FillColor = "yellow",
+            Opacity = 0.6,
+            StrokeColor = "orange"
+        };
+    PdfViewerVolumeSettings VolumeSettings = new PdfViewerVolumeSettings
+        {
+            FillColor = "orange",
+            Opacity = 0.6,
+            StrokeColor = "pink"
+        };
+    PdfViewerRadiusSettings RadiusSettings = new PdfViewerRadiusSettings
+        {
+            FillColor = "pink",
+            Opacity = 0.6,
+            StrokeColor = "yellow"
+        };
+}
+
+```
+
+## Editing scale ratio and unit of the measurement annotation
+
+The scale ratio and unit of measurement can be modified using the scale ratio option provided in the context menu of the PDF Viewer control.
+
+![Editing Calibrate Scale Ratio in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scaleratio.png)
+
+The Units of measurements support for the measurement annotations in the PDF Viewer are
+
+* Inch
+* Millimeter
+* Centimeter
+* Point
+* Pica
+* Feet
+
+![Calibrate Scale Dialog in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-calibrate-scale-dialog.png)
+
+## Setting default scale ratio settings during control initialization
+
+The properties of scale ratio for measurement annotation can be set before creating the control using ScaleRatioSettings as shown in the following code snippet,
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              MeasurementSettings="@MeasurementSettings"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    PdfViewerMeasurementSettings MeasurementSettings = new PdfViewerMeasurementSettings 
+    { 
+        ScaleRatio = 2, 
+        ConversionUnit = CalibrationUnit.Cm 
+    };
+}
+```
+
+## Add measurement annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the measurement annotation within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can use this method to add measurement annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddMeasurementAnnotationAsync">Add Measurement Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Measurement_Annotation.pdf";
+
+    public async void AddMeasurementAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type of measurement annotation like radius, distance, perimeter, area, volume
+        annotation.Type = AnnotationType.Radius;
+        // Set the PageNumber starts from 0. So, if set 0 it represents the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the radius annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 100;
+        annotation.Bound.Height = 100;
+        // Add radius measurement annotation
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a measurement annotation to the first page of the PDF document.
+
+![Programmatically Added Measurement Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-measurement-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Measurement/Add).
+
+## Edit measurement annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the measure annotation within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the measure annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditMeasurementAnnotationAsync">Edit Measurement Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Measurement_Annotation.pdf";
+
+    public async void EditMeasurementAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the position of the radius annotation
+        annotation.Bound.X = 125;
+        annotation.Bound.Y = 125;
+        // Change the width and height of the radius annotation
+        annotation.Bound.Width = 125;
+        annotation.Bound.Height = 75;
+        // Change the fill color of radius annotation
+        annotation.FillColor = "#FFFF00";
+        // Change the stroke color of radius annotation
+        annotation.StrokeColor = "#0000FF";
+        // Change the thickness of radius annotation
+        annotation.Thickness = 3;
+        // Change the opacity (0 to 1) of radius annotation
+        annotation.Opacity = 0.5;
+        // Edit the radius measurement annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the measurement annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Measurement Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-measurement-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Measurement/Edit).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotation.md
new file mode 100644
index 000000000..58dfdcdef
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotation.md
@@ -0,0 +1,361 @@
+---
+layout: post
+title: Redaction Annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about redaction annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Redaction annotations in Blazor SfPdfViewer Component
+
+Redaction annotations help hide sensitive content in a PDF. Syncfusion Blazor PDF Viewer supports both interactive and programmatic redaction annotations with customization and final application support.
+
+![Redaction Icon Toolbar](redaction-annotations-images/redaction-icon-toolbar.png)
+
+## Adding a Redaction annotation to the PDF document
+
+The redaction feature in the Blazor PDF Viewer allows users to hide sensitive content by adding redaction annotations to PDF pages. These annotations can be added either through the toolbar or programmatically, making the feature easy to use.
+
+### Adding a Redaction annotation using the Toolbar
+
+The Blazor PDF Viewer provides support for redacting sensitive content through redaction annotations. Users can activate the redaction tool from the toolbar and draw over specific content on the PDF pages to mark it for redaction. Once applied, the redaction annotation can display overlay text (e.g., “Confidential”) or can be styled using customizable fill color property.
+
+![Adding Redaction Annotation](redaction-annotations-images/adding-redaction-annotation.png)
+
+#### Redaction annotations are fully interactive:
+
+* **Movable**: Users can reposition the annotation within the same page.
+
+![Moving Redaction Annotation](redaction-annotations-images/moving-redaction-annotation.png)
+
+* **Resizable**: Users can adjust the size of the annotation to cover different content areas.
+
+![Resizing Redaction Annotation](redaction-annotations-images/resizing-redaction-annotation.png)
+
+N> The redaction tool is not available in the toolbar by default. To display the redaction tool, the toolbar must be customized to include it. For instructions on customizing the toolbar, refer to the [Toolbar Customization section](./../toolbar-customization).
+
+### Adding a Redaction annotation using Programmatically
+
+You can use the [`AddAnnotationAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer2.html#Syncfusion_Blazor_PdfViewer_SfPdfViewer2_AddAnnotationAsync_Syncfusion_Blazor_PdfViewer_PdfAnnotation_) method to programmatically add a redaction annotation by defining a [`PdfAnnotation`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfAnnotation.html) object. The redaction-specific configuration is defined using the [`RedactionProperties`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.RedactionProperties.html) property inside the annotation.
+
+Below is an example that demonstrates how to create and add a redaction annotation with customized appearance, redaction properties, and positioning on the first page of the PDF document.
+
+```cshtml
+@page "/"
+
+<SfButton OnClick="AddRedactionAnnotation">Add Redaction Annotation</SfButton>
+<SfPdfViewer2 @ref="SfPdfViewer2" DocumentPath="@DocumentPath" Height="800px" Width="100%">
+</SfPdfViewer2>
+
+@code{
+
+    private string DocumentPath { get; set; } = "wwwroot/data/Annotations.pdf";
+    private SfPdfViewer2? SfPdfViewer2;
+
+    // Adds a redaction annotation to the first page of the PDF Viewer
+    private async void AddRedactionAnnotation()
+    {
+        // Create a redaction annotation with custom appearance and properties
+        PdfAnnotation annotation = new PdfAnnotation()
+        {
+            Id = "redaction_Annotation",
+            FontSize = 20,
+            Bound = new Bound()
+            {
+                X = 200,
+                Y = 80,
+                Width = 150,
+                Height = 75
+            },
+            PageNumber = 0,
+
+            // Configure redaction-specific properties
+            AnnotationProperties = new RedactionProperties()
+            {
+                MarkerFillColor = "#FF00FF",
+                MarkerOpacity = 0.5,
+                MarkerBorderColor = "#233A77",
+                OverlayText = "Hello",
+                IsRepeat = false
+            },
+
+            // Set the font and fill style
+            FontColor = "#0000FF",
+            FontFamily = "Courier",
+            FillColor = "#EEEEEE",
+
+            // Specify the annotation type
+            Type = AnnotationType.Redaction
+        };
+
+        // Add the annotation to the PDF Viewer
+        await SfPdfViewer2.AddAnnotationAsync(annotation);
+    }
+}
+```
+
+Refer to the Image below for details.
+
+![Programmatically Adding Redaction Annotation](redaction-annotations-images/programmatically-adding-redaction-annotation.png)
+
+The `RedactionProperties` configuration allows customization of the redaction annotation's appearance and behavior. Key properties include `MarkerFillColor` for setting the overlay color, `MarkerOpacity` for controlling transparency (0.0 to 1.0), `MarkerBorderColor` for the border color, `OverlayText` for displaying custom text over the redacted area, and `IsRepeat` to control whether the overlay text repeats across larger redaction areas.
+
+## Updating the properties of the Redaction  Annotations
+
+The Blazor PDF Viewer allows users to update redaction annotations after they have been added, providing flexibility to adjust redaction details as needed. Updates can be made either interactively through the **Property panel** or programmatically via the [`EditAnnotationAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer2.html#Syncfusion_Blazor_PdfViewer_SfPdfViewer2_EditAnnotationAsync_Syncfusion_Blazor_PdfViewer_PdfAnnotation_). API.
+
+### Updating Redaction Annotations Using the Property Panel
+
+When a redaction annotation is selected, users can update its properties like font, overlay text, or fill color using the **property panel**. This instantly updates the annotation in the viewer.
+
+The property panel can be accessed in multiple ways:
+
+* By clicking the **redaction panel** icon available on the redaction toolbar.
+
+![Redaction Property Panel Icon](redaction-annotations-images/redaction-property-panel-icon.png)
+
+* Through the **context menu** by right-clicking (or long-pressing on mobile) the redaction annotation and selecting the Properties option.
+
+![Redaction Property Panel via Context Menu](redaction-annotations-images/redaction-property-panel-via-context-menu.png)
+
+### Updating Redaction Annotations Programmatically
+
+To update an existing redaction annotation, first retrieve it using [`GetAnnotationsAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer2.html#Syncfusion_Blazor_PdfViewer_SfPdfViewer2_GetAnnotationsAsync), then modify the required properties and apply the changes using [`EditAnnotationAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer2.html#Syncfusion_Blazor_PdfViewer_SfPdfViewer2_EditAnnotationAsync_Syncfusion_Blazor_PdfViewer_PdfAnnotation_).
+
+The following example demonstrates how to update an existing redaction annotation in the PDF Viewer. It retrieves the annotation, modifies redaction-specific properties such as overlay text, fill color, border color, and opacity, along with general appearance settings like font size and text alignment, and then applies the changes using the [`EditAnnotationAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+```cshtml
+@page "/"
+
+<SfButton OnClick="EditRedaction">Edit Redaction</SfButton>
+
+<SfPdfViewer2 @ref="SfPdfViewer2" DocumentPath="@DocumentPath" Height="800px" Width="100%">  
+</SfPdfViewer2>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/data/Annotations.pdf";
+    private SfPdfViewer2? SfPdfViewer2;
+    // Updates the first redaction annotation's properties in the PDF Viewer
+    private async void EditRedaction()
+    {
+        // Retrieve all annotations from the viewer
+        List<PdfAnnotation> annotations = await SfPdfViewer2.GetAnnotationsAsync();
+
+        // Get the first annotation to update
+        PdfAnnotation annotation = annotations[0];
+
+        // Check if the annotation is a redaction type and update redaction-specific properties
+        if (annotation.AnnotationProperties is RedactionProperties redaction)
+        {
+            redaction.OverlayText = "Updated Text";
+            redaction.MarkerFillColor = "#9bc7b8";
+            redaction.MarkerBorderColor = "#888f8c";
+            redaction.IsRepeat = true;
+            redaction.MarkerOpacity = 0.2;
+        }
+
+        // Update general annotation properties
+        annotation.FontSize = 15;
+        annotation.FontColor = "Yellow";
+        annotation.TextAlignment = TextAlignment.Left;
+
+        // Apply the changes to the annotation in the viewer
+        await SfPdfViewer2.EditAnnotationAsync(annotation);
+    }
+}
+```
+Refer to the Image below for details.
+
+![Programmatically Updating the Redaction Annotation](redaction-annotations-images/programmatically-updating-the-redaction-annotation.png)
+
+## Deleting Redaction Annotations
+
+Redaction annotations in the PDF Viewer can be removed easily through user interaction or programmatically. The following methods are available:
+
+### Deleting Redaction Annotations Using the UI
+
+Redaction annotations can be deleted directly within the viewer using any of these options:
+
+* **Right-click and select _Delete_** from the context menu.
+
+![Redaction Delete Context Menu](redaction-annotations-images/redaction-delete-context-menu.png)
+
+* **Click the _Delete_ button** in the toolbar.
+
+![Redaction Delete Icon](redaction-annotations-images/redaction-delete-icon.png)
+
+* **Press the `Delete` key** after selecting the annotation.
+
+### Deleting Redaction Annotations Programmatically
+
+Redaction annotations can also be deleted programmatically using the [`DeleteAnnotationAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteAnnotationsAsync)method. This method enables the removal of a specific annotation by providing its ID or object reference.
+
+For detailed implementation examples and additional methods for deleting annotations, see the [Delete Annotation Programmatically](./text-markup-annotation#delete-annotation-programmatically) section.
+
+## Configuring Default Properties for Redaction Annotations
+
+Use the [`PdfViewerRedactionSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerRedactionSettings.html) component inside the viewer to set default redaction properties for newly created annotations. These include fill color, overlay text, font style, and alignment.
+
+These settings are applied to newly added **toolbar-based** redaction annotations (unless explicitly overridden).
+
+The example below shows how to set default properties for redaction annotations using the [`PdfViewerRedactionSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerRedactionSettings.html) in the Syncfusion Blazor PDF Viewer. These settings control how new redaction annotations.
+
+```cshtml
+@* 
+    This component demonstrates how to configure default redaction annotation settings 
+    in the Syncfusion Blazor PDF Viewer.
+*@
+<SfPdfViewer2 @ref="SfPdfViewer2" DocumentPath="@DocumentPath" Height="800px" Width="100%">
+    <PdfViewerRedactionSettings OverlayText="Confidential" 
+                                MarkerFillColor="#FF0000"
+                                MarkerBorderColor="#000000"
+                                IsRepeat="false"
+                                FillColor="#F8F8F8" 
+                                FontColor="#333333"
+                                FontSize="14" 
+                                FontFamily="Symbol" 
+                                TextAlignment="TextAlignment.Right" />
+        <PdfViewerToolbarSettings ToolbarItems="ToolbarItems" MobileToolbarItems="MobileToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+```
+
+This uses the [`PdfViewerRedactionSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerRedactionSettings.html) class to define defaults.
+
+## Add Page Redaction
+
+The Blazor PDF Viewer provides support to redact entire pages containing sensitive or confidential information. Redaction can be done programmatically or through the built-in UI dialog that offers flexible page selection options.
+
+![Redact Page Icon](redaction-annotations-images/redact-page-icon.png)
+
+### Adding Redact Pages Using the UI
+
+Users can redact entire pages using the Redact Pages option from the redaction toolbar. Upon clicking the redact pages icon, a Mark Page Range popup appears with the following options:
+
+* **Current Page** – Redacts the currently visible page.
+
+* **Odd Pages Only** – Redacts all odd-numbered pages.
+
+* **Even Pages Only** – Redacts all even-numbered pages.
+
+* **Specific Pages** – Allows the user to manually enter a list of specific page numbers to redact (e.g., 1, 3–5, 7).
+
+After selecting the desired range, clicking the Save button applies redaction marks to the selected pages.
+
+Refer to the Image below for details.
+
+![Page Redaction Panel](redaction-annotations-images/page-redaction-panel.png)
+
+### Adding Redact Pages Using Programmatically
+
+Entire pages can be marked for redaction using the [`AddPageRedactionsAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer2.html#Syncfusion_Blazor_PdfViewer_SfPdfViewer2_AddPageRedactionsAsync_System_Collections_Generic_List_System_Int32__) method.
+
+This is useful when the full page contains confidential data.
+
+The following example adds redaction annotations to specific pages in a PDF using 0-based page indexes. Here, redaction is applied to the first and third pages.
+
+```cshtml
+@page "/"
+
+<SfButton OnClick="RedactPages">Add Redact Pages</SfButton>
+
+<SfPdfViewer2 @ref="SfPdfViewer2" DocumentPath="@DocumentPath" Height="800px" Width="100%">
+</SfPdfViewer2>
+
+@code{
+
+    private string DocumentPath { get; set; } = "wwwroot/data/Annotations.pdf";
+
+    private SfPdfViewer2? SfPdfViewer2;
+
+    // Adds redaction annotations to entire pages using 0-based page indexes.
+    // In this example, redaction is applied to the first (0) and third (2) pages.
+    private async void RedactPages()
+    {
+        List<int> pagesToRedact = new() { 0, 2 }; // Page indexes start from 0
+        await SfPdfViewer2.AddPageRedactionsAsync(pagesToRedact);
+    }
+
+}
+```
+
+Refer to the Image below for details.
+
+![Add Page Redaction](redaction-annotations-images/add-page-redaction.png)
+
+## Applying Redaction to the Document
+
+The Blazor PDF Viewer provides functionality to permanently apply redaction annotations to the document, removing the marked content and making the redaction irreversible. This can be done through the UI using the redact button or programmatically.
+
+### Applying Redaction Using the Redact Button
+
+The redact button in the toolbar allows users to permanently apply all redaction annotations present in the document.
+
+* The redact button is disabled when no redaction annotations exist in the document.
+* The button automatically enables when redaction annotations are present.
+
+![Redact Button Icon](redaction-annotations-images/redact-button-icon.png)
+
+A confirmation dialog is displayed before applying redaction to ensure users are aware that the redaction process is permanent and irreversible.
+
+Refer to the Image below for details.
+
+![Apply Redaction Dialog](redaction-annotations-images/apply-redaction-dialog.png)
+
+### Applying Redaction Using Programmatically
+
+Use the `RedactAsync` method to programmatically apply all redaction annotations.
+
+```cshtml
+@page "/"
+
+<SfButton OnClick="ApplyRedaction">Apply Redaction</SfButton>
+
+<SfPdfViewer2 @ref="SfPdfViewer2" DocumentPath="@DocumentPath" Height="800px" Width="100%">
+</SfPdfViewer2>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/data/Annotations.pdf";
+    private SfPdfViewer2? SfPdfViewer2;
+
+    // Applies all redaction annotations permanently
+    private async void ApplyRedaction()
+    {
+        await SfPdfViewer2.RedactAsync();
+    }
+}
+```
+
+Refer to the Image below for details.
+
+![Programmatically Redact](redaction-annotations-images/programmatically-redact.png)
+
+N> The redaction process is irreversible. Once applied, the original content cannot be recovered.
+
+## Redaction Property Panel
+
+When no annotation is selected, the property panel shows **default values** from [`PdfViewerRedactionSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.PdfViewerRedactionSettings.html). When a redaction is selected, the panel shows the current annotation's properties.
+
+You can update overlay text, font, opacity, and more using this visual UI.
+
+Refer to the Image below for details.
+
+![Redaction Property Panel](redaction-annotations-images/redaction-property-panel.png)
+
+## Comment Panel Support for Redaction Annotations
+
+The redaction annotations support **commenting** through the built-in **comment panel**. Users can add remarks, track review notes, or indicate why a section is redacted.
+
+Commenting is available through both UI and API. Learn more in the [Comments Documentation](./comments).
+
+## Export and Import Support for the Redaction Annotations
+
+The SfPdfViewer supports exporting and importing redaction annotations, allowing users to save and reload redaction annotation for future use..
+
+For more details, refer to the [Export and Import Annotations Documentation](./import-export-annotation).
+
+## See also
+
+* [Adding the shape annotation in PDF viewer](./shape-annotation)
+* [Toolbar customization in PDF viewer](./../toolbar-customization)
+* [Form designer in PDF viewer](../form-designer/overview)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/add-page-redaction.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/add-page-redaction.png
new file mode 100644
index 000000000..6d00ec25a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/add-page-redaction.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/adding-redaction-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/adding-redaction-annotation.png
new file mode 100644
index 000000000..d50c11e93
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/adding-redaction-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/apply-redaction-dialog.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/apply-redaction-dialog.png
new file mode 100644
index 000000000..2901de9dd
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/apply-redaction-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/enable-redaction-toolbar-for-desktop.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/enable-redaction-toolbar-for-desktop.png
new file mode 100644
index 000000000..5eeace906
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/enable-redaction-toolbar-for-desktop.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/mobile-redaction-toolbar.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/mobile-redaction-toolbar.png
new file mode 100644
index 000000000..fb4910bd1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/mobile-redaction-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/moving-redaction-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/moving-redaction-annotation.png
new file mode 100644
index 000000000..3f5268d1d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/moving-redaction-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/page-redaction-panel.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/page-redaction-panel.png
new file mode 100644
index 000000000..15539ce3c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/page-redaction-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-adding-redaction-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-adding-redaction-annotation.png
new file mode 100644
index 000000000..c4103a249
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-adding-redaction-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-redact.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-redact.png
new file mode 100644
index 000000000..f7475a3eb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-redact.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-updating-the-redaction-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-updating-the-redaction-annotation.png
new file mode 100644
index 000000000..d0753c1cb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/programmatically-updating-the-redaction-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-button-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-button-icon.png
new file mode 100644
index 000000000..74f05f2b7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-button-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-page-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-page-icon.png
new file mode 100644
index 000000000..ad27624fa
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redact-page-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-context-menu.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-context-menu.png
new file mode 100644
index 000000000..d0fbfbe66
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-context-menu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-icon.png
new file mode 100644
index 000000000..2f823ae02
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-delete-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-icon-toolbar.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-icon-toolbar.png
new file mode 100644
index 000000000..f50b737a7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-icon-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-icon.png
new file mode 100644
index 000000000..a6c5dbb27
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-via-context-menu.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-via-context-menu.png
new file mode 100644
index 000000000..e9cc115ab
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel-via-context-menu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel.png
new file mode 100644
index 000000000..792d60003
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/redaction-property-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/resizing-redaction-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/resizing-redaction-annotation.png
new file mode 100644
index 000000000..0aea12fee
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/resizing-redaction-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/show-redaction-toolbar.png b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/show-redaction-toolbar.png
new file mode 100644
index 000000000..7f50084ca
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/redaction-annotations-images/show-redaction-toolbar.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/shape-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/shape-annotation.md
new file mode 100644
index 000000000..29a34f2a0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/shape-annotation.md
@@ -0,0 +1,374 @@
+---
+layout: post
+title: Shape annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about shape annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Shape annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the options to add, edit and delete the shape annotations. The shape annotation types supported in the SfPdfViewer control are:
+
+* Line
+* Arrow
+* Rectangle
+* Circle
+* Polygon
+
+![Shape Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-shape-annotation.png)
+
+## Adding a shape annotation to the PDF document
+
+Shape annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Click the **Shape Annotation** dropdown button. A dropdown pop-up will appear and shows the shape annotations to be added.
+* Select the shape types to be added to the page in the dropdown pop-up. It enables the selected shape annotation mode.
+* You can add the shapes over the pages of the PDF document.
+
+In the pan mode, if the shape annotation mode is entered, the SfPdfViewer control will switch to text select mode.
+
+![Adding Shapes in Blazor SfPdfViewer Toolbar](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-add-shape-in-toolbar.png)
+
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="OnClick">Circle Annotation</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    public async void OnClick(MouseEventArgs args)
+    {
+        await viewer.SetAnnotationModeAsync(AnnotationType.Circle);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Editing the properties of the shape annotation
+
+The fill color, stroke color, thickness and opacity of the shape annotation can be edited using the Edit color tool, Edit stroke color tool, Edit thickness tool and Edit opacity tool in the annotation toolbar.
+
+### Editing fill color
+
+The fill color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Fill Color in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-fill-color.png)
+
+### Editing stroke color
+
+The stroke color of the annotation can be edited using the color palette provided in the Edit Stroke Color tool.
+
+![Editing Shape Stroke Color in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-shape-stroke-color.png)
+
+### Editing thickness
+
+The thickness of the border of the annotation can be edited using the range slider provided in the Edit Thickness tool.
+
+![Editing Shape Thickness in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-shape-thickness.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Shape Opacity in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-shape-opacity.png)
+
+### Editing the line properties
+
+The properties of the line shapes such as line and arrow annotations can be edited using the Line Properties window. It can be opened by selecting the Properties option in the context menu that appears on right clicking the line and arrow annotations.
+
+
+![Editing Line Property in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-line-property.png)
+
+## Setting default properties during control initialization
+
+The properties of the shape annotations can be set before creating the control using LineSettings, ArrowSettings, RectangleSettings, CircleSettings, and PolygonSettings.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              LineSettings="@LineSettings"
+              ArrowSettings="@ArrowSettings"
+              RectangleSettings="@RectangleSettings"
+              CircleSettings="@CircleSettings"
+              PolygonSettings="@PolygonSettings"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    PdfViewerLineSettings LineSettings = new PdfViewerLineSettings
+        {
+            FillColor = "blue",
+            Opacity = 0.6,
+            StrokeColor = "green"
+        };
+
+     PdfViewerArrowSettings ArrowSettings = new PdfViewerArrowSettings
+        {
+            FillColor = "green",
+            Opacity = 0.6,
+            StrokeColor = "blue"
+        };
+
+    PdfViewerRectangleSettings RectangleSettings = new PdfViewerRectangleSettings
+        {
+            FillColor = "yellow",
+            Opacity = 0.6,
+            StrokeColor = "orange"
+        };
+
+    PdfViewerCircleSettings CircleSettings = new PdfViewerCircleSettings
+        {
+            FillColor = "orange",
+            Opacity = 0.6,
+            StrokeColor = "pink"
+        };
+
+    PdfViewerPolygonSettings PolygonSettings = new PdfViewerPolygonSettings
+        {
+            FillColor = "pink",
+            Opacity = 0.6,
+            StrokeColor = "yellow"
+        };
+}
+
+```
+
+## Customize annotation selector
+
+You can customize the appearance of the annotation's selector using the [AnnotationSelectorSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerAnnotationSelectorSettings.html) property of the [PdfViewerRectangleSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerRectangleSettings.html) class.
+
+The following code illustrates how to change the resizer shape of the shape annotation's selector.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="viewer"
+              DocumentPath="@DocumentPath"
+              Height="100" Width="100%"
+              RectangleSettings=@rectangleSettings>
+</SfPdfViewer2>
+
+@code {
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    SfPdfViewer2 viewer;
+
+    //Defines the settings of rectangle annotation.
+    PdfViewerRectangleSettings rectangleSettings = new PdfViewerRectangleSettings
+    {
+        //Defines the annotation selector settings for the annotation.
+        AnnotationSelectorSettings = new PdfViewerAnnotationSelectorSettings()
+        {
+            //Defines the shape of the resizer. By default it is square.
+            ResizerShape = AnnotationResizerShape.Circle
+        }
+    };
+}
+
+```
+
+![Custom Selector in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/customselector.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Selector/Customize%20Annotation%20%20Selector).
+
+## Add shape annotation Programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add shape annotations such as Rectangle, Line, Arrow, Circle, and Polygon within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_)  method.
+
+Below is an example demonstrating how you can use this method to add shape annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddShapeAnnotationAsync">Add Shape Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Shape_Annotation.pdf";
+
+    public async void AddShapeAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the Shape annotation type like Rectangle, Line, Arrow, Circle, Polygon.
+        annotation.Type = AnnotationType.Rectangle;
+        // Set the page number starts from 0. So, if set 0 it represents the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the rectangle annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 300;
+        annotation.Bound.Height = 100;
+        // Add rectangle annotation
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+This code will add a shape annotation to the first page of the PDF document.
+
+![Programmatically Added Shape annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-shape-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Shapes/Add).
+
+
+## Add and Delete multiple annotations at once in a PDF Viewer
+
+The PDF Viewer provides support to add and delete multiple annotations at once. we can programmatically create a collection of annotations, such as lines or shapes, and apply them to the document in one go using [AddAnnotationsAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationsAsync_System_Collections_Generic_List_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation__). Similarly, the viewer allows you to retrieve and remove all annotations from the document efficiently using [DeleteAnnotationsAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteAnnotationsAsync_System_Collections_Generic_List_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation__). This capability is particularly useful for bulk annotation management within a Blazor application.
+
+
+The following code demonstrates how to add multiple annotations at once to PDF Viewer.
+
+```cshtml
+
+<SfButton OnClick="AddAnnotations">AddAnnotations</SfButton>
+<SfPdfViewer2 @ref="Viewer" 
+              DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+ 
+
+@code {
+    SfPdfViewer2 Viewer;
+    
+    public async void AddAnnotations() 
+    {
+        List < PdfAnnotation > annotations = new List < PdfAnnotation > ();
+
+        PdfAnnotation annotation1 = new PdfAnnotation();
+        annotation1.Type = AnnotationType.Line;
+        annotation1.VertexPoints = new List <VertexPoint>() 
+        {
+            new VertexPoint() 
+            {
+                X = 200,
+                Y = 230
+            },
+            new VertexPoint() 
+            {
+                X = 350,
+                Y = 230
+            }
+        };
+        annotation1.PageNumber = 0;
+        annotations.Add(annotation1);
+
+        PdfAnnotation annotation2 = new PdfAnnotation();
+        annotation2.Type = AnnotationType.Circle;
+        annotation2.Bound = new Bound() 
+        {
+            X = 200,
+            Y = 300,
+            Width = 90,
+            Height = 90
+        };
+        annotation2.PageNumber = 0;
+        annotations.Add(annotation2);
+
+        // Add multiple annotations at once
+        await Viewer.AddAnnotationsAsync(annotations);
+    }
+}
+    
+```
+
+The following code demonstrates how to delete multiple annotations at once in PDF Viewer.
+
+```cshtml
+
+<SfButton OnClick="DeleteAnnotations">DeleteAnnotations</SfButton>
+<SfPdfViewer2 @ref="Viewer" 
+              DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 Viewer;
+    
+    public async void DeleteAnnotations()
+    {
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Delete multiple annotations at once
+        await Viewer.DeleteAnnotationsAsync(annotationCollection);
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Add%20and%20Delete%20Annotations%20as%20collection).
+
+
+## Edit shape annotation Programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the shape annotation such as Rectangle, Line, Arrow, Circle, and Polygon within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the shape annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditShapeAnnotationAsync">Edit Shape Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Shape_Annotation.pdf";
+
+    public async void EditShapeAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the fill color of rectangle annotation
+        annotation.FillColor = "#FFFF00";
+        // Change the stroke color of rectangle annotation
+        annotation.StrokeColor = "#0000FF";
+        // Change the thickness of rectangle annotation
+        annotation.Thickness = 3;
+        // Change the Opacity (0 to 1) of rectangle annotation
+        annotation.Opacity = 0.5;
+        // Edit the rectangle shape annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the shape annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Shape Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-shape-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Shapes/Edit).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/stamp-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/stamp-annotation.md
new file mode 100644
index 000000000..9fd13c847
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/stamp-annotation.md
@@ -0,0 +1,305 @@
+---
+layout: post
+title: Stamp annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about stamp annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Stamp annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides options to add, edit, delete and rotate the following stamp annotation in the PDF documents:
+
+* Dynamic
+* Sign Here
+* Standard Business
+* Custom Stamp
+
+![Stamp Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-stamp-annotation.png)
+
+## Adding stamp annotations to the PDF document
+
+The stamp annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Click the **Stamp Annotation** dropdown button. A dropdown pop-up will appear and shows the stamp annotations to be added.
+
+![Adding Stamp in Blazor SfPdfViewer Toolbar](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-add-stamp-in-toolbar.png)
+
+* Select the annotation type to be added to the page in the pop-up.
+
+![Selecting Annotation from Stamp Popup in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-select-stamp-annotation.png)
+
+* You can add the annotation over the pages of the PDF document.
+
+In the pan mode, if the stamp annotation mode is entered, the SfPdfViewer control will switch to text select mode.
+
+## Adding custom stamp to the PDF document through interaction
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Click the **Stamp Annotation** dropdown button. A dropdown pop-up will appear and shows the stamp annotations to be added.
+* Click the Custom Stamp button.
+
+![Custom Stamp in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-custom-stamp.png)
+
+* The file explorer dialog will appear, choose the image and then add the image in the PDF page.
+
+N>The JPG and JPEG image format are only supported in custom stamp annotations.
+
+## Setting default properties during control initialization
+
+The properties of the stamp annotation can be set before creating the control using StampSettings.
+
+After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="viewer"
+              DocumentPath="@DocumentPath"
+              Height="100"
+              Width="100%"
+              StampSettings=@StampSettings>
+</SfPdfViewer2>
+
+@code {
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    SfPdfViewer2 viewer;
+
+    //Defines the settings of rectangle annotation.
+    PdfViewerStampSettings StampSettings = new PdfViewerStampSettings
+        {
+            Opacity = 0.3,
+            Author = "Blazor"
+        };
+}
+
+```
+
+## Adding a custom stamp to the PDF document via PdfViewerCustomStampSettings
+
+You can add an image as a custom stamp icon using the CustomStamps property of the PdfViewerCustomStampSettings class.
+
+The following code illustrates how to add the image as a stamp annotation in the PDFViewer.
+
+```cshtml
+
+@using Syncfusion.Blazor.Navigations;
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfToolbar>
+        <ToolbarItems>
+            <ToolbarItem PrefixIcon="e-pv-previous-page-navigation-icon"
+                         TooltipText="Previous Page"
+                         id="previousPage"
+                         OnClick="@previousClicked"
+                         Align="@Syncfusion.Blazor.Navigations.ItemAlign.Left">
+            </ToolbarItem>
+            <ToolbarItem PrefixIcon="e-pv-next-page-navigation-icon"
+                         TooltipText="Next Page"
+                         id="nextPage"
+                         OnClick="@nextClicked"
+                         Align="@Syncfusion.Blazor.Navigations.ItemAlign.Left">
+            </ToolbarItem>
+            <ToolbarItem PrefixIcon="e-pv-download-document-icon"
+                         TooltipText="Download"
+                         id="Download"
+                         OnClick="@downloadDocument"
+                         Align="@Syncfusion.Blazor.Navigations.ItemAlign.Right">
+            </ToolbarItem>
+            <ToolbarItem PrefixIcon="e-pv-stamp-icon"
+                         TooltipText="AddCustomStamp"
+                         id="AddCustomStamp"
+                         OnClick="@stampClicked"
+                         Align="@Syncfusion.Blazor.Navigations.ItemAlign.Right">
+            </ToolbarItem>
+        </ToolbarItems>
+    </SfToolbar>
+
+<SfPdfViewer2 EnableToolbar="false"
+              EnableAnnotationToolbar="false"
+              EnableNavigationToolbar="false" @ref="viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+    <PdfViewerCustomStampSettings CustomStamps="@pdfViewerCustomStamps">
+    </PdfViewerCustomStampSettings>
+
+@code
+{
+    SfPdfViewer2 viewer;
+    public List<PdfViewerCustomStamp> pdfViewerCustomStamps { get; set; }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public void stampClicked(ClickEventArgs args)
+    {
+        pdfViewerCustomStamps = new List<PdfViewerCustomStamp>()
+        {
+            new PdfViewerCustomStamp()
+            {
+                //Defines the custom stamp name to be added in the stamp menu of the SfPdfViewer toolbar.
+                CustomStampName = "Stamp",
+                //Defines the custom stamp images source to be added in the stamp menu of the SfPdfViewer toolbar.
+                CustomStampImageSource ="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAIIAqwMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBAwQHAv/EAEEQAAEDAwIEAwYDBAYLAAAAAAECAwQABREGIRIxQVETYXEHFCIygZEVQmIjUnKCJCUzU6HRFhc1c5KisbKzwvD/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APcaUpQKUpQKUpQKUpQKUpQKVzXGdFtsN2ZPfbYjNJ4nHHDgJFfEK5Q5ttbuUaQhcNxvxUPcklPfflQdlYJxURpe/salthuMNpxEYvuNtKc28VKVcPGB2JB577Vyz7pNuUxy26eWlCml8Mu4OI4kR/0oB2Wvp2T17EJK43qDbloakOqL7m6I7TanHVjOMhCQTjzxgVut89i4Mqdj8Y4VlC0OIKFIUOYKTuOn0INRZZtWkrVLuDpIIHHJlPK4nX1dOJR5kk4A5DYDArVoWbHuVgTPjvF5Ul5xx5zhIBc4jkJyBlI+UHqE0FjpSlApSlApSlApSlApSlApSlApSlArClAczgVmqr7QZLptkezxHi1KvD4ihxKsFprBU6v6IB+pFBTdUKf1uUuFa0WpyUIVoYBx706chchXdKEhZSPLNXXVTsOw6NdjNxkvJS0iLEidHnDhLaPME4z5ZzVHk6kTHu1vTpyE1Jf8L3Oww1ZDaGc4XJXjklXDhP6UlWd63ybrL1rq1mNa1hLcAKEeQgcTbbvyuScHnw5KGweZJPIVRYoDT6okfSlnfWhmCwlu43FGAUKxu2j9atyT+UHvirZBixLZBaiQ2kR4zCMIQnZKRWuz2yLZ7czBgo4GWh13KidypR6qJJJPevOvaFqCXqC4HSGmzxlxQbmvJJAPXwwe2M8R9R3FQc1xde9qOqEW+C44jTFuVxPvtnHvCvI+e4HYZPavV4sdmLGajxmktMtJCENpGAkDkBUbpixRNO2dm3Q0/Cj4lrPNazzUf/uWKlkkEZByKDNKUoFKUoFKUoFKUoFKwahZ2p7dFfMZhTs+ZnHu0FHirB/VjZHqogUE3WOIYzUApzUlwBKUxLOwQCFL/bv467DCEn6qr5i6btk5ht+ZOlXlCxlLkiTxtr8whGG8fy0HdK1FZorymHbjH8dPNlC+NY/lTk1XNTe0m12SCXBFnrkOpX7uh6ItkKUBzPGEnhzjcA1bokKLAZS1BjMx20jAQy2EjHoK85i6PuOovaFNv+pWPDt8J/ggMKUCXktq+BX8HNXmT2G9HLF1trSyW2GrUFgbluT3eCIRIS26tS/iSjwgCcDl35Z3qBlSb/edVcN58e4tojKafiW2MfDQpRBXF8X5UnZPGsq5ZAr0TV2j52oL9Anx7wqCxHYWypLbeXAFH4lNqz8KiNs8x0qy2e1QrNbmYFuZDUdkYSkHOT1JPUk7k0HhsG6u3SHPeisLFwnucE95hOPdmc8DUNhR/OrCR5Ak9NvX9F6cRp20IZIR706AX1I5DA2Qn9KRsPvzJqGmXG0N6pfk3KTEhW2ykBsLKUh2Y4nKlY6lKCAOuVmuafry5T5rFs0vaHQ5JSVIm3FBaQhvq7wfNwjurAPnQZ9pms1WtlVmtDqRcnxwrdK+ERknqT0Vj7DftUN7OA1BilywWx65TnU8PjOAtMsJJzlbhBypXMhPFgADbrF6B0sNSagkzrk+5cbTDeUQ5IHwy3T+bHbYE/y9yK9sabQ02lDSAhCRhKUjAAoIaFaZ8gh++zg8vIKYsUFphB+/Ev8AmONuVTYGBgcqzSoFKUoFKUoFKUoFcV4mOW+2yJbEN6Y40gqTHYGVuHsK7awRmg8rd/1gameJn2n8Ptv5YQn+78f+8cSFLI57AJ8/Oy2eyalhxkRo79htEVI2YgQ1uEH+JSgD68NW/FQ2r7yqxWCTNZR4knZqM1/ePLPChP3IoKRc4l91FqJ3TkfUst2Aygfiz7TDTaEA8mkEAnjPXfAH2NohaPehR2Y8bVF9QwygNttJMcJSkDAAAZru0hY02CyMxFK8SWv9rMfPN55W6lE9d9vQCpughmrLNZVxI1Fc19kupYUn/wAYP+NdQVMjD+khEhsfM40nhUPMp3z9D9K76xQRN/uNxjWj3qwW9F0krKfDa8YISUn83F25VVocf2kXdR/EJlrskZQxiM14ryR5ZJA9c/SrHo973m2SFjPhCfKSzn9wPLCceXbyxUpPmRrdDemTHUMx2UFbjizgJAoPGrbpyJBRPvEi53STfhc34MRCVMrckLSvCT8aFEEjBUQdhUlfbHcrcItuYvc+VqbUBDcpf7PgDSfnJPBxBCQcDBGcnlUn7Om4kly+aonhbPBPkeGiRsIqCEqUcHkSMZ9K5bRqqMbjJ1E5FkTrndFe72m2sAF1MVBI4iD8iVKyoqO2w7VRbrJpRdkt7MGDe56GGhgJ8Njn1P8AZ9fPNd5gXNKQEXt0q7uRmz/0AqFja29znGFq2EmxuqaLzDrkhK2XUj5gF7YUNvhqsX+66nvtqlarsrsmDa7aUvQIqQULuCUqHiLdGPk4c8I686g9BMK8/lu7IxyzCB/9q4bpJkWeP7xd9TQojGeHjdipRk9hlW5/yrF21raoEGM/HcM+TMSDEhwyFuv55YA5DfcnYVx2fTD9wm/jeskMS7goYYhY42IKeyQeajtlR68tqCUjtXWVHakQL/FejupC23PcwsLSeoKVgEVsLWomsFMm1yAM5C2HGir6hSsfY1B6ILViuV50utSWkRpHvNvQTgGO6OLCe/CviB7bVMXjVMC2vCG0VTrk4MtQIeHHleZHJCf1KwKDTcNSqskB2XqSCYjTQ3fYcDzSj0SOSgSdhlP1r50FqherbM5cVQVQwmQtkNlfFxBON8/XB8wa4JNsfUzJ1Jq/wXFQWnH4tvbPEzFCUk8RyPjd2+bkOQ7nHs0iSLRY7dBkKUoy4gnYV8yHFEFxPoCtOPU+VBdaUpQKUpQKqF4H4xry027YxrYyq4yB3cPwND/vV9BVvNVTRf8ATrhqC9KIUJU4x2T2aZHAB/xcZ+tBa6UpQKr+r7lIjRWrdaz/AFrcleBF2z4W3xOq8kDf1wOtSV5ukSz216fOc4GGhk4GSo9EpHVROwHU1DaWtst2S9qG+N8Nzlp4WWSc+6R85S0P1dVHqfSgm7Rb2bTbItvjcXhR2g2kqOVKx1J6k8zVbfP+leoSxkGx2h7LxztJlD8h6FCOZ/VjtXdq25ymWY9ptSv61uSi2yr+4Rj43T5JHLzIrRfHIujtCy/dthFiqQyD8zrqhgZ7qUo/40FJsbL2q7W/YYchUdqdMlXC5SEDJQhbq/CbHTKuEEj90edXfRWi4Gk4yvAUqTMdADsp35ikckj91I7Vn2e6bTpnTUaG5hUtweLJcHVw9PQch6VZ6Dhudot12aQ1dIEWa2hXEhEllLgSe4Cga7OBPBwYHDjGMbYr6pQRNp03ZrM669arVChuu/OphkJJ8tunlUt0pSgjLxYLVew2LtAYleEctqcT8SPRXMfevq0WO12VtTdpgRoiVHKy02AVnuo8z9akaUEBr2O9L0beI8dtx1xyMpIQ2kqUodQANycZrk07JVeLyq4R2HmrZCiiJFW62UF9SilS1AHfhHAgA7b8XlVqIzWMb0GaUpQKUpQc9wkCJAkyVcmWlOH6AmoL2bsqZ0LZi4SXHowfcUeZU58ZP3VUpqNlcjT1zYaGVuRHUJA6koIFcuiZDcnR9lea+RcFkgdvgG1BN1omS48GM7JluoZYaSVuOLOEpSOZJrXdLjEtUF2bcJLceM0MrccOAP8AP0qqR4czWk1qfd2HItgZWFxLe6MLlKHJ14dE9kH1NBttDEjVVzYvtxaUza4547ZCdThSz0kLHQ4+UdAc86tcmQzDjOyJLiW2WUFxxxWwSkDJJ+lbQAOVVPU6vx29xdLsqPgBKZdzIG3ghWEtE9CtX/Kk0GzSTDlwekamnNlL08BMNCs5ZijdAweRVniPqB0qsarce1XrezWlghVsiTCp3B/tFtDicPok8CP4lq7VedSzXYFr8OBwpmyVCPEyPhStQPxEfupAKj5JNVz2eW9t2RIvLJWqGlsQbetXN1pCsuPerjmVZ6gCqLyBis0pUClKUClKUClKUClKUClKUClKUGCMjFVNqw36yeOxpmbb/wAPdcU43GntLPuqlHJCFJO6ckkJI2zzq20oKtE0iZE5q46mnKu8to8TLSmwiMwe6G99/wBSiTVoGwrNcV4uUez2yTcJiiGY7ZWrAyT2AHUk7D1oMXq6R7PapNxlk+FHQVkAZKj0SB1JOAPWozRtqfhW5ybcf9qXJz3qZk54FEbNg9kDCfoT1qGi++alvEGJdGwlq2hE+e0FApTKVu0we4Qk8R7nhNXkcqCs6q0zK1DcIWbkqNbW23ESmWk4ceCsZAV+UEAgnngnvViix2okZqPHbS2y0kIbQkYCUjYAVtpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKouv7mwi7W2HJBdZiJNxXHSd5DoUER2gOpU4rI/gq9VxO2i3PXRu6OwmFz2m/DbkKQCtKck4B+p+9BxaTtblqtQEvhM+UtUqatO4U8vdW/YbJHkkVNVgDFZoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoFKUoP//Z"
+            }
+        };
+
+    }
+
+    public async void previousClicked(ClickEventArgs args)
+    {
+        //Navigate to previous page of the PDF document.
+        await viewer.GoToPreviousPageAsync();
+    }
+
+    public async void nextClicked(ClickEventArgs args)
+    {
+        //Navigate to next page of the PDF document loaded in the SfPdfViewer.
+        await viewer.GoToNextPageAsync();
+    }
+
+    public async void downloadDocument(ClickEventArgs args)
+    {
+        //Downloads the PDF document being loaded in the SfPdfViewer.
+        await viewer.DownloadAsync();
+    }
+}
+
+<style>
+    .e-pv-previous-page-navigation-icon::before {
+        content: '\e70d';
+    }
+
+    .e-pv-stamp-icon::before {
+        content: '\e74c';
+    }
+    .e-pv-next-page-navigation-icon::before {
+        content: '\e76a';
+    }
+
+    .e-pv-download-document-icon::before {
+        content: '\e75d';
+    }
+</style>
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Stamp/Add%20a%20custom%20stamp)
+
+## Add stamp annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the stamp annotation within the SfPdfViewer control using the [DynamicStampAnnotation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_Syncfusion_Blazor_SfPdfViewer_DynamicStampItem_), [SignStampAnnotation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_Syncfusion_Blazor_SfPdfViewer_SignStampItem_), and [StandardBusinessStampAnnotation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_Syncfusion_Blazor_SfPdfViewer_StandardBusinessStampItem_) method.
+
+Below is an example demonstrating how you can use this method to add stamp annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddStampAnnotationAsync">Add Stamp Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Stamp_Annotation.pdf";
+
+    public async void AddStampAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type stamp
+        annotation.Type = AnnotationType.Stamp;
+        // Set the PageNumber starts from 0. So, if set 0 it represents the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the dynamic stamp annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 300;
+        annotation.Bound.Height = 100;
+        // Add dynamic approved stamp annotation
+        await Viewer.AddAnnotationAsync(annotation, DynamicStampItem.Approved);
+        // Add standardbusiness approved stamp annotation
+        //await Viewer.AddAnnotationAsync(annotation, StandardBusinessStampItem.Approved);
+        // Add sign accepted stamp annotation
+        //await Viewer.AddAnnotationAsync(annotation, SignStampItem.Accepted);
+    }
+}
+
+```
+
+This code will add a stamp annotation to the first page of the PDF document.
+
+![Programmatically Added Stamp Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-stamp-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Stamp/Add).
+
+N> To add a custom stamp annotation, you need to set the annotation type as an [Image](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.AnnotationType.html#Syncfusion_Blazor_SfPdfViewer_AnnotationType_Image) and [CustomStampSource](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfAnnotation.html#Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_CustomStampSource) API to set the custom stamp image data. Then use [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) to add the annotation properly.
+
+## Edit stamp annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the stamp annotation within the SfPdfViewer control using the  [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the stamp annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditStampAnnotationAsync">Edit Stamp Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Stamp_Annotation.pdf";
+
+    public async void EditStampAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the position of the stamp annotation
+        annotation.Bound.X = 125;
+        annotation.Bound.Y = 125;
+        // Change the width and height of the stamp annotation
+        annotation.Bound.Width = 350;
+        annotation.Bound.Height = 150;
+        // Change the Opacity (0 to 1) of stamp annotation
+        annotation.Opacity = 0.5;
+        // Edit the stamp annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the stamp annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Stamp Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-stamp-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Stamp/Edit).
+
+## Customized templated stamp appearance
+
+The customized templated stamp appearance feature provides support for displaying personalized stamps with tailored templates, focusing solely on their visual representation. 
+
+![Customized templated stamp appearance](../images/customized_templated_stamp_appearance.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Stamp/Customized%20templated%20stamp%20appearance).
+
+## Rotation support for Custom Stamp and Customized templated stamps
+
+The PDF Viewer also supports smooth rotation of Custom stamps and Customized templated stamps 
+
+![Rotation support for Custom Stamp and Customized templated stamps](../images/rotation_support_for_customized_templated_stamps.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Stamp/Customized%20templated%20stamp%20appearance).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/sticky-notes-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/sticky-notes-annotation.md
new file mode 100644
index 000000000..989288ce3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/sticky-notes-annotation.md
@@ -0,0 +1,196 @@
+---
+layout: post
+title: Sticky notes annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about sticky notes annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Sticky notes annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document.
+
+![StickyNotes Annotation in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-annotation.png)
+
+## Adding a sticky note annotation to the PDF document
+
+Sticky note annotations can be added to the PDF document using the annotation toolbar.
+
+* Click the **Comments** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Click the position, where you want to add sticky note annotation in the PDF document.
+* Sticky note annotation will be added in the clicked positions.
+
+![Adding StickyNotes in Blazor SfPdfViewer Toolbar](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-add-stickynotes-in-toolbar.png)
+
+Annotation comments can be added to the PDF document using the comment panel.
+
+* Select a Sticky note annotation in the PDF document and right-click it.
+* Select Comment option in the context menu that appears.
+* Now, you can add Comments, Reply, and Status using Comment Panel.
+
+![Blazor SfPdfViewer with StickyNotes Comment](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-comment.png)
+
+## Editing the properties of the sticky note annotation
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![StickyNotes Opacity in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-stickynotes-opacity.png)
+
+### Editing comments
+
+The comment, comment reply, and comment status of the annotation can be edited using the Comment Panel.
+
+* Open the comment panel using the Comment Panel button displayed in the annotation toolbar.
+
+![Editing StickyNotes Comment in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-sticknotes-comment.png)
+
+You can modify or delete the comments or comments replay and it’s status using the menu option provided in the comment panel.
+
+![StickyNotes Editing in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-editing-stickynotes.png)
+
+## Setting default properties during control initialization
+
+The properties of the sticky note annotation can be set before creating the control using StickyNoteSettings.
+
+After editing the default opacity using the Edit Opacity tool, they will be changed to the selected values.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              StickyNotesSettings="@StickyNotesSettings"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    PdfViewerStickyNotesSettings StickyNotesSettings = new PdfViewerStickyNotesSettings
+        {
+            Author = "Syncfusion"
+        };
+}
+
+```
+
+## Disabling sticky note annotations
+
+The SfPdfViewer2 control provides an option to disable the sticky note annotations feature.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"
+              EnableStickyNotesAnnotation=false>
+</SfPdfViewer2>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Add sticky note annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the sticky note annotation within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can use this method to add sticky note annotation to a PDF document:
+
+
+```cshtml
+
+@using Syncfusion.Blazor.Navigations;
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddStickyNoteAnnotationAsync">Add StickyNote Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Sticky_Notes_Annotation.pdf";
+
+    public async void AddStickyNoteAnnotationAsync(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the annotation type sticky note
+        annotation.Type = AnnotationType.StickyNotes;
+        // Set the PageNumber starts from 0. So, if set 0 it represents the page 1.
+        annotation.PageNumber = 0;
+
+        // Bound of the sticky note annotation
+        annotation.Bound = new Bound();
+        annotation.Bound.X = 200;
+        annotation.Bound.Y = 150;
+        annotation.Bound.Width = 50;
+        annotation.Bound.Height = 50;
+        // Add sticky note annotation
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a sticky note annotation to the third page of the PDF document.
+
+![Programmatically Added Sticky Note Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-stickynote-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Sticky%20Notes/Add).
+
+## Edit sticky note annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the sticky note annotation within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the StickyNote annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditStickyNoteAnnotationAsync">Edit StickyNote Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Sticky_Notes_Annotation.pdf";
+
+    public async void EditStickyNoteAnnotationAsync(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the position of the sticky note annotation
+        annotation.Bound.X = 125;
+        annotation.Bound.Y = 125;
+        // Change the width and height of the sticky note annotation
+        annotation.Bound.Width = 75;
+        annotation.Bound.Height = 75;
+        // Change the Opacity (0 to 1) of sticky note annotation
+        annotation.Opacity = 0.5;
+        // Edit the sticky note annotation
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the sticky note annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Sticky Note Annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-stickynote-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Sticky%20Notes/Edit).
+
+## See also
+
+* [How to delete the annotation programmatically](./text-markup-annotation#delete-annotation-programmatically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/text-markup-annotation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/text-markup-annotation.md
new file mode 100644
index 000000000..cf671cf4c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/annotation/text-markup-annotation.md
@@ -0,0 +1,401 @@
+---
+layout: post
+title: Text markup annotations in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about text markup annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text markup annotations in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the options to add, edit, and delete text markup annotations such as highlight, underline, strikethrough and squiggly annotations in the PDF document.
+
+![Blazor SfPdfViewer with Text Markup Annotation](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-text-markup-annotation.png)
+
+## Adding text markup annotation to the PDF Document
+
+Text Markup annotations can be added to the PDF document using the annotation toolbar and by using context menu.
+
+## Highlight a text
+
+There are two ways to highlight a text in the PDF document.
+
+**Using the context menu.**
+
+* Select a text in the PDF document and right-click it.
+* Select **Highlight** option in the context menu that appears
+
+![Highlighting Context in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-context.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **Highlight** button in the annotation toolbar. It enables the highlight mode.
+* Select the text and the highlight annotation will be added.
+* You can also select the text and apply the highlight annotation using the **Highlight** button.
+
+![Highlighting Text in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-highlight-text.png)
+
+In the pan mode, if the highlight mode is entered, the SfPdfViewer control will switch to text select mode to enable the text selection for highlighting the text.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Highlight</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await viewer.SetAnnotationModeAsync(AnnotationType.Highlight);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Underline a text
+
+There are two ways to underline a text in the PDF document.
+
+**Using the context menu.**
+
+* Select a text in the PDF document and right-click it.
+* Select **Underline** option in the context menu that appears.
+
+![Displaying Underline in Blazor SfPdfViewer ContextMenu](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-underline-context-menu.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **Underline** button in the annotation toolbar. It enables the underline mode.
+* Select the text and the underline annotation will be added.
+* You can also select the text and apply the underline annotation using the **Underline** button.
+
+![Blazor SfPdfViewer with Underline Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-underline-text.png)
+
+In the pan mode, if the underline mode is entered, the SfPdfViewer control will switch to text select mode to enable the text selection for underlining the text.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Underline</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationModeAsync(AnnotationType.Underline);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Strikethrough a text
+
+There are two ways to strikethrough a text in the PDF document:
+
+Using the context menu.
+
+* Select a text in the PDF document and right-click it.
+* Select **strikethrough** option in the context menu that appears.
+
+![Displaying Strike Through in Blazor SfPdfViewer ContextMenu](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-in-contextmenu.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **Strikethrough** button in the annotation toolbar. It enables the strikethrough mode.
+* Select the text and the strikethrough annotation will be added.
+* You can also select the text and apply the strikethrough annotation using the **Strikethrough** button.
+
+![Blazor PDFViewer with StrikeThrough Text](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-strike-through-text.png)
+
+In the pan mode, if the strikethrough mode is entered, the SfPdfViewer control will switch to text select mode to enable the text selection to strike through the text.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Strikethrough</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationModeAsync(AnnotationType.Strikethrough);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+## Squiggly a text
+
+There are two ways to squiggly a text in the PDF document:
+
+Using the context menu.
+
+* Select a text in the PDF document and right-click it.
+* Select **squiggly** option in the context menu that appears.
+
+![Displaying Squiggly in Blazor SfPdfViewer ContextMenu](../../pdfviewer-2/images/blazor-pdfviewer-squiggly-in-contextmenu.png)
+
+**Using the annotation toolbar.**
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **Squiggly** button in the annotation toolbar. It enables the squiggly mode.
+* Select the text and the squiggly annotation will be added.
+* You can also select the text and apply the squiggly annotation using the **Squiggly** button.
+
+![Blazor PDFViewer with Squiggly Text](../../pdfviewer-2/images/blazor-pdfviewer-squiggly-text.png)
+
+In the pan mode, if the squiggly mode is entered, the SfPdfViewer control will switch to text select mode to enable the text selection to squiggly the text.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">squiggly</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        viewer.SetAnnotationModeAsync(AnnotationType.Squiggly);
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Editing the properties of the text markup annotation
+
+The color and the opacity of the text markup annotation can be edited using the Edit Color tool and the Edit Opacity tool in the annotation toolbar.
+
+### Editing color
+
+The color of the annotation can be edited using the color palette provided in the Edit Color tool.
+
+![Editing Text Color in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-editing-text-color.png)
+
+### Editing opacity
+
+The opacity of the annotation can be edited using the range slider provided in the Edit Opacity tool.
+
+![Editing Text Opacity in Blazor SfPdfViewer](../../../PDF-Viewer/blazor/images/blazor-pdfviewer-edit-text-opacity.png)
+
+## Text markup annotation settings
+
+The properties of the text markup annotation can be set before creating the control using highlightSettings, underlineSettings, strikethroughSettings and squigglySettings.
+
+N> After editing the default color and opacity using the Edit color tool and Edit opacity tool, they will be changed to the selected values.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              HighlightSettings="@HighlightSettings"
+              UnderlineSettings="@UnderlineSettings"
+              StrikethroughSettings="@StrikethroughSettings"
+              SquigglySettings="@SquigglySettings"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    PdfViewerHighlightSettings HighlightSettings = new PdfViewerHighlightSettings
+        {
+            Color = "green",
+            Opacity = 0.6
+        };
+
+    PdfViewerUnderlineSettings UnderlineSettings = new PdfViewerUnderlineSettings
+        {
+            Color = "blue",
+            Opacity = 0.6
+        };
+
+    PdfViewerStrikethroughSettings StrikethroughSettings = new PdfViewerStrikethroughSettings
+        {
+            Color = "orange",
+            Opacity = 0.6
+        };
+
+    PdfViewerSquigglySettings SquigglySettings = new PdfViewerSquigglySettings
+        {
+            Color = "red",
+            Opacity = 0.6
+        };
+}
+
+```
+## Add text markup annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically add the text markup annotation such as Highlight, Underline, Strikethrough and squiggly within the SfPdfViewer control using the [AddAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_)  method.
+
+Below is an example demonstrating how you can use this method to add a text markup annotation to a PDF document:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@AddTextMarkupAnnotation">Add TextMarkup Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void AddTextMarkupAnnotation(MouseEventArgs args)
+    {
+        PdfAnnotation annotation = new PdfAnnotation();
+        // Set the Text markup annotation type like highlight, underline, strikethrough, Squiggly.
+        annotation.Type = AnnotationType.Highlight;
+        // Set the PageNumber starts from 0. So, if set to 2 it represents the page 3. 
+        annotation.PageNumber = 2;
+        List<Bound> bounds = new List<Bound>();
+        Bound bound = new Bound();
+        bound.X = 148;
+        bound.Y = 313;
+        bound.Width = 520;
+        bound.Height = 15;
+        bounds.Add(bound);
+        bound = new Bound();
+        bound.X = 148;
+        bound.Y = 332;
+        bound.Width = 102;
+        bound.Height = 15;
+        bounds.Add(bound);
+        // Set the Text Markup annotation bounds value
+        annotation.Bounds = bounds;
+        await Viewer.AddAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code will add a text markup annotation to the third page of the PDF document.
+
+![Programmatically Added Textmarkup annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-add-textmarkup-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Text%20Markup/Add).
+
+## Edit text markup annotation programmatically
+
+The Blazor SfPdfViewer offers the capability to programmatically edit the text markup annotation such as Highlight, Underline, Strikethrough and Squiggly within the SfPdfViewer control using the [EditAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EditAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to edit the text markup annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@EditTextMarkupAnnotation">Edit TextMarkup Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/TextMarkupAnnotation.pdf";
+
+    public async void EditTextMarkupAnnotation(MouseEventArgs args)
+    {
+        // Get annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation want to edit
+        PdfAnnotation annotation = annotationCollection[0];
+        // Change the color of the text markup annotation to green        
+        annotation.Color = "#008000";
+        // Change the opacity of the text markup annotation to 50% (0.5)        
+        annotation.Opacity = 0.5;
+        await Viewer.EditAnnotationAsync(annotation);
+    }
+}
+
+```
+
+This code snippet will edit the text markup annotation programmatically within the SfPdfViewer control.
+
+![Programmatically Edit Textmarkup annotation in Blazor SfPdfViewer](../images/blazor-sfpdfviewer-programmatically-edit-textmarkup-annotation.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Text%20Markup/Edit).
+
+## Delete annotation programmatically
+
+The Blazor SfPdfViewer additionally offers the functionality to programmatically remove annotations within the SfPdfViewer control using the [DeleteAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+Below is an example demonstrating how you can utilize this method to delete an annotation programmatically:
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@DeleteAnnotation">Delete Annotation</SfButton>
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/Annotation.pdf";
+
+    public async void DeleteAnnotation(MouseEventArgs args)
+    {
+        // Get the annotation collection
+        List<PdfAnnotation> annotationCollection = await Viewer.GetAnnotationsAsync();
+        // Select the annotation you want to delete
+        PdfAnnotation annotation = annotationCollection[0];
+        // Delete the specified PdfAnnotation
+        await Viewer.DeleteAnnotationAsync(annotation);
+        // Alternatively, you can also delete the specified PdfAnnotation based on AnnotationId
+        //await Viewer.DeleteAnnotationAsync(annotation.Id);
+    }
+}
+
+```
+This code snippet demonstrates how to programmatically delete an annotation within the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer using the [DeleteAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+N> Alternatively, delete the annotation with the annotation ID using the [DeleteAnnotationAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteAnnotationAsync_System_String_) method.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Programmatic%20Support/Delete%20Annotation).
+
+## See also
+
+* [How to change the highlight color of the text](../how-to/change-the-highlighted-color-of-the-text)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/command-manager.md b/Document-Processing/PDF/PDF-Viewer2/blazor/command-manager.md
new file mode 100644
index 000000000..80a6dc251
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/command-manager.md
@@ -0,0 +1,92 @@
+---
+layout: post
+title: Command Manager in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about Command Manager in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Command Manager in Blazor SfPdfViewer Component
+
+The Pdfviewer provides support to map or bind command execution with a desired combination of key gestures.
+
+The [PdfViewerCommandManager](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.KeyboardInteractions.PdfViewerCommandManager.html) provides support to define custom commands. These custom commands are executed when the specified key gesture is recognized. 
+
+## Command Execution
+To execute custom commands, simply provide a list of keyboard shortcuts along with the corresponding actions. These actions will be triggered when the specified keyboard shortcuts are pressed.
+
+* [Commands](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.KeyboardCommand.html): 
+Represents the list of custom keyboard shortcuts along with the name of the action will be executed in PDF viewer
+
+* [CommandExecuted](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.CommandExecutedEventArgs.html): 
+When you use the keyboard shortcut, it triggers the execution of this method, which carries out the specified action within the PDF viewer.
+
+## How to create custom command: 
+You can create custom keyboard commands by specifying the name of the action and the corresponding keyboard combination within the PDF viewer.
+
+* [ActionName](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.CommandExecutedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_CommandExecutedEventArgs_ActionName): Specifies the name of the action to be executed upon pressing the keyboard shortcuts within the PDF viewer.
+
+* [Gesture](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.KeyGesture.html): 
+Specifies the combination of [keys](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.KeyGesture.html#Syncfusion_Blazor_SfPdfViewer_KeyGesture_Key) and [modifiers](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.KeyGesture.html#Syncfusion_Blazor_SfPdfViewer_KeyGesture_Modifiers), including Control, Shift, Alt or Meta key that are utilized within the PDF viewer.
+
+The following code snippet explains how to create custom command.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              @ref="@pdfViewer"
+              DocumentPath="@DocumentPath">
+    <PdfViewerEvents CommandExecuted="@CommandExecute"></PdfViewerEvents>
+    <PdfViewerCommandManager Commands="@command" ></PdfViewerCommandManager>                
+</SfPdfViewer2>
+
+@code {
+    // Reference to the Pdf viewer 
+    SfPdfViewer2 pdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    /// <summary> 
+    /// Defines the list of custom commands 
+    /// </summary> 
+
+    public List<KeyboardCommand> command = new List<KeyboardCommand>() 
+    { 
+        new KeyboardCommand() 
+        { 
+            ActionName = "FitToWidth", 
+            Gesture = new KeyGesture() { Key = PdfKeys.W, Modifiers = PdfModifierKeys.Shift } 
+        }, 
+        new KeyboardCommand() 
+        { 
+            ActionName = "FitToPage", 
+            Gesture = new KeyGesture() { Key = PdfKeys.P, Modifiers = PdfModifierKeys.Alt } 
+        } 
+    }; 
+
+    /// <summary> 
+    /// Custom command execution. 
+    /// </summary> 
+
+    public void CommandExecute(CommandExecutedEventArgs args) 
+    { 
+        if(args.Modifiers == PdfModifierKeys.Shift && args.Key == PdfKeys.W) 
+        { 
+            pdfViewer.FitToWidthAsync(); 
+        } 
+        else if (args.Modifiers == PdfModifierKeys.Alt && args.Key == PdfKeys.P) 
+        { 
+            pdfViewer.FitToPageAsync(); 
+        }  
+    } 
+} 
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Keyboard%20accessibility/Command%20Manager)
+
+## See also
+
+* [Keyboard Accessibility in Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer](./accessibility)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-beanstalk-deployment.md b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-beanstalk-deployment.md
new file mode 100644
index 000000000..f157a2f5b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-beanstalk-deployment.md
@@ -0,0 +1,139 @@
+---
+layout: post
+title: Blazor SfPdfViewer deployment in AWS BeanStalk | Syncfusion
+description: AWS Elastic Beanstalk simplifies the deployment and management of scalable web applications and services on Linux-based infrastructure
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Deploy Blazor Server App on AWS Elastic Beanstalk Linux
+
+In this section, we'll guide you through the process of adding Syncfusion&reg; Blazor PDF Viewer component to your Blazor Server app and deploy it on AWS Elastic Beanstalk. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp).
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Create a new Blazor App in Visual Studio
+
+Create a new Blazor Server app and name it **PDFViewerGettingStarted**.
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install Blazor PDF Viewer NuGet package in Blazor Server App
+
+Add the following NuGet packages into the Blazor Server app.
+
+* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) 
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the **~/Program.cs** file.
+
+{% tabs %}
+{% highlight c# tabtitle="~/Program.cs" hl_lines="3 9 12" %}
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+builder.Services.AddRazorPages();
+builder.Services.AddServerSideBlazor().AddHubOptions(o => { o.MaximumReceiveMessageSize = 102400000; });
+
+// Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section of the **~/Pages/_Host.cshtml** file.
+
+{% tabs %}
+{% highlight cshtml %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If you don't provide the `DocumentPath` property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required.
+
+## Run the application
+
+Run the application, and the PDF file will be displayed using Syncfusion&reg; Blazor PDF Viewer component in your browser.
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](aws-benstalk-deployment-images/blazor-pdfviewer.png)" %}
+
+
+## Steps to publish as AWS Elastic Beanstalk
+
+1. Right-click the project and select Publish to AWS Elastic Beanstalk (Legacy) option.
+![beanstalk-publish](aws-benstalk-deployment-images/beanstalk-publish.png)
+2. Select the Deployment Target as Create a new application environment and click Next button.
+![deployment-target](aws-benstalk-deployment-images/beanstalk-instance.png)
+3. Choose the Environment Name in the dropdown list and the URL will be automatically assign and check the URL is available, if available click next otherwise change the URL
+![beanstalk-environment-name](aws-benstalk-deployment-images/beanstalk-environment.png)
+4. Select the instance type in t3a.micro from the dropdown list and click next.
+![beanstalk-instance-type](aws-benstalk-deployment-images/beanstalk-aws-options.png)
+5. Click the Next button to proceed further.
+![beanstalk-roles](aws-benstalk-deployment-images/beanstalk-permissions.png)
+6. Click the Next button
+![beanstalk-review](aws-benstalk-deployment-images/beanstalk-review.png)
+7. Click the Deploy button to deploy the sample on AWS Elastic Beanstalk.
+![beanstalk-deploy](aws-benstalk-deployment-images/beanstalk-deploy.png)
+8. After changing the status from Updating to Environment is healthy, click the URL.
+![beanstalk-success-message](aws-benstalk-deployment-images/beanstalk-success.png)
+9. After opening the provided URL the provided PDF document will be displayed in PDF Viewer.
+![beanstalk-output](aws-benstalk-deployment-images/beanstalk-output.png)
+
+## See also
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/web-assembly-application)
+
+* [Getting Started with Blazor PDF Viewer Component in WSL mode](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/wsl-application)
+
+* [Learn different ways to add script reference in Blazor Application](https://blazor.syncfusion.com/documentation/common/adding-script-references)
+
+
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png
new file mode 100644
index 000000000..ce37b6900
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-aws-options.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png
new file mode 100644
index 000000000..0c210c722
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-deploy.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png
new file mode 100644
index 000000000..0eaa0400e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-environment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png
new file mode 100644
index 000000000..9620ba18c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-instance.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png
new file mode 100644
index 000000000..7610382a5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-output.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png
new file mode 100644
index 000000000..afaef1b87
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-permissions.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png
new file mode 100644
index 000000000..03a3240f8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-publish.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png
new file mode 100644
index 000000000..0c210c722
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-review.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png
new file mode 100644
index 000000000..004f13572
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/beanstalk-success.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/blazor-pdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/blazor-pdfviewer.png
new file mode 100644
index 000000000..27589690a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/blazor-pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/final.png b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/final.png
new file mode 100644
index 000000000..eda88fecc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/deployment/aws-benstalk-deployment-images/final.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/events.md b/Document-Processing/PDF/PDF-Viewer2/blazor/events.md
new file mode 100644
index 000000000..c26166cc0
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/events.md
@@ -0,0 +1,141 @@
+---
+layout: post
+title: Events in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about events in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Events in Blazor SfPdfViewer Component
+
+The events provided in SfPdfViewer component are listed out as follows:
+
+|Name|Description|
+|---|---|
+|AddSignature|Triggers when signature is added over the page of the PDF document.|
+|AjaxRequestFailed|Triggers when the AJAX request is failed.|
+|AnnotationAdded|Triggers when an annotation is added over the page of the PDF document.|
+|AnnotationMouseover|Triggers when mouse over the annotation object.|
+|AnnotationMoved|Triggers when an annotation is moved over the page of the PDF document.|
+|AnnotationPropertiesChanged|Triggers when the property of the annotation is changed in the page of the PDF document.|
+|AnnotationRemoved|Triggers when an annotation is removed from the page of the PDF document.|
+|AnnotationResized|Triggers when an annotation is resized over the page of the PDF document.|
+|AnnotationSelected|Triggers when an annotation is selected over the page of the PDF document.|
+|AnnotationUnselected|Triggers when an annotation is unselected over the page of the PDF document.|
+|Created|Triggers when the PDFViewer component is created.|
+|DocumentEdited|Triggers when the PDF Document getting edited in SfPdfViewer.|
+|DocumentLoaded|Triggers while loading document into PdfViewer.|
+|DocumentLoadFailed|Triggers while loading document got failed in PdfViewer.|
+|DcoumentUnloaded|Triggers while close the document|
+|DownloadEnd|Triggers an event when the download actions is finished.|
+|DownloadStart|Triggers an event when the download action is started.|
+|ExportFailed|Triggers when an export annotations failed in the SfPdfViewer.|
+|ExportStarted|Triggers when an exported annotations started in the SfPdfViewer.|
+|ExportSucceed|Triggers when an export annotations succeed in the SfPdfViewer.|
+|ExtractTextCompleted|Triggers when an text extraction is completed in the SfPdfViewer.|
+|ImportFailed|Triggers when an imports annotations failed in the PDF document.
+|ImportStarted|Triggers when an imported annotations started in the PDF document.|
+|ImportSucceed|Triggers when an imports annotations succeed in the PDF document.|
+|MoveSignature|Triggers when an signature is moved over the page of the PDF document.|
+|OnAnnotationDoubleClick|Triggers an event when the annotation is double click.|
+|OnHyperlinkClick|Triggers when hyperlink in the PDF Document is clicked|
+|OnHyperlinkMouseOver|Triggers when hyperlink in the PDF Document is hovered|
+|OnPageClick|Triggers when the mouse click is performed over the page of the PDF document.|
+|OnTextSearchComplete|Triggers an event when the text search is completed.|
+|OnTextSearchHighlight|Triggers an event when the text search text is highlighted.|
+|OnTextSearchStart|Triggers an event when the text search is started.|
+|OnTextSelectionEnd|Triggers an event when the text selection is finished.|
+|OnTextSelectionStart|Triggers an event when the text selection is started.|
+|OnThumbnailClick|Triggers an event when the thumbnail is clicked in the thumbnail panel of SfPdfViewer.|
+|PageChanged|Triggers when there is change in current page number.|
+|PageMouseover|Triggers when mouse over the page.|
+|PrintEnd|Triggers an event when the print actions is finished.|
+|PrintStart|Triggers an event when the print action is started.|
+|RemoveSignature|Triggers when signature is removed over the page of the PDF document.|
+|ResizeSignature|Triggers when signature is resized over the page of the PDF document.|
+|SignaturePropertiesChange|Triggers when the property of the signature is changed in the page of the PDF document.|
+|SignatureSelected|Triggers when signature is selected over the page of the PDF document.|
+|SignatureUnselected|Triggers when signature is unselected over the page of the PDF document.|
+|ZoomChanged|Triggers when there is change in the magnification value.|
+
+## Adding SfPdfViewer events to Blazor component
+
+The Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer events has to be wrapped inside the [PdfViewerEvents](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html) tag.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Height="100%" Width="100%">
+    <PdfViewerEvents DocumentLoaded="DocumentLoaded"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    private void DocumentLoaded(LoadEventArgs args)
+    {
+        object PageData = args.PageData;
+    }
+}
+
+```
+
+## Created event
+
+The Created event is triggered when the PDFViewer component is rendered.
+
+The following code illustrates how to load PDF document on created event.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2  DocumentPath="@DocumentPath" Height="100%" Width="100%">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code 
+{
+    public string DocumentPath { get; set; }
+
+    //Triggers when the PDFViewer component is created.
+    public void created()
+    {
+        string Link = "http://infolab.stanford.edu/pub/papers/google.pdf";
+        System.Net.WebClient webClient = new System.Net.WebClient();
+        //Returns the byte array containing the downloaded PDF file.
+        byte[] byteArray = webClient.DownloadData(Link);
+        //Converting the byte array to Base64 string and sets the document path.
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }  
+}
+
+```
+
+## DocumentEdited Event
+
+The DocumentEdited Event is Triggered when the PDF document getting Edited. 
+
+The following code illustrates how to trigger the DocumentEdited Event. In that code , [EditingAction](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.EditingAction.html) provides the information related to document edited. 
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer 
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Height="100%" Width="100%"> 
+    <PdfViewerEvents DocumentEdited="@DocumentEdited"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code{ 
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succintly.pdf"; 
+    public async Task DocumentEdited(DocumentEditedEventArgs args) 
+    {
+        Console.WriteLine(args.EditingAction);
+    }	 
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20document%20using%20created%20event)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/create-programmatically.md b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/create-programmatically.md
new file mode 100644
index 000000000..7799c85d7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/create-programmatically.md
@@ -0,0 +1,494 @@
+---
+layout: post
+title: Programmatic Support for Form Designer in SfPdfViewer | Syncfusion
+description: Learn how to create, modify, and manage form fields programmatically in the Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Programmatic Support for Form Designer in Blazor PDF Viewer
+
+The Blazor SfPdfViewer component provides programmatic control over form fields in a PDF document. This enables seamless form handling and enhances user interaction through code.  
+
+## Adding Form Fields Programmatically
+
+The Blazor SfPdfViewer offers a way to add form fields programmatically using the [`AddFormFieldsAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddFormFieldsAsync_System_Collections_Generic_List_Syncfusion_Blazor_SfPdfViewer_FormFieldInfo__) method.
+This method accepts a list of [`FormFieldInfo`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html) objects, where each object represents a form field with specific properties.  
+
+The example below demonstrates how to add form fields in the PdfViewer component:
+
+```cshtml
+@page "/"
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents DocumentLoaded="@AddFormFields"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+    
+    // Path to the PDF document
+    private string DocumentPath = "wwwroot/data/formDesigner_Empty.pdf";
+
+    // Method triggered when the document is loaded
+    private async Task AddFormFields()
+    {
+        // Define various form fields with their properties and positions
+        List<FormFieldInfo> formFields = new List<FormFieldInfo>
+        {
+            new ButtonField { Name = "Button Field", Bounds = new Bound { X = 278, Y = 157, Width = 150, Height = 40 } },
+            new TextBoxField { Name = "TextBox Field", Bounds = new Bound { X = 278, Y = 247, Width = 200, Height = 24 } },
+            new PasswordField { Name = "Password Field", Bounds = new Bound { X = 278, Y = 323, Width = 200, Height = 24 } },
+            new CheckBoxField { Name = "CheckBox Field1", IsChecked = false, Bounds = new Bound { X = 278, Y = 398, Width = 20, Height = 20 } },
+            new CheckBoxField { Name = "CheckBox Field2", IsChecked = false, Bounds = new Bound { X = 386, Y = 398, Width = 20, Height = 20 } },
+            new RadioButtonField { Name = "RadioButton", Value = "Value1", IsSelected = false, Bounds = new Bound { X = 278, Y = 470, Width = 20, Height = 20 } },
+            new RadioButtonField { Name = "RadioButton", Value = "Value2", IsSelected = false, Bounds = new Bound { X = 386, Y = 470, Width = 20, Height = 20 } },
+            new DropDownField { Name = "DropDown Field", Bounds = new Bound { X = 278, Y = 536, Width = 200, Height = 24 } },
+            new ListBoxField { Name = "ListBox Field", Bounds = new Bound { X = 278, Y = 593, Width = 198, Height = 66 } },
+            new SignatureField { Name = "Signature Field", Bounds = new Bound { X = 278, Y = 686, Width = 200, Height = 63 } }
+        };
+        
+        // Add form fields asynchronously to the PDF Viewer
+        await viewer.AddFormFieldsAsync(formFields);
+    }
+}
+```
+The following image illustrates the programmatic addition of form fields in Blazor SfPdfViewer:
+
+![Programmatical Add Form Fields in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-add.png)
+
+N> Users can also add form fields through the UI in SfPdfViewer, allowing for an intuitive and interactive customization experience.  
+[Interactively Add Form Fields](./ui-interactions)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/AddFormField.razor).
+
+## Form Field Settings  
+
+The Blazor SfPdfViewer provides [`FormFieldSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html) to configure the appearance of form fields in a PDF document. These settings allow defining the border, background, text styles, and other properties.
+
+This code below is for [thickness](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_Thickness). You can also configure **[background color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_BackgroundColor), [border color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_BorderColor), [text color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_Color), [font family](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_FontFamily), [font size](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_FontSize), and [font style](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSettings.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSettings_FontStyle)**.
+
+```cshtml
+@page "/"
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <!-- Form field settings with specified thickness -->
+    <FormFieldSettings Thickness="@thickness"></FormFieldSettings>
+    <!-- Event triggered when the document is loaded -->
+    <PdfViewerEvents DocumentLoaded="@AddFormFields"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Default thickness value for form fields
+    private double thickness { get; set; } = 4;
+
+    // Path to the PDF document to be loaded in the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Empty.pdf";
+
+    // Method triggered when the document is loaded
+    private async Task AddFormFields()
+    {
+        // Define a new ListBox form field with specified name and position
+        ListBoxField listBox = new ListBoxField 
+        { 
+            Name = "ListBox Field", 
+            Bounds = new Bound { X = 278, Y = 593, Width = 198, Height = 66 } 
+        };
+
+        // Add the form field asynchronously to the PDF Viewer
+        await viewer.AddFormFieldsAsync(new List<FormFieldInfo> { listBox });
+    }
+}
+
+```
+The following image illustrates the listbox field thickness customization in Blazor SfPdfViewer:
+
+![Form Field Thickness Customization in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setting-thickness.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/FieldSetting.razor).
+
+## Activating and Deactivating Form Field Mode
+
+The [`SetFormDrawingModeAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_SetFormDrawingModeAsync_System_Nullable_Syncfusion_Blazor_SfPdfViewer_FormFieldType__) method allows defining the type of form field that can be drawn in the PDF Viewer. This enables users to add form fields interactively.
+
+- **Setting Form Field Mode:** Specify a [`FormFieldType`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldType.html) to allow adding a specific form field.
+- **Clearing Form Field Mode:** Reset the form field selection by calling [`SetFormDrawingModeAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_SetFormDrawingModeAsync_System_Nullable_Syncfusion_Blazor_SfPdfViewer_FormFieldType__) without parameters.
+
+### Example
+
+Below is an example demonstrating how to set and clear the form field drawing mode:
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Buttons to set and clear the form field drawing mode -->
+<SfButton @onclick="SetFormDrawingMode">Set Form Field Type</SfButton>
+<SfButton @onclick="ClearFormDrawingMode">Clear Form Field Type</SfButton>
+
+<!-- PDF Viewer component -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Path to the PDF document to be loaded in the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Empty.pdf";
+
+    // Method to enable form field drawing mode with a specific field type
+    async Task SetFormDrawingMode()
+    {
+        // Sets the form field drawing mode to DropDown, allowing users to add dropdown fields
+        await viewer.SetFormDrawingModeAsync(FormFieldType.DropDown);
+    }
+
+    // Method to disable form field drawing mode
+    async Task ClearFormDrawingMode()
+    {
+        // Clears the form field drawing mode, preventing further form field additions
+        await viewer.SetFormDrawingModeAsync();
+    }
+}
+```
+The following image illustrates setting and clearing the form field mode in Blazor SfPdfViewer:  
+
+![Set and Clear Form Field Mode in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setmode.gif)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/SetMode.razor).
+
+## Update Form Fields
+
+The Update functionality enables dynamic modification of form field properties in a PDF document by retrieving fields via [`GetFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_GetFormFieldsAsync) and updating their values, appearance, or behavior. These changes are applied using [`UpdateFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_UpdateFormFieldsAsync_Syncfusion_Blazor_SfPdfViewer_FormField_), ensuring they reflect in the viewer.
+
+### Appearance Properties
+Controls the visual aspects of form fields, including [background color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_BackgroundColor), [border color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_BorderColor), [text color](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_Color), [thickness](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_Thickness), [maxLength](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.TextBoxField.html#Syncfusion_Blazor_SfPdfViewer_TextBoxField_MaxLength), [visibility](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_Visibility), [font size](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_FontSize), [font family](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_FontFamily), [font style](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_FontStyle) and [text alignment](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_TextAlignment). These properties help customize the look and feel of form fields in the document.
+
+```cshtml
+@page "/"
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <!-- Event triggered when the document is loaded -->
+    <PdfViewerEvents DocumentLoaded="@UpdateFormField"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Path to the PDF document to be loaded in the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    // Method triggered when the document is loaded
+    private async Task UpdateFormField()
+    {
+        // Retrieve the list of added form fields from the PDF Viewer
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+
+        // Access the first form field in the list (assuming it is a button field)
+        FormFieldInfo buttonField = formFields[0];
+
+        // Modify the appearance properties of the form field
+        buttonField.BackgroundColor = "#008000";
+        buttonField.BorderColor = "#FFFF00";     
+        buttonField.Thickness = 2;                
+
+        // Update the form field in the PDF Viewer with the new properties
+        await viewer.UpdateFormFieldsAsync(new List<FormFieldInfo> { buttonField });
+    }
+}
+
+```
+The following image illustrates updating the appearance of a button form field in Blazor SfPdfViewer:  
+
+![Update Form Field Appearance in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-apperance.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/UpdateApperanceProperties.razor).
+
+### Identification & Metadata Properties
+Includes properties like [name](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ListItem.html#Syncfusion_Blazor_SfPdfViewer_ListItem_Name) (unique identifier) and [value](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ListItem.html#Syncfusion_Blazor_SfPdfViewer_ListItem_Value) (storing user input or assigned data). These attributes help distinguish and manage form fields efficiently.
+
+```cshtml
+@page "/"
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents DocumentLoaded="@UpdateFormField"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    private async Task UpdateFormField()
+    {
+        // Retrieve the list of added form fields
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+        foreach (FormFieldInfo field in formFields)
+        {
+            if (field is DropDownField dropDown)
+            {
+                dropDown.Items = new List<ListItem> {
+                        new ListItem { Name = "option 1", Value = "Option 1" },
+                        new ListItem { Name = "option 2", Value = "Option 2" },
+                        new ListItem { Name = "option 3", Value = "Option 3" }
+                    };
+                // Update form fields in the viewer with new properties
+                await viewer.UpdateFormFieldsAsync(new List<FormFieldInfo> { dropDown });
+            }
+        }
+    }
+}
+```
+The following image illustrates updating the metadata of dropdown field in Blazor SfPdfViewer:  
+
+![Update Form Field Metadata in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-value.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/UpdateValueProperties.razor).
+
+### Grouping and Synchronizing Form Fields Properties
+
+When multiple fields share the same name, changes apply to all linked fields. Updates to **[Value](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.TextBoxField.html#Syncfusion_Blazor_SfPdfViewer_TextBoxField_Value), [Required](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_IsRequired), [Readonly](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_IsReadOnly), [Multiline](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.TextBoxField.html#Syncfusion_Blazor_SfPdfViewer_TextBoxField_IsMultiline), and [Tooltip](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_TooltipText)** reflect instantly. This ensures consistency across the document.
+
+```cshtml
+@page "/"
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents DocumentLoaded="@UpdateFormField"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    private async Task UpdateFormField()
+    {
+        // Retrieve the list of added form fields
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+        FormFieldInfo radioButton = formFields[6];
+        radioButton.IsReadOnly = true;
+        radioButton.IsRequired = true;
+        await viewer.UpdateFormFieldsAsync(new List<FormFieldInfo> { radioButton });
+    }
+}
+```
+The following image illustrates updating linked properties of a radio button form field in Blazor SfPdfViewer:  
+
+![Update Linked Field Properties in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-linked-properties.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/UpdateLinkedProperties.razor).
+
+N> Users can also Update form fields through the UI in SfPdfViewer, allowing for an intuitive and interactive customization experience.  
+[Interactively Update Form Fields](./ui-interactions)
+
+## Delete Form Fields
+
+The [`DeleteFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteFormFieldsAsync_System_Boolean_) method enables the removal of form fields from the document, allowing users to manage and modify form structures efficiently.  
+
+### Delete All Form Fields  
+Removes all form fields from the document using [`DeleteFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteFormFieldsAsync_System_Boolean_) , clearing all interactive elements at once.
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Button to delete all form fields -->
+<SfButton onclick="@DeleteAllFormFields">Delete All Form Fields</SfButton>
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+    
+    // Path to the PDF document
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+    
+    private async Task DeleteAllFormFields() 
+    {
+        // Deletes all form fields from the PDF Viewer.
+        await viewer.DeleteFormFieldsAsync(true);
+    }
+}
+```
+The following image illustrates deleting all form fields in Blazor SfPdfViewer:  
+
+![Delete All Form Fields in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-all.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/DeleteAllFields.razor).
+
+### Delete Selected Form Fields  
+Deletes only the currently selected form field using [`DeleteFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteFormFieldsAsync_System_Boolean_), enabling users to modify the document while keeping the rest of the form structure intact.
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Button to delete the selected form fields -->
+<SfButton onclick="@DeleteSelectedFormField">Delete Selected Form Field</SfButton>
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+    
+    // Path to the PDF document
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+    
+    private async Task DeleteSelectedFormField() 
+    {
+        // Delete selected form field from the PDF Viewer.
+        await viewer.DeleteFormFieldsAsync(false);
+    }
+}
+```
+The following image illustrates deleting a selected password field in Blazor SfPdfViewer:  
+
+![Delete Selected Password Field in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-selected.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/DeleteSelectedField.razor).
+
+### Delete Form Fields by IDs  
+Removes specific form fields using [`DeleteFormFieldsAsync()`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DeleteFormFieldsAsync_System_Collections_Generic_List_System_String__) based on their unique identifiers, allowing precise control over which fields are deleted without affecting others.  
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Delete form fields by ID -->
+<SfButton @onclick="DeleteFormFields">Delete Form Field By ID</SfButton>
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Path to the PDF document that will be loaded into the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    // Method to delete form fields based on their ID
+    private async Task DeleteFormFields()
+    {
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+        await viewer.DeleteFormFieldsAsync(new List<string> {formFields[0].Id}); // Delete form fields by ID
+    }
+}
+```
+The following image illustrates deleting form fields by their IDs in Blazor SfPdfViewer:  
+
+![Delete Form Fields by IDs in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-ids.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/DeleteById.razor).
+
+N> Users can also Delete form fields through the UI in SfPdfViewer, allowing for an intuitive and interactive customization experience.  
+[Interactively Delete Form Fields](./ui-interactions)
+
+## Select Form Field
+
+Form field can be programmatically selected using the [`SelectFormFieldAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_SelectFormFieldAsync_Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_) method. This allows users to highlight specific form field based on either their unique identifier or their object reference.
+
+### Select Form Field by ID
+
+To select a form field using its unique identifier, pass the field's ID to the [`SelectFormFieldAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_SelectFormFieldAsync_System_String_) method.
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Button to select a form field by its ID -->
+<SfButton @onclick="SelectFormFieldByID">Select Form Field By ID</SfButton>
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Path to the PDF document that will be loaded in the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    // Method to select a form field by ID
+    private async Task SelectFormFieldByID()
+    {
+        // Retrieve all form fields currently present in the PDF
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+        // Select the form field asynchronously using its ID
+        await viewer.SelectFormFieldAsync(formFields[0]);
+  
+    }
+}
+```
+The following image illustrates selecting a button field by its ID in Blazor SfPdfViewer:  
+
+![Select Button Field by ID in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-id.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/SelectFieldById.razor).
+
+### Select Form Field by Object Reference
+
+Alternatively, you can retrieve all available form fields using [`GetFormFieldsAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_GetFormFieldsAsync), then select a specific field by passing its object reference to [`SelectFormFieldAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_SelectFormFieldAsync_Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_).
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.Buttons
+
+<!-- Button to trigger form field selection -->
+<SfButton @onclick="SelectFormField">Select Form Field</SfButton>
+
+<!-- PDF Viewer component with reference binding and document loading -->
+<SfPdfViewer2 @ref="@viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the PDF Viewer instance
+    private SfPdfViewer2 viewer;
+
+    // Path to the PDF document that will be loaded in the viewer
+    private string DocumentPath = "wwwroot/data/formDesigner_Document.pdf";
+
+    // Method to select the first available form field in the document
+    private async Task SelectFormField()
+    {
+        // Retrieve all form fields present in the PDF
+        List<FormFieldInfo> formFields = await viewer.GetFormFieldsAsync();
+        // Select the first form field from the list
+        FormFieldInfo formField = formFields[3];
+        await viewer.SelectFormFieldAsync(formField);
+
+    }
+}
+```
+The following image illustrates selecting a checkbox field in Blazor SfPdfViewer:  
+
+![Select CheckBox Field in Blazor SfPdfViewer](../../pdfviewer-2/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-field.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/SelectByField.razor).
+
+N> Ensure form field interaction mode is enabled before selecting a field.
+Refer to the documentation for enabling form field toolbar [Interaction mode](./overview).
+
+## See also
+
+* [Overview of Form Designer](./overview)
+* [UI interactions in form Designer](./ui-interactions)
+* [Events in Form Designer](./events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/events.md b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/events.md
new file mode 100644
index 000000000..71184a43f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/events.md
@@ -0,0 +1,719 @@
+---
+layout: post
+title: Form Designer events in SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about events in form Designer in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Form Designer Events in Blazor PDF Viewer
+The Blazor PDF Viewer provides built-in support for handling form field-related events through the Form Designer feature. These events allow developers to track and customize the behavior of form fields, such as adding, removing, selecting, resizing, and modifying properties.
+
+## Event List
+Below are the key events provided by the Form Designer to handle form field interactions in the PDF Viewer.
+
+| Event Name                | Description |
+|---------------------------|-------------|
+| **FormFieldAdding**       | Triggered before a new form field is added, allowing validation before insertion. |
+| **FormFieldAdded**        | Triggered when a form field is added to the PDF document. |
+| **FormFieldDeleted**      | Triggered when a form field is removed from the document. |
+| **FormFieldClick**        | Triggered when a user clicks on a form field while designer mode is off. |
+| **FormFieldDoubleClick**  | Triggered when a form field is double-clicked. |
+| **FormFieldSelected**     | Triggered when a form field is selected. |
+| **FormFieldUnselected**   | Triggered when a form field is unselected. |
+| **FormFieldResized**      | Triggered when a form field is resized. |
+| **ValidateFormFields**    | Triggered when form fields are validated. |
+| **FormFieldFocusIn**      | Triggered when focus enters a form field. |
+| **FormFieldFocusOut**     | Triggered when focus leaves a form field. |
+| **FormFieldMouseEnter**   | Triggered when the mouse hovers over a form field. |
+| **FormFieldMouseLeave**   | Triggered when the mouse leaves a form field. |
+| **FormFieldPropertyChanged** | Triggered when a form field's properties are modified. |
+| **IsDesignerModeChanged** | Triggered when the designer mode state changes in the PDF Viewer. |
+| **FormFieldsExporting**   | Triggered before form fields are exported, allowing customization of the export process. |
+| **FormFieldsImporting**   | Triggered before form fields are imported, allowing validation or modifications. |
+| **FormFieldsExported**    | Triggered when form fields are successfully exported. |
+| **FormFieldsImported**    | Triggered when form fields are successfully imported. |
+| **FormFieldsExportFailed** | Triggered when form fields export operation fails. |
+| **FormFieldsImportFailed** | Triggered when form fields import operation fails. |
+
+### FormFieldAdding Event
+
+[FormFieldAdding](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldAdding) event is triggered before a form field addition starts in the SfPdfViewer2 component.
+
+Additionally, the event provides a Cancel property, which can be set to true to prevent the form field from being added to the document conditionally.
+
+###### Event Arguments
+The FormFieldAdding event provides [FormFieldAddEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddEventArgs.html), which contains properties like [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldAddedEventArgs_Field) (form field details), [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldAddedEventArgs_PageNumber) (target page), and [Cancel](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldAddEventArgs_Cancel) (to prevent addition).
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldAdding="@OnFormFieldAdding"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    void OnFormFieldAdding(FormFieldAddEventArgs args)
+    {
+        // Access details about the adding form field
+        Console.WriteLine($"Form Field being added: {args.Field.Name}");
+        args.Cancel = true; // Prevents the form field from being added
+        // Additional processing logic
+    }
+}
+
+```
+By setting args.Cancel = true;, developers can conditionally prevent the addition of form fields based on custom logic.
+
+### FormFieldAdded Event
+
+[FormFieldAdded](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldAdded) event is triggered whenever a new form field is added to the PDF document. It allows developers to monitor the addition of form fields and apply default properties or validations.
+
+###### Event Arguments
+The FormFieldAdded event provides [FormFieldAddedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddedEventArgs.html), which includes properties like [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldAddedEventArgs_Field) (details of the added field) and [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldAddedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldAddedEventArgs_PageNumber) (where the field was added). Developers can use these properties to monitor or modify the added form fields.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldAdded="@OnFormFieldAdded"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    void OnFormFieldAdded(FormFieldAddedEventArgs args)
+    {
+        // Access details about the added form field
+        Console.WriteLine($"Form Field added: {args.Field.Name}");
+        // Additional processing logic
+    }
+}
+```
+
+### FormFieldDeleted Event
+
+[FormFieldDeleted](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldDeleted) event is triggered when a form field is removed from the document. It can be used to ensure proper cleanup and prevent accidental deletions.
+
+###### Event Arguments
+The FormFieldDeleted event provides [FormFieldDeletedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDeletedEventArgs.html), which contains properties like [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDeletedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDeletedEventArgs_Field) (deleted field details) and [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDeletedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDeletedEventArgs_PageNumber). This event helps track and manage field deletions.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldDeleted="@OnFormFieldDeleted"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldDeleted(FormFieldDeletedEventArgs args)
+    {
+        // Access details about the deleted form field
+        Console.WriteLine($"Form field deleted: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+### FormFieldClick Event
+
+[FormFieldClick](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldClick) is triggered when a user clicks on a form field while designer mode is off. This event can be used to display tooltips, highlight fields, or open settings.
+
+###### Event Arguments
+The FormFieldClick event provides [FormFieldClickArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldClickArgs.html), containing [FormField](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldClickArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldClickArgs_FormField) (clicked field details). It enables actions like highlighting fields or opening settings.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldClick="@OnFormFieldClicked"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    void OnFormFieldClicked(FormFieldClickArgs args)
+    {
+        // Access details about the clicked form field
+        Console.WriteLine($"Form Field clicked: {args.FormField.Name}");
+        // Additional processing logic
+    }
+}
+```
+### FormFieldDoubleClick Event
+
+[FormFieldDoubleClick](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldDoubleClick) is triggered when a form field is double-clicked. This event is useful for triggering additional actions.
+
+###### Event Arguments
+The FormFieldDoubleClick event provides [FormFieldDoubleClickEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDoubleClickEventArgs.html), which includes [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDoubleClickEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDoubleClickEventArgs_Field) (double-clicked field details). It is useful for triggering additional actions when a field is double-clicked.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldDoubleClick="@OnFormFieldDoubleClicked"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldDoubleClicked(FormFieldDoubleClickEventArgs args)
+    {
+        // Access details about the double clicked form field
+        Console.WriteLine($"Form field double clicked: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+### FormFieldSelected Event
+
+[FormFieldSelected](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldSelected) is triggered when a form field is selected. It can be used to show additional options or highlight the selected field.
+
+###### Event Arguments
+The FormFieldSelected event provides [FormFieldSelectedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSelectedEventArgs.html), which contains [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSelectedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSelectedEventArgs_Field) (selected field details) and [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldSelectedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldSelectedEventArgs_PageNumber). This event helps in handling field selection and UI updates.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldSelected="@OnFormFieldSelected"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldSelected(FormFieldSelectedEventArgs args)
+    {
+        // Access details about the selected form field
+        Console.WriteLine($"Form field selected: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldUnselected Event
+
+[FormFieldUnselected](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldUnselected) is triggered when a selected form field is unselected. This event helps in resetting UI elements or hiding additional options.
+
+###### Event Arguments
+The FormFieldUnselected event provides [FormFieldUnselectedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldUnselectedEventArgs.html), which includes [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldUnselectedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldUnselectedEventArgs_Field) (unselected field details). It helps in resetting UI elements or hiding additional options.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldUnselected="@OnFormFieldUnSelected"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldUnSelected(FormFieldUnselectedEventArgs args)
+    {
+        // Access details about the unselected form field
+        Console.WriteLine($"Form field unselected: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+### FormFieldResized Event
+
+[FormFieldResized](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldResized) is triggered when a form field is resized. This event is useful for applying constraints on form field sizes or updating layout dynamically.
+
+###### Event Arguments
+The FormFieldResized event provides [FormFieldResizedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldResizedEventArgs.html), which contains [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldResizedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldResizedEventArgs_Field) (resized field details) and [NewBounds](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldResizedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldResizedEventArgs_NewBounds) (updated field dimensions). This event allows applying constraints on resizing.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldResized="@OnFormFieldResized"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldResized(FormFieldResizedEventArgs args)
+    {
+        // Access details about the resized form field
+        Console.WriteLine($"Form field resized: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### ValidateFormFields Event
+
+[ValidateFormFields](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_ValidateFormFields) is triggered when form fields are validated before submission, saving, or printing the PDF. It helps ensure that required fields are filled correctly. To trigger this event, the [EnableFormFieldsValidation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableFormFieldsValidation) property must be set to true in the SfPdfViewer2 component.
+
+###### Event Arguments
+The ValidateFormFields event provides [ValidateFormFieldsArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ValidateFormFieldsArgs.html), which contains [Fields](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ValidateFormFieldsArgs.html#Syncfusion_Blazor_SfPdfViewer_ValidateFormFieldsArgs_Fields) (validated form fields). This event ensures that required fields are properly filled.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableFormFieldsValidation="true">
+    <PdfViewerEvents ValidateFormFields="@OnFormFieldValidated"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldValidated(ValidateFormFieldsArgs args)
+    {
+        // Access details about the validated form field
+        Console.WriteLine($"Form field Validated: {args.Fields[0].Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldFocusIn Event
+
+[FormFieldFocusIn](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldFocusIn) is triggered when focus enters a form field while designer mode is off. It can be used to provide dynamic styling or suggestions.
+
+###### Event Arguments
+The FormFieldFocusIn event provides [FormFieldFocusInEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldFocusInEventArgs.html), which includes [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldFocusInEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldFocusInEventArgs_Field) (focused form field details). It is useful for styling or displaying tooltips when a field gains focus.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableFormFieldsValidation="true">
+    <PdfViewerEvents FormFieldFocusIn="@OnFormFieldFocusIn"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldFocusIn(FormFieldFocusInEventArgs args)
+    {
+        // Access details about the focused in form field
+        Console.WriteLine($"Form field focused in: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldFocusOut Event
+
+[FormFieldFocusOut](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldFocusOut) is triggered when focus leaves a form field while designer mode is off. It is useful for saving data or performing validation.
+
+###### Event Arguments
+The FormFieldFocusOut event provides [FormFieldFocusOutEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldFocusOutEventArgs.html), which includes [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldFocusOutEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldFocusOutEventArgs_Field) (form field losing focus). It can be used for validation or saving data when the user moves out of a field.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableFormFieldsValidation="true">
+    <PdfViewerEvents FormFieldFocusOut="@OnFormFieldFocusOut"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldFocusOut(FormFieldFocusOutEventArgs args)
+    {
+        // Access details about the focused out form field
+        Console.WriteLine($"Form field focused out: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldMouseEnter Event
+
+[FormFieldMouseEnter](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldMouseEnter) is triggered when the mouse enters a form field in the PDF Viewer.
+
+###### Event Arguments
+The FormFieldMouseEnter event provides [FormFieldMouseEnterEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseEnterEventArgs.html), which includes properties like [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseEnterEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldMouseEnterEventArgs_Field) (form field that was entered) and [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseEnterEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldMouseEnterEventArgs_PageNumber) (where the field is located). This event helps implement tooltips, styling changes, or other UI enhancements when a user hovers over a field.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldMouseEnter="@OnFormFieldMouseEnter"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldMouseEnter(FormFieldMouseEnterEventArgs args)
+    {
+        // Access details about the mouse entered form field
+        Console.WriteLine($"Form field Mouse entered: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldMouseLeave Event
+
+[FormFieldMouseLeave](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldMouseLeave) is triggered when the mouse leaves a form field. It is useful for hiding tooltips or resetting styling.
+
+###### Event Arguments
+The FormFieldMouseLeave event provides [FormFieldMouseLeaveEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseLeaveEventArgs.html), which includes properties like [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseLeaveEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldMouseLeaveEventArgs_Field) (form field that was left) and [PageNumber](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldMouseLeaveEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldMouseLeaveEventArgs_PageNumber). This event is useful for reverting UI changes or hiding tooltips when the mouse leaves a field.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldMouseLeave="@OnFormFieldMouseLeave"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldMouseLeave(FormFieldMouseLeaveEventArgs args)
+    {
+        // Access details about the mouse leaved form field
+        Console.WriteLine($"Form field Mouse leaved: {args.Field.Name}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldPropertyChanged Event
+
+[FormFieldPropertyChanged](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldPropertyChanged) is triggered when a form field properties are modified. This event helps in tracking changes and dynamically updating UI elements.
+
+###### Event Arguments
+The FormFieldPropertyChanged event provides [FormFieldPropertyChangedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldPropertyChangedEventArgs.html), which contains properties like [OldValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldPropertyChangedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldPropertyChangedEventArgs_OldValue) and [NewValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldPropertyChangedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldPropertyChangedEventArgs_NewValue). This event enables dynamic UI updates and validation when form field properties change.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldPropertyChanged="@OnFormFieldPropertyChanged"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void OnFormFieldPropertyChanged(FormFieldPropertyChangedEventArgs args)
+    {
+        // Access details about the property changed form field
+        Console.WriteLine($"Form field property changed: {args.NewValue}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### IsDesignerModeChanged Event
+
+[IsDesignerModeChanged](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_IsDesignerModeChanged) is triggered whenever the designer mode is enabled or disabled in the component. It enables developers to implement custom logic in response to the mode change, such as updating UI elements, logging events, or modifying interactions.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" IsDesignerModeChanged="IsDesignerModeChanged">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath = "wwwroot/data/events.pdf";
+
+    void IsDesignerModeChanged(bool args)
+    {
+        // Check the state of Designer mode
+        Console.WriteLine($"Designer mode is: {args}");
+
+        // Implement additional logic, such as logging or UI updates
+    }
+}
+```
+
+### FormFieldsExporting Event
+
+[FormFieldsExporting](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsExporting) is triggered when the form fields export process starts in the component. It allows customization of the export process or data transformation. The export process can be canceled by setting args.Cancel = true.
+
+###### Event Arguments
+The FormFieldsExporting event provides [FormFieldsExportEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsExportEventArgs.html), which includes properties like [Cancel](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsExportEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldsExportEventArgs_Cancel). This event allows customization of the export process, such as modifying data before exporting or canceling the operation.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsExporting="OnFormFieldsExporting"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+
+    void OnFormFieldsExporting(FormFieldsExportEventArgs args)
+    {
+        Console.WriteLine($"Form fields are being exported");
+
+        args.Cancel = true; // Cancels the export process
+
+        // Implement additional logic, such as logging or UI updates
+    }
+
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+### FormFieldsImporting Event
+
+[FormFieldsImporting](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsImporting) is triggered when the form fields import process starts in the component. It allows validation or modification of the import process. The import operation can be canceled by setting args.Cancel = true.
+
+###### Event Arguments
+The FormFieldsImporting event provides [FormFieldsImportEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsImportEventArgs.html), which includes properties like [Cancel](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsImportEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldsImportEventArgs_Cancel). This event allows validation or modification of the form field data before importing.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfButton OnClick="ImportFields">Import Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsImporting="OnFormFieldsImporting"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+
+    void OnFormFieldsImporting(FormFieldsImportEventArgs args)
+    {
+        Console.WriteLine($"Form fields are being imported");
+
+        args.Cancel = true; //cancels the import process
+
+        // Implement additional logic, such as logging or UI updates
+    }
+
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+
+    private async void ImportFields()
+    {
+        // Import form fields as JSON Stream
+        if (JSONStream != null && Viewer != null)
+        {
+            // Import JSON data into the viewer
+            await Viewer.ImportFormFieldsAsync(JSONStream, FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+### FormFieldsExported Event
+
+[FormFieldsExported](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsExported) is triggered when form fields are successfully exported. It allows for further processing or confirmation.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsExported="OnFormFieldsExported"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+
+    void OnFormFieldsExported(FormFieldsExportedEventArgs args)
+    {
+        Console.WriteLine($"Form fields are exported Successfully");
+        // Implement additional logic, such as logging or UI updates
+    }
+
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+### FormFieldsImported Event
+
+[FormFieldsImported](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsImported) is triggered when form fields are successfully imported into the document. This event is useful for mapping imported fields to existing data.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfButton OnClick="ImportFields">Import Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsImported="OnFormFieldsImported"></PdfViewerEvents>
+</SfPdfViewer2>
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+    void OnFormFieldsImported(FormFieldsImportedEventArgs args)
+    {
+        Console.WriteLine($"Form fields are imported Successfully");
+        // Implement additional logic, such as logging or UI updates
+    }
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+    private async void ImportFields()
+    {
+        // Import form fields as JSON Stream
+        if (JSONStream != null && Viewer != null)
+        {
+            // Import JSON data into the viewer
+            await Viewer.ImportFormFieldsAsync(JSONStream, FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+### FormFieldsExportFailed Event
+
+[FormFieldsExportFailed](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsExportFailed) is triggered when form fields export operation fails. This event can be used for error handling and debugging.
+
+###### Event Arguments
+The FormFieldsExportFailed event provides [FormFieldsExportFailedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsExportFailedEventArgs.html), which contains properties like [ErrorDetails](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsExportFailedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldsExportFailedEventArgs_ErrorDetails) (reason for failure). It helps in handling export errors and implementing fallback mechanisms.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsExportFailed="OnFormFieldsExportFailed"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+
+    void OnFormFieldsExportFailed(FormFieldsExportFailedEventArgs args)
+    {
+        Console.WriteLine($"Form field export is failed: {args.ErrorDetails}");
+        // Implement additional logic, such as logging or UI updates
+    }
+
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+### FormFieldsImportFailed Event
+
+[FormFieldsImportFailed](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_FormFieldsImportFailed) is triggered when form fields import operation fails. It helps in identifying issues and providing fallback mechanisms.
+
+###### Event Arguments
+The FormFieldsImportFailed event provides [FormFieldsImportFailedEventArgs](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsImportFailedEventArgs.html), which contains properties like [ErrorDetails](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldsImportFailedEventArgs.html#Syncfusion_Blazor_SfPdfViewer_FormFieldsImportFailedEventArgs_ErrorDetails) (reason for failure). This event helps in diagnosing import errors and taking corrective actions.
+
+```cshtml
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="ExportFields">Export Form Fields</SfButton>
+<SfButton OnClick="ImportFields">Import Form Fields</SfButton>
+<SfPdfViewer2 @ref="Viewer" Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerEvents FormFieldsImportFailed="OnFormFieldsImportFailed"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2? Viewer;
+    private string DocumentPath = "wwwroot/data/events.pdf";
+    Stream JSONStream = new MemoryStream();
+
+    void OnFormFieldsImportFailed(FormFieldsImportFailedEventArgs args)
+    {
+        Console.WriteLine($"Form field Import is failed: {args.ErrorDetails}");
+        // Implement additional logic, such as logging or UI updates
+    }
+
+    private async void ExportFields()
+    {
+        // Export form fields as JSON Stream
+        if (Viewer != null)
+        {
+            JSONStream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+        }
+    }
+
+    private async void ImportFields()
+    {
+        // Import form fields as JSON Stream
+        if (JSONStream != null && Viewer != null)
+        {
+            // Import JSON data into the viewer
+            await Viewer.ImportFormFieldsAsync(JSONStream, FormFieldDataFormat.Json);
+        }
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/Events.razor).
+
+## See also
+
+* [Programmatic Support in Form Designer](./create-programmatically)
+* [UI Interactions in Form Designer](./ui-interactions)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Download_PDF_Document_With_Form_Fileds.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Download_PDF_Document_With_Form_Fileds.png
new file mode 100644
index 000000000..84d6b4ef5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Download_PDF_Document_With_Form_Fileds.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Disable_Designer_Mode.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Disable_Designer_Mode.gif
new file mode 100644
index 000000000..ac9a764ff
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Disable_Designer_Mode.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Form_Designer_Module.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Form_Designer_Module.png
new file mode 100644
index 000000000..300436fb5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Enable_Form_Designer_Module.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_FDF_Format.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_FDF_Format.png
new file mode 100644
index 000000000..1f99bf378
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_FDF_Format.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_JSON_Format.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_JSON_Format.png
new file mode 100644
index 000000000..df79894d7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_JSON_Format.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_Object_Format.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_Object_Format.png
new file mode 100644
index 000000000..1fc58f848
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_Object_Format.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XFDF_Format.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XFDF_Format.png
new file mode 100644
index 000000000..6848b7828
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XFDF_Format.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XML_Format.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XML_Format.gif
new file mode 100644
index 000000000..866562ad8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Import_XML_Format.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_JSON_File.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_JSON_File.png
new file mode 100644
index 000000000..f92498533
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_JSON_File.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Submit_JSON.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Submit_JSON.png
new file mode 100644
index 000000000..8e24ae23a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Export_Submit_JSON.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Designer_Feature.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Designer_Feature.gif
new file mode 100644
index 000000000..5693b65f6
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Designer_Feature.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_PrintPreview.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_PrintPreview.png
new file mode 100644
index 000000000..6b844cfe8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_PrintPreview.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_Viewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_Viewer.png
new file mode 100644
index 000000000..11c6f4a3d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_Viewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Open_PDF_Document_With_Exsiting_Form_Fileds.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Open_PDF_Document_With_Exsiting_Form_Fileds.png
new file mode 100644
index 000000000..70bb1b206
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/Open_PDF_Document_With_Exsiting_Form_Fileds.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/add-formfields-formdesigner-sfpdfviewer.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/add-formfields-formdesigner-sfpdfviewer.gif
new file mode 100644
index 000000000..0ff3c7146
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/add-formfields-formdesigner-sfpdfviewer.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-add.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-add.png
new file mode 100644
index 000000000..d50fa3cf1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-add.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-all.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-all.png
new file mode 100644
index 000000000..2baff3c0f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-all.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-ids.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-ids.png
new file mode 100644
index 000000000..dd54b72c0
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-ids.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-selected.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-selected.png
new file mode 100644
index 000000000..3d0c12889
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-delete-selected.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-linked-properties.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-linked-properties.png
new file mode 100644
index 000000000..0af190a9a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-linked-properties.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-field.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-field.png
new file mode 100644
index 000000000..55294d31e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-field.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-id.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-id.png
new file mode 100644
index 000000000..863395b76
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-select-id.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setmode.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setmode.gif
new file mode 100644
index 000000000..b8aa7974c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setmode.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setting-thickness.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setting-thickness.png
new file mode 100644
index 000000000..24750c37a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-setting-thickness.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-apperance.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-apperance.png
new file mode 100644
index 000000000..03e1b7a71
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-apperance.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-value.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-value.png
new file mode 100644
index 000000000..885af65b7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/blazor-pdfviewer-form-designer-update-value.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/delete-formfields-formdesigner-sfpdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/delete-formfields-formdesigner-sfpdfviewer.png
new file mode 100644
index 000000000..ada4e3830
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/delete-formfields-formdesigner-sfpdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/drag-formfields-formdesigner-sfpdfviewer.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/drag-formfields-formdesigner-sfpdfviewer.gif
new file mode 100644
index 000000000..8c67cf142
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/drag-formfields-formdesigner-sfpdfviewer.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/dropdown-properypanel-options-sfpdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/dropdown-properypanel-options-sfpdfviewer.png
new file mode 100644
index 000000000..d1a9c3deb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/dropdown-properypanel-options-sfpdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/formfield-operations-sfpdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/formfield-operations-sfpdfviewer.png
new file mode 100644
index 000000000..e9673d9e8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/formfield-operations-sfpdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/password-properypanel-apperance-formdesigner-sfpdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/password-properypanel-apperance-formdesigner-sfpdfviewer.png
new file mode 100644
index 000000000..1a53d0775
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/password-properypanel-apperance-formdesigner-sfpdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/resize-formfields-formdesigner-sfpdfviewer.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/resize-formfields-formdesigner-sfpdfviewer.gif
new file mode 100644
index 000000000..9de546064
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/resize-formfields-formdesigner-sfpdfviewer.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/textbox-propertypanel-sfpdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/textbox-propertypanel-sfpdfviewer.png
new file mode 100644
index 000000000..eba8959b4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/form-designer-images/textbox-propertypanel-sfpdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/overview.md b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/overview.md
new file mode 100644
index 000000000..849fe1aaf
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/overview.md
@@ -0,0 +1,520 @@
+---
+layout: post
+title: Overview of the Form Designer in SfPdfViewer for Blazor | Syncfusion
+description: Learn about the Form Designer feature in SfPdfViewer for Blazor. Discover how to create, edit, and manage interactive form fields within PDF documents.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Overview of the Form Designer in Blazor SfPdfViewer Component
+
+The Form Designer in [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) enables seamless creation, editing, and management of interactive form fields. It supports dynamic module injection, allowing the designer to be added or removed while updating relevant UI elements. Various form fields, including [Textbox](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.TextBoxField.html), [Password](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PasswordField.html), [Radio Button](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.RadioButtonField.html), [Check Box](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.CheckBoxField.html), [Dropdown](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.DropDownField.html), [List Box](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ListBoxField.html), [Signature Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.SignatureField.html) and [Button](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ButtonField.html), can be added with custom naming, grouping, and data consistency across pages.
+
+![Form Designer Feature](form-designer-images/Form_Designer_Feature.gif)
+
+Fields retain their properties when downloaded or reloaded, even in large documents. Essential operations like cut, copy, paste, zoom, and resize work smoothly while preserving data integrity. Additional features include read-only and required field modes, validation, extensive customization, undo/redo functionality, and form submission controls.
+
+## Supported Form Fields
+
+SfPdfViewer supports a range of interactive form fields for structured and dynamic data collection:
+
+> 1. [Textbox](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.TextBoxField.html) 
+> 2. [Password](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PasswordField.html) 
+> 3. [Check Box](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.CheckBoxField.html)
+> 4. [Radio Button](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.RadioButtonField.html)
+> 5. [List Box](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ListBoxField.html)
+> 6. [Dropdown](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.DropDownField.html)
+> 7. [Signature Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.SignatureField.html)
+> 8. [Button](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.ButtonField.html)
+
+These fields ensure seamless interaction, customization, and data consistency, enabling the creation of well-structured and user-friendly PDF forms.
+
+## Form Field Management
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) enables efficient form field management by supporting opening, saving, and printing PDFs while maintaining field integrity.
+
+### Open the PDF Documents with Interactive Form Fields
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) component enables smooth loading of PDFs with interactive form fields, preserving their properties and data. This ensures seamless modifications, validations, and data retention, even in large documents. A saved PDF with form fields can be opened using the Open icon in the toolbar. Refer to the Image below for details.
+
+![Open PDF Document with Exsiting Form Fileds](form-designer-images/Open_PDF_Document_With_Exsiting_Form_Fileds.png)
+
+Also, refer to [Open PDF files in SfPdfViewer](https://blazor.syncfusion.com/documentation/pdfviewer-2/opening-pdf-file) for more details.
+
+### Saving Form Fields
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) saves form fields within the PDF without modifying the original file. Selecting the Download icon preserves all field data and properties for future use. Refer to the Image below for details.
+
+![Download PDF Document with Form Fileds](form-designer-images/Download_PDF_Document_With_Form_Fileds.png)
+
+Also, refer to [Saving PDF file in Blazor SfPdfViewer Component](https://blazor.syncfusion.com/documentation/pdfviewer-2/saving-pdf-file) for more details.
+
+### Printing Form Fields
+
+In [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html), form fields can have different visibility modes that control their appearance in the viewer and printed documents.
+
+To control the [Visibility](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldInfo.html#Syncfusion_Blazor_SfPdfViewer_FormFieldInfo_Visibility) of form fields in print mode, the [VisibilityMode](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html) enum provides the following options:
+
+#### Available Visibility Modes
+
+| **Mode**                 | **Behavior** |
+|--------------------------|-------------|
+| [Visible](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html#Syncfusion_Blazor_SfPdfViewer_VisibilityMode_Visible)              | Always visible in both viewer and print. |
+| [Hidden](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html#Syncfusion_Blazor_SfPdfViewer_VisibilityMode_Hidden)               | Completely hidden in both viewer and print. |
+| [VisibleNotPrintable](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html#Syncfusion_Blazor_SfPdfViewer_VisibilityMode_VisibleNotPrintable)  | Visible in viewer but excluded from printing. |
+| [HiddenPrintable](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html#Syncfusion_Blazor_SfPdfViewer_VisibilityMode_HiddenPrintable)      | Hidden in viewer but appears in print. |
+
+N> The [**Visible**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.VisibilityMode.html#Syncfusion_Blazor_SfPdfViewer_VisibilityMode_Visible)  mode is the **default** mode for form fields in [**SfPdfViewer**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html).
+
+This flexibility ensures precise control over which form fields are displayed or printed as needed. 
+
+The following code snippet explains how to add a form field that is visible in the viewer but does not appear in print in the SfPdfViewer component.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="AddVisibleNotPrintField">Add Visible Not Printable Textbox</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Fields_with_Visibility_Property.pdf"
+                  Height="650px"
+                  Width="100%">
+    </SfPdfViewer2>
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Adds a form field that appears in the viewer but is excluded from printing.
+    private async void AddVisibleNotPrintField()
+    {
+        await PdfViewerInstance.AddFormFieldsAsync(
+            [new TextBoxField {
+                Name = "VisibleNotPrintable",
+                Value = "VisibleNotPrintable",
+                Bounds = new Bound { X = 270, Y = 620, Height = 30, Width = 200 },
+                PageNumber = 1,
+                Visibility = VisibilityMode.VisibleNotPrintable
+            }]
+        );
+    }
+}
+```
+
+Refer to the image below for the viewer.
+
+![Form Field with VisibleNotPrintable Mode in Viewer](form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_Viewer.png)
+
+Refer to the image below for the print preview.
+
+![Form Field with VisibleNotPrintable Mode in PrintPreview](form-designer-images/Form_Field_with_VisibleNotPrintable_Mode_PrintPreview.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/Visibility.razor).
+
+### Enable or Disable Form Designer Module in SfPdfViewer
+
+The Form Designer module in [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) allows users to add and modify form fields within a PDF document.
+
+To enable the Form Designer icon on the toolbar, the FormDesigner module must be injected, and the [EnableFormDesigner](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableFormDesigner) property must be set to `true`.  
+
+If set to `false`, the PDF Viewer remains in **Form Filling Mode only**, and the Form Designer feature is disabled.    
+
+N> By default, [`EnableFormDesigner`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableFormDesigner) is set to `true`.
+
+#### Example code for Injecting Form Designer Module
+
+The following code snippet explains how to inject the FormDesigner module and enable the form designer toolbar in SfPdfViewer.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<!-- SfPdfViewer component with Form Designer enabled -->
+<SfPdfViewer2 EnableFormDesigner = "true" DocumentPath="wwwroot/data/Form_Designer.pdf"
+                  Height="650px"
+                  Width="100%">
+</SfPdfViewer2>
+```
+
+![Enable Form Designer Module](form-designer-images/Enable_Form_Designer_Module.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/EnableFormDesigner.razor).
+
+### Enable or Disable Designer Mode in Form Designer
+
+The Designer Mode in [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) allows users to interact with form field design elements.
+
+When Designer Mode is enabled, users can edit, move, and manipulate form fields within the PDF Viewer.If disabled, form fields remain static and can only be filled without modification.
+
+N> By default, [`IsDesignerMode`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_IsDesignerMode) is set to `false`, meaning form fields can be filled but not modified.
+
+The following example demonstrates how to Enable Designer Mode using SfButton components.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<!-- SfPdfViewer component with Designer Mode enabled -->
+<SfPdfViewer2 IsDesignerMode="true" 
+                DocumentPath="wwwroot/data/Form_Designer.pdf"
+                Height="650px"
+                Width="100%">
+</SfPdfViewer2>
+```
+
+![Enable or Disable Designer Mode](form-designer-images/Enable_Disable_Designer_Mode.gif)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/InteractionMode.razor).
+
+## Export and Import Form Fields Data
+
+The [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) control provides support for exporting and importing form field data in multiple formats. 
+
+This functionality allows you to save, transfer, or restore form field values efficiently using the following supported formats:
+
+> 1. XML
+> 2. FDF 
+> 3. XFDF 
+> 4. JSON
+> 5. Object-based
+
+The [ExportFormFieldsAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ExportFormFieldsAsync_Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_) and [ImportFormFieldsAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ImportFormFieldsAsync_System_IO_Stream_Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_) methods allow you to export the form field data as a stream, which can later be used to import the saved data into another PDF document.
+
+### Types of Form Fields Export and Import
+
+#### Export and Import as XML
+
+Exports form fields data as a XML format and allows importing the same data back into a PDF document.
+
+N> Setting [`FormFieldDataFormat`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html) to [Xml](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_Xml) exports or imports form field data in XML format.
+
+The following code shows how to export the form fields as an XML data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+<SfButton OnClick="ImportFormFieldData">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Stream to store exported XML form field data
+    Stream XMLStream = new MemoryStream();
+
+    // List to store form field information
+    List<FormFieldInfo> FormFields = new List<FormFieldInfo>();
+
+    // Exports form field data from the PDF viewer to an XML stream
+    private async Task ExportFormFieldData()
+    {
+        if (PdfViewerInstance != null)
+        {
+            // Retrieve form field information from the PDF viewer
+            FormFields = await PdfViewerInstance.GetFormFieldsAsync();
+            if (FormFields != null && FormFields.Count > 0)
+            {
+                // Export data to XML format
+                XMLStream = await PdfViewerInstance.ExportFormFieldsAsync(FormFieldDataFormat.Xml); 
+            }
+        }
+    }
+
+    // Imports form field data from the XML stream into the PDF viewer
+    private async Task ImportFormFieldData()
+    {
+        if (PdfViewerInstance != null && XMLStream != null)
+        {
+            // Import XML data into the viewer
+            await PdfViewerInstance.ImportFormFieldsAsync(XMLStream, FormFieldDataFormat.Xml); 
+        }
+    }
+}
+```
+
+![Export and Import XML Format](form-designer-images/Export_Import_XML_Format.gif)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/XMLFormat.razor).
+
+#### Export and Import as FDF
+
+Exports form field data in Forms Data Format (FDF) and allows importing the same data back into a PDF document.
+
+N> Setting [`FormFieldDataFormat`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html) to [Fdf](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_Fdf) exports or imports form field data in FDF format.
+
+The code demonstrates how to exporting form fields as FDF at a stream and importing the data back into the current PDF document through a button click.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+<SfButton OnClick="ImportFormFieldData">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Stream to store exported form field data in FDF format
+    Stream FDFStream = new MemoryStream();
+
+    // List to store form field information
+    List<FormFieldInfo> FormFields = new List<FormFieldInfo>();
+
+    // Exports form field data from the PDF viewer in FDF format
+    private async void ExportFormFieldData()
+    {
+        // Retrieve form field information from the PDF viewer
+        FormFields = await PdfViewerInstance.GetFormFieldsAsync(); 
+        if (FormFields != null && FormFields.Count > 0)
+        {
+            // Export form fields as FDF data
+            FDFStream = await PdfViewerInstance.ExportFormFieldsAsync(FormFieldDataFormat.Fdf); 
+        }
+    }
+
+    // Imports form field data from FDF format into the PDF viewer
+    private async void ImportFormFieldData()
+    {
+        if (FDFStream != null)
+        {
+            // Import FDF data into the viewer
+            await PdfViewerInstance.ImportFormFieldsAsync(FDFStream, FormFieldDataFormat.Fdf); 
+        }
+    }
+}
+```
+
+![Export and Import FDF Format](form-designer-images/Export_Import_FDF_Format.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/FDFFormat.razor).
+
+#### Export and Import as XFDF
+
+Similar to FDF, but in XML-based format, XFDF ensures structured data handling for form fields.
+
+N> Setting [`FormFieldDataFormat`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html) to [Xfdf](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_Xfdf) exports or imports form field data in XFDF format.
+
+The following code shows how to export the form fields as an XFDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+<SfButton OnClick="ImportFormFieldData">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Stream to store exported XFDF form field data
+    Stream XFDFStream = new MemoryStream();
+
+    // List to store form field information
+    List<FormFieldInfo> FormFields = new List<FormFieldInfo>();
+
+    // Exports form field data from the PDF viewer to an XFDF stream
+    private async void ExportFormFieldData()
+    {
+        // Retrieve form field information from the PDF viewer
+        FormFields = await PdfViewerInstance.GetFormFieldsAsync(); 
+        if (FormFields != null && FormFields.Count > 0)
+        {
+            // Export data to XFDF format 
+            XFDFStream = await PdfViewerInstance.ExportFormFieldsAsync(FormFieldDataFormat.Xfdf); 
+        }
+    }
+    // Imports form field data from the XFDF stream into the PDF viewer
+    private async void ImportFormFieldData()
+    {
+        if (XFDFStream != null)
+        {
+            // Import XFDF data into the viewer
+            await PdfViewerInstance.ImportFormFieldsAsync(XFDFStream, FormFieldDataFormat.Xfdf); 
+        }
+    }
+}
+```
+
+![Export and Import XFDF Format](form-designer-images/Export_Import_XFDF_Format.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/XFDFFormat.razor).
+
+#### Export and Import as JSON
+
+Exports form field data in JSON format, which can be easily read and imported back into the PDF Viewer.
+
+N> Setting [`FormFieldDataFormat`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html) to [Json](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldDataFormat.html#Syncfusion_Blazor_SfPdfViewer_FormFieldDataFormat_Json) exports or imports form field data in JSON format.
+
+The code demonstrates how to exporting form fields as JSON at a stream and importing the data back into the current PDF document through a button click.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+<SfButton OnClick="ImportFormFieldData">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Stream to store exported form field data in JSON format
+    Stream JSONStream = new MemoryStream();
+
+    // List to store form field information
+    List<FormFieldInfo> FormFields = new List<FormFieldInfo>();
+
+    // Exports form field data from the PDF viewer in JSON format
+    private async void ExportFormFieldData()
+    {
+        // Retrieve form field information from the PDF viewer
+        FormFields = await PdfViewerInstance.GetFormFieldsAsync(); 
+        if (FormFields != null && FormFields.Count > 0)
+        {
+            // Export form fields as JSON data
+            JSONStream = await PdfViewerInstance.ExportFormFieldsAsync(FormFieldDataFormat.Json); 
+        }
+    }
+
+    // Imports form field data from JSON format into the PDF viewer
+    private async void ImportFormFieldData()
+    {
+        if (JSONStream != null)
+        {
+            // Import JSON data into the viewer
+            await PdfViewerInstance.ImportFormFieldsAsync(JSONStream, FormFieldDataFormat.Json); 
+        }
+    }
+}
+```
+
+![Export and Import JSON Format](form-designer-images/Export_Import_JSON_Format.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/JSONFormat.razor).
+
+#### Export and Import as an Object
+
+The Form fields can be exported and imported as an object, which is useful for in-memory processing and quick data manipulation.
+
+The [ExportFormFieldsAsObjectAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ExportFormFieldsAsObjectAsync) and [ImportFormFieldsAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ImportFormFieldsAsync_System_Collections_Generic_Dictionary_System_String_System_String__) methods allow you to export the form field data as an Object, which can later be used to import the saved data into another PDF document.
+
+The following code shows how to export the form fields as an XFDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+<SfButton OnClick="ImportFormFieldData">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code { 
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Dictionary to store exported form field data as key-value pairs
+    Dictionary<string, string> FormFieldsObject = new Dictionary<string, string>();
+
+    // List to store form field information
+    List<FormFieldInfo> FormFields = new List<FormFieldInfo>();
+
+    // Exports form field data from the PDF viewer as an object (key-value pairs)
+    private async void ExportFormFieldData()
+    {
+        // Retrieve form field information
+        FormFields = await PdfViewerInstance.GetFormFieldsAsync();
+        if (FormFields != null && FormFields.Count > 0)
+        {
+            // Export form fields as an object
+            FormFieldsObject = await PdfViewerInstance.ExportFormFieldsAsObjectAsync();
+        }
+    }
+
+    // Imports form field data from an object into the PDF viewer
+    private async void ImportFormFieldData()
+    {
+        if (FormFieldsObject != null)
+        {
+            // Import object data into the viewer
+            await PdfViewerInstance.ImportFormFieldsAsync(FormFieldsObject);
+        }
+    }
+}
+```
+
+![Export and Import Object Format](form-designer-images/Export_Import_Object_Format.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/ObjectFormat.razor).
+
+#### Export Form Fields as a JSON File
+
+This method allows exporting the form field data and saving it as a JSON file, which can be stored or shared for future use.
+
+N> If [`ExportFormFieldsAsync`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ExportFormFieldsAsync_System_String_) is called with a string(path), the form field data will be exported in JSON file format.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons;
+
+<SfButton OnClick="ExportFormFieldData">Export Data</SfButton>
+
+<SfPdfViewer2 @ref="PdfViewerInstance" DocumentPath="wwwroot/data/Form_Filling_Document_With_Data.pdf"
+              Height="650px"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Exports form field data from the PDF viewer into a JSON file
+    private async void ExportFormFieldData()
+    {
+        // Exports form fields and saves them as a JSON file
+        await PdfViewerInstance.ExportFormFieldsAsync(""); 
+    }
+}
+```
+
+![Export and Import JSON File](form-designer-images/Export_JSON_File.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/ExportJSONFile.razor).
+
+Additionally, the component provides a built-in Submit button that allows exporting form field data as a JSON file directly from the PDF document. The following sections demonstrate different ways to export and import form field data.
+
+Refer to the Image below for details.
+
+![Export and Import Object Format](form-designer-images/Export_Submit_JSON.png)
+
+## See also
+
+* [UI interactions in form Designer](./ui-interactions)
+* [Programmatic Support in Form Designer](./create-programmatically)
+* [Events in Form Designer](./events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/ui-interactions.md b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/ui-interactions.md
new file mode 100644
index 000000000..09f04427d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/form-designer/ui-interactions.md
@@ -0,0 +1,110 @@
+---
+layout: post
+title: Form Designer UI interactions in SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about UI interactions in form Designer in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Form Designer UI Interactions in Blazor PDF Viewer
+
+The Form Designer feature in the Blazor PDF Viewer component allows users to add, edit, and manipulate form fields directly in a PDF document. This feature provides an intuitive user interface to design interactive forms efficiently. 
+
+## Form Field Interactions
+
+### Adding Form Fields
+
+Click the **Edit Form Fields** icon on the toolbar, add the required form field, and place it onto the PDF document.
+
+![Add Form Fields in Form designer in SfPdfViewer](form-designer-images/add-formfields-formdesigner-sfpdfviewer.gif)
+
+N> Users can also add form fields programmatically in SfPdfViewer for greater flexibility in customization.
+[Programmatically Add the Form fields](./create-programmatically)
+
+### Dragging Form Fields
+
+Users can drag form fields to reposition them anywhere within the document. By clicking and holding a form field, users can move it to the desired location, and alignment guides may appear to help ensure precise placement before releasing the field.
+
+![Dragging Form Fields in Form designer in SfPdfViewer](form-designer-images/drag-formfields-formdesigner-sfpdfviewer.gif)
+
+### Resizing Form Fields
+
+Users can resize form fields by dragging the resize handles at the edges or corners. This allows precise adjustments to fit the required dimensions within the document.
+
+![Resizing Form Fields in Form designer in SfPdfViewer](form-designer-images/resize-formfields-formdesigner-sfpdfviewer.gif)
+
+### Editing or Updating Form Fields
+
+Users can edit form fields dynamically using the Form Field Properties window. This window can be accessed by selecting the Properties option from the context menu that appears when right-clicking a form field.
+
+The Form Field Properties window consists of three tabs, each offering different customization options:
+
+N> Users can also edit form fields programmatically in SfPdfViewer, allowing for more precise customization.
+[Programmatically Edit the Form Fields](./create-programmatically)
+
+#### General Tab
+
+* Modify the Field Name to assign a unique identifier.
+
+* Add a Tooltip to provide additional information about the field.
+
+* Set or update the Value of the field.
+
+* Configure the field’s Visibility settings.
+
+* Enable or disable the Read-Only mode to prevent user modifications.
+
+* Mark the field as Required, ensuring it must be filled before form submission.
+
+* Enable Multiline input for text fields to allow multiple lines of text.
+
+![Edit Properties in Textbox field](form-designer-images/textbox-propertypanel-sfpdfviewer.png)
+
+#### Appearance Tab
+
+* Customize the Font Family of the text.
+
+* Apply Bold or Italic styles.
+
+* Adjust the Font Size for better readability.
+
+* Set the Border Color and Fill Color for visual distinction.
+
+* Modify the Border Thickness to adjust the field’s outline.
+
+* Align text using the Alignment settings.
+
+* Define the Maximum Length of text input.
+
+![Edit Properties in Password field](form-designer-images/password-properypanel-apperance-formdesigner-sfpdfviewer.png)
+
+#### Options Tab (For Dropdown and Listbox Fields)
+
+* Add, modify, or remove selectable Options for dropdowns and list boxes.
+
+* Ensure dynamic customization to display the required choices for users.
+
+![Edit Properties in Dropdown field](form-designer-images/dropdown-properypanel-options-sfpdfviewer.png)
+
+### Form Field Operations
+
+Users can efficiently manage form fields using various operations such as copy, cut, paste, undo, and redo. Form fields can be duplicated using the Copy (Ctrl + C) command, moved to a different location using Cut (Ctrl + X), and inserted elsewhere with Paste (Ctrl + V).
+
+Additionally, users can revert the last change using Undo (Ctrl + Z) or restore an undone action with Redo (Ctrl + Y), ensuring smooth workflow adjustments.
+
+![Form Field Operations through Context Menu](form-designer-images/formfield-operations-sfpdfviewer.png)
+
+### Deleting a Form Field
+
+Users can remove form fields by selecting the desired field and clicking the Delete icon in the Form Designer toolbar or choosing the Delete option from the context menu.
+
+![Delete formfield through UI](form-designer-images/delete-formfields-formdesigner-sfpdfviewer.png)
+
+N> Users can also delete form fields programmatically in SfPdfViewer
+[Programmatically Delete the Form fields](./create-programmatically)
+
+## See also
+
+* [Programmatic Support in Form Designer](./create-programmatically)
+* [Events in Form Designer](./events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/form-filling.md b/Document-Processing/PDF/PDF-Viewer2/blazor/form-filling.md
new file mode 100644
index 000000000..b314f179f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/form-filling.md
@@ -0,0 +1,308 @@
+---
+layout: post
+title: Form filling in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about form filling in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Form filling in Blazor SfPdfViewer Component
+
+SfPdfViewer component allows to display the form fields available in the PDF document. By using this, you can edit and download the form fields.
+
+The form fields displayed in the SfPdfViewer are:
+
+* Text box
+* Password box
+* Combo box
+* Check box
+* Radio Button
+* Signature Field
+* List box
+
+![Form Filling in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-form-filling.png)
+
+## Disabling form fields
+
+The SfPdfViewer control provides an option to disable the form fields feature. The code snippet for disabling the feature is as follows.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              EnableFormFields=false />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+}
+
+```
+
+## How to draw handwritten signature in the signature field
+
+Signature can be added to the Signature field by using the following steps:
+
+* Click the Signature Field in the PDF document. The signature panel will appear.
+
+![Signature Field in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-signature-field.png)
+
+* Draw the signature in the signature panel.
+
+![Displaying Signature Panel in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-signature-panel.png)
+
+* Click the **CREATE** button, the drawn signature will be added in the signature field.
+
+![Displaying Signature in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-signature.png)
+
+## Delete the signature inside the signature field
+
+You can also delete the signature in the signature field by using Delete Option in the annotation toolbar.
+
+![Deleting Signature in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-delete-signature.png)
+
+## Export and import form fields
+
+The SfPdfViewer control supports exporting and importing the form field data in the following formats using the `ImportFormFieldsAsync` and `ExportFormFieldsAsync` methods.
+
+* XML
+* FDF
+* XFDF
+* JSON
+
+> N The form field data will be exported as stream, and that data from the stream will be imported into the current PDF document.
+
+### Export and import as XML
+
+The following code shows how to export the form fields as an XML data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@ExportAsStream">Export XML</SfButton>
+<SfButton OnClick="@ImportFromStream">Import XML</SfButton>
+
+<SfPdfViewer2 @ref=Viewer
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%" />
+
+@code 
+{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+    Stream stream;
+
+    // Event triggers on Export XML button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an XML format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Xml);
+    }
+
+    // Event triggers on Import XML button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the XML format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Xml);
+    }
+}
+
+```
+
+### Export and import as FDF
+
+The following code shows how to export the form fields as an FDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="@ExportAsStream">Export FDF</SfButton>
+<SfButton OnClick="@ImportFromStream">Import FDF</SfButton>
+
+<SfPdfViewer2 @ref=Viewer
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%" />
+
+@code
+{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+    Stream stream;
+
+    // Event triggers on Export FDF button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an FDF format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Fdf);
+    }
+
+    // Event triggers on Import FDF button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the FDF format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Fdf);
+    }
+}
+
+```
+
+###  Export and import as XFDF
+
+The following code shows how to export the form fields as an XFDF data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@ExportAsStream">Export XFDF</SfButton>
+<SfButton OnClick="@ImportFromStream">Import XFDF</SfButton>
+
+<SfPdfViewer2 @ref=Viewer
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%" />
+
+@code
+{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+    Stream stream;
+
+    // Event triggers on Export XFDF button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an XFDF format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Xfdf);
+    }
+
+    // Event triggers on Import XFDF button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the XFDF format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Xfdf);
+    }
+}
+
+```
+
+### Export and import as JSON
+
+The following code shows how to export the form fields as a JSON data stream and import that data from the stream into the current PDF document via a button click.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@ExportAsStream">Export JSON</SfButton>
+<SfButton OnClick="@ImportFromStream">Import JSON</SfButton>
+
+<SfPdfViewer2 @ref=Viewer
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%" />
+
+@code
+{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+    Stream stream;
+
+    // Event triggers on Export JSON button click.
+    public async void ExportAsStream()
+    {
+        // Export the form field data to an JSON format stream.
+        stream = await Viewer.ExportFormFieldsAsync(FormFieldDataFormat.Json);
+    }
+
+    // Event triggers on Import JSON button click.
+    public async void ImportFromStream()
+    {
+        // Import the form field data from the JSON format stream into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(stream, FormFieldDataFormat.Json);
+    }
+}
+
+
+```
+
+### Export form fields as Json file
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@OnExportFormFieldsClick">Export JSON</SfButton>
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+
+    // Event triggers on Export JSON button click.
+    public async void OnExportFormFieldsClick(MouseEventArgs args)
+    {
+        // Exports to a JSON file in the existing document name.
+        await Viewer.ExportFormFieldsAsync("");
+    }
+}
+
+```
+
+### Export and import as object
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer;
+
+<SfButton OnClick="@OnExportFormFieldsClick">Export Data</SfButton>
+<SfButton OnClick="@OnImportFormFieldsClick">Import Data</SfButton>
+
+<SfPdfViewer2 @ref="@Viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code
+{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/FormFillingDocument.pdf";
+    Dictionary<string, string> dictionary;
+
+    // Event triggers on Export Data button click.
+    public async void OnExportFormFieldsClick(MouseEventArgs args)
+    {
+        // Export the form field data to a dictionary.
+        dictionary = await Viewer.ExportFormFieldsAsObjectAsync();
+    }
+
+    // Event triggers on Import Data button click.
+    public async void OnImportFormFieldsClick(MouseEventArgs args)
+    {
+        // Import the form field data from the dictionary into the current PDF document.
+        await Viewer.ImportFormFieldsAsync(dictionary);
+    }
+}
+
+```
+
+## See also
+
+* [Handwritten Signature in Blazor SfPdfViewer Component](./hand-written-signature)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/deploy-maui-windows.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/deploy-maui-windows.md
new file mode 100644
index 000000000..df65439e9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/deploy-maui-windows.md
@@ -0,0 +1,154 @@
+---
+layout: post
+title: Deploy SfPdfViewer in Blazor MAUI in windows | Syncfusion
+description: Learn how to deploy SfPdfViewer in Blazor MAUI Application on Windows in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# View PDF files using PDF Viewer Component in the Blazor MAUI app 
+
+In this section, we'll guide you through the process of adding Syncfusion&reg; Blazor PDF Viewer component to your Blazor Maui app. We'll break it down into simple steps to make it easy to follow.
+
+## Prerequisites
+
+To use the MAUI project templates, install the Mobile development with the .NET extension for Visual Studio. For more details, refer to [here](https://learn.microsoft.com/en-us/dotnet/MAUI/get-started/installation?tabs=vswin).
+
+## Create a new Blazor MAUI App in Visual Studio
+
+Create a new Blazor MAUI app and name it **PDFViewerGettingStarted**.
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install PDF Viewer NuGet package in Blazor Maui App
+
+Add the following NuGet packages into the Blazor Maui app.
+
+* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) 
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor 
+@using Syncfusion.Blazor.SfPdfViewer
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the **~/MauiProgram.cs** file.
+
+{% tabs %}
+{% highlight c# tabtitle="~/MauiProgram.cs" hl_lines="3 20 28" %}
+
+using Microsoft.Extensions.Logging;
+using MauiBlazorWindow.Data;
+using Syncfusion.Blazor;
+
+namespace MauiBlazorWindow;
+
+public static class MauiProgram
+{
+    public static MauiApp CreateMauiApp()
+    {
+        var builder = MauiApp.CreateBuilder();
+        builder
+            .UseMauiApp<App>()
+            .ConfigureFonts(fonts =>
+            {
+                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
+            });
+
+        builder.Services.AddMauiBlazorWebView();
+        builder.Services.AddMemoryCache();
+
+#if DEBUG
+        builder.Services.AddBlazorWebViewDeveloperTools();
+        builder.Logging.AddDebug();
+#endif
+
+        builder.Services.AddSingleton<WeatherForecastService>();
+        builder.Services.AddSyncfusionBlazor();
+        return builder.Build();
+    }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section of the **~/wwwroot/index.html** file.
+
+{% tabs %}
+{% highlight html %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Add PDF Viewer component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    public string DocumentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value is not provided, the PDF Viewer component will be rendered without loading a PDF document. Users can then use the open option from the toolbar to browse and open a PDF as required.
+
+## Run on Windows
+
+Run the sample in Windows Machine mode, and it will run Blazor MAUI in Windows.
+
+![Run Windows machine](gettingstarted-images/Windows-machine.png)
+
+Upon successfully launching the application, the PDF Viewer component will seamlessly render the specified PDF document within its interface.
+
+![Blazor SfPdfViewer Component](gettingstarted-images/Windows-maui-output.png)
+
+## Run on Android
+
+To run the PDF Viewer in a Blazor Android MAUI application using the Android emulator, follow these steps:
+
+![Run Windows machine](gettingstarted-images/android-maui.png)
+
+Refer [here](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/device-manager#android-device-manager-on-windows) to install and launch Android emulator.
+
+N> If you encounter any errors while using the Android Emulator, refer to the following link for troubleshooting guidance[Troubleshooting Android Emulator](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/troubleshooting).
+
+![Blazor SfPdfViewer Component](gettingstarted-images/android-emulator.png)
+
+>[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/Maui/MauiBlazorWindow).
+
+## See also
+
+* [Supported Features: Desktop vs Mobile](./features#supported-features-desktop-vs-mobile).
+
+* [Render PDF Document from embedded source in the MAUI Android app](../how-to/deploy-maui-using-android-emulator).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/features.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/features.md
new file mode 100644
index 000000000..7c878ce3d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/features.md
@@ -0,0 +1,86 @@
+---
+layout: post
+title: Overview of Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn about overview of the Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Overview of Blazor SfPdfViewer Component
+
+The new Blazor SfPdfViewer component allows users to view, edit, print, and download PDF files without the web service dependency in Blazor applications. It is designed to be fast and responsive and comes with the same feature set as the previous PDF Viewer. It is easy to use and can be integrated into both Blazor Server and WASM applications with minimal effort.
+
+The Blazor SfPdfViewer component shares the same key features as the [Blazor PDF Viewer component](https://blazor.syncfusion.com/documentation/pdfviewer/getting-started/features), but this new component has some advantages over the old component.
+
+## Performance Improvement
+
+We have enhanced the performance in rendering, scrolling, zooming, panning, and printing.  
+
+## Elimination of Service Dependency
+
+The old PDF viewer component required a separate [Service URL](https://blazor.syncfusion.com/documentation/pdfviewer/getting-started/web-assembly-application) to load the document. However, in the [PDF Viewer](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/web-assembly-application), we have eliminated the need for a service URL. Now, the document can be loaded offline without making a service call. 
+
+## Common Package
+
+In the previous component, we had different packages for different operating systems such as [Windows](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Windows), [Linux](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.Linux), and [OSX](https://www.nuget.org/packages/Syncfusion.Blazor.PdfViewerServer.OSX). In the [SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) version, we have introduced common packages that work across all environments. 
+
+## Reduced Server Calls
+
+The old PDF viewer component required numerous C# calls to retrieve document information such as text on the page, hyperlinks, and page images. In the PDF Viewer, we have shifted these functionalities to the client side, resulting in improved performance. 
+
+## Some of the key features are listed below
+
+* Accurate and reliable rendering of PDF pages.
+* Provides easy page navigation with,
+    * [Thumbnail page view](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#page-thumbnail-navigation)
+    * [Bookmark panel](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#bookmark-navigation)
+    * [Hyperlink navigation](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#hyperlink-navigation)
+    * [Table of content navigation](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#table-of-content-navigation)
+* Core interactions
+    * [Zooming](https://blazor.syncfusion.com/documentation/pdfviewer-2/magnification) and [panning](https://blazor.syncfusion.com/documentation/pdfviewer-2/interaction#panning-mode)
+    * [Text searching](https://blazor.syncfusion.com/documentation/pdfviewer-2/text-search)
+    * Text selection and copy
+* [Print](https://blazor.syncfusion.com/documentation/pdfviewer-2/print) PDF file.
+* Annotate PDF with different types of annotations such as,
+    * [Highlight](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#highlight-a-text), [underline](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#underline-a-text), and [strikeout](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#strikethrough-a-text) annotation
+    * [Shape annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/shape-annotation): Rectangle, circle, polygon, line, and arrow.
+    * [Stamp annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/stamp-annotation): Built-in and custom stamp
+    * [Measurement annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/measurement-annotation)
+    * [Free text annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/free-text-annotation)
+    * Add a [comment](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/comments) or [note](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/sticky-notes-annotation) for all type of annotations
+* [FormFilling](https://blazor.syncfusion.com/documentation/pdfviewer-2/form-filling)
+* [Handwritten Signature](https://blazor.syncfusion.com/documentation/pdfviewer-2/hand-written-signature)
+
+### Supported Features: Desktop vs Mobile
+
+The table below provides a list of supported and non-supported features on both desktop and mobile devices.
+
+|Feature|Desktop|Mobile Devices|
+|--|--|--|	
+|Keyboard interaction|	Yes|	No|
+|Opening file different origin|	Yes|	Yes|
+|Saving a file to a different origin|	Yes	|Yes|
+|Toolbar|	Yes	|No|
+|Mobile toolbar|	No	|Yes|
+|Navigation toolbar|	Yes	|No|
+|Page Navigation|	Yes|	No|
+|Magnification|	Yes|	Yes|
+|Text search|	Yes|	Yes|
+|Text selection|	Yes|	No|
+|Pan mode|	Yes|	Yes|
+|Hand Written Signature|	Yes|	Yes|
+|Annotation rendering|	Yes|	Yes|
+|Annotation interaction|	Yes|	Yes|
+|Annotation property editing|	Yes|	No|
+|Add annotation through touch|	Yes|	No|
+|Import/export annotation|	Yes|	Yes|
+|From fields rendering|	Yes|	Yes|
+
+N> Enable desktop mode on mobile devices using the [EnableDesktopMode](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableDesktopMode) property to view the toolbar as in desktop.
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> provides the SfPdfViewer component for both Blazor Server and Blazor WebAssembly applications.
+<br />For both **Blazor WebAssembly App** and **Blazor Server App** use [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.PdfViewer.SfPdfViewer.html) component in Syncfusion.Blazor.SfPdfViewer NuGet package. This component will not requires server-side processing to render the PDF files through web service.
+<br/>* For Windows, Linux and Mac (OSX) uses the sample Nuget [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer)
+
+N> You can refer to the [Blazor SfPdfViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore the [Blazor SfPdfViewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=fluent) to understand how to explain core features of PDF Viewer.
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information.png
new file mode 100644
index 000000000..e2ed4cf6b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png
new file mode 100644
index 000000000..56499af7f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_WASM.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_maui.png
new file mode 100644
index 000000000..6da99dd06
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Additional_information_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png
new file mode 100644
index 000000000..ce6e5b3d4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Create-new-WASM-app.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_CDN.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_CDN.png
new file mode 100644
index 000000000..ad3d5e247
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_CDN.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_NuGet.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_NuGet.png
new file mode 100644
index 000000000..5d9618d06
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Filesize_using_NuGet.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png
new file mode 100644
index 000000000..37d819536
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-WASM-project-name.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name-andriod_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name-andriod_maui.png
new file mode 100644
index 000000000..c8baba6d1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name-andriod_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name.png
new file mode 100644
index 000000000..f05a2079a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name_maui.png
new file mode 100644
index 000000000..80a0bd0fb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Set-project-name_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/WSL-Mode.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/WSL-Mode.png
new file mode 100644
index 000000000..4bbb74aa7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/WSL-Mode.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-machine.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-machine.png
new file mode 100644
index 000000000..b359744b9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-machine.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-maui-output.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-maui-output.png
new file mode 100644
index 000000000..8fd907331
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/Windows-maui-output.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-emulator.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-emulator.png
new file mode 100644
index 000000000..e94712119
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-emulator.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-maui.png
new file mode 100644
index 000000000..226e12e25
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-sdk-liscence_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-sdk-liscence_maui.png
new file mode 100644
index 000000000..5b7fb4ccc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android-sdk-liscence_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android_maui_properties.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android_maui_properties.png
new file mode 100644
index 000000000..59202e55b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/android_maui_properties.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png
new file mode 100644
index 000000000..27589690a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer_maui.png
new file mode 100644
index 000000000..03b0ea847
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/blazor-pdfviewer_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/dotnet-info.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/dotnet-info.png
new file mode 100644
index 000000000..3f13b8444
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/dotnet-info.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator.png
new file mode 100644
index 000000000..fbaa85c5c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator_maui.png
new file mode 100644
index 000000000..a112aeda7
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/emulator_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/exception.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/exception.png
new file mode 100644
index 000000000..7cb961dca
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/exception.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/final.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/final.png
new file mode 100644
index 000000000..eda88fecc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/final.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/nuget-package-android_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/nuget-package-android_maui.png
new file mode 100644
index 000000000..c04603ce5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/nuget-package-android_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/pixcel-emulator_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/pixcel-emulator_maui.png
new file mode 100644
index 000000000..860f32746
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/pixcel-emulator_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/skia-sharp-image.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/skia-sharp-image.png
new file mode 100644
index 000000000..f05a3acaf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/skia-sharp-image.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png
new file mode 100644
index 000000000..d566f7e2d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project_maui.png
new file mode 100644
index 000000000..a5924527d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/start-window-create-new-project_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/turn-features.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/turn-features.png
new file mode 100644
index 000000000..93b84f3c8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/turn-features.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/ubuntu-install.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/ubuntu-install.png
new file mode 100644
index 000000000..4d0835025
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/ubuntu-install.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/username-password.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/username-password.png
new file mode 100644
index 000000000..971905b1f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/username-password.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/windows-machine_maui.png b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/windows-machine_maui.png
new file mode 100644
index 000000000..2083be25b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/gettingstarted-images/windows-machine_maui.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/server-side-application.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/server-side-application.md
new file mode 100644
index 000000000..9dc2f880e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/server-side-application.md
@@ -0,0 +1,188 @@
+---
+layout: post
+title: Getting Started with SfPdfViewer in Blazor Server App | Syncfusion
+description: Learn how to getting started with SfPdfViewer control in Blazor Server-side application. You can view and comment on PDFs in ease and also can fill fields. 
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# View PDF files using PDF Viewer Component in the Blazor Server app
+
+In this section, we'll guide you through the process of adding Syncfusion&reg; Blazor PDF Viewer component to your Blazor Server app using Visual Studio and Visual Studio Code. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorServerApp/PDFViewerSample).
+
+{% tabcontents %}
+
+{% tabcontent Visual Studio %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Create a new Blazor App in Visual Studio
+
+You can create a **Blazor Server App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer and Themes NuGet in the App
+
+To add **Blazor PDFViewer** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, you can utilize the following package manager command to achieve the same.
+
+{% tabs %}
+{% highlight C# tabtitle="Package Manager" %}
+
+Install-Package Syncfusion.Blazor.SfPdfViewer -Version {{ site.releaseversion }}
+Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }}
+
+{% endhighlight %}
+{% endtabs %}
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+## Create a new Blazor App in Visual Studio Code
+
+You can create a **Blazor Server App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+
+Alternatively, you can create a Server application using the following command in the terminal(<kbd>Ctrl</kbd>+<kbd>`</kbd>).
+
+{% tabs %}
+
+{% highlight c# tabtitle="Blazor Server App" %}
+
+dotnet new blazorserver -o BlazorApp
+cd BlazorApp
+
+{% endhighlight %}
+
+{% endtabs %}
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer and Themes NuGet in the App
+
+* Press <kbd>Ctrl</kbd>+<kbd>`</kbd> to open the integrated terminal in Visual Studio Code.
+* Ensure you’re in the project root directory where your `.csproj` file is located.
+* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
+dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+
+{% endtabcontent %}
+
+{% endtabcontents %}
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the **~/Program.cs** file.
+
+{% tabs %}
+{% highlight c# tabtitle="~/Program.cs" hl_lines="3 11 14" %}
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Web;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+builder.Services.AddRazorPages();
+builder.Services.AddServerSideBlazor();
+
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+
+// Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+
+{% endhighlight %}
+{% endtabs %}
+
+N> [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section. The theme stylesheet and script can be accessed from NuGet through [Static Web Assets](https://blazor.syncfusion.com/documentation/appearance/themes#static-web-assets). Reference the stylesheet and script in the `<head>` of the main page as follows:
+
+* For **.NET 6** Blazor Server app, include it in **~/Pages/_Layout.cshtml** file.
+
+* For **.NET 7** Blazor Server app, include it in the **~/Pages/_Host.cshtml** file.
+
+{% tabs %}
+{% highlight cshtml %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If you don't provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required.
+
+## Run the application
+
+Run the application, and the PDF file will be displayed using Syncfusion&reg; Blazor PDF Viewer component in your browser.
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %}
+
+## See also
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/web-assembly-application)
+
+* [Getting Started with Blazor PDF Viewer Component in WSL mode](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/wsl-application)
+
+* [Learn different ways to add script reference in Blazor Application](https://blazor.syncfusion.com/documentation/common/adding-script-references)
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-app.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-app.md
new file mode 100644
index 000000000..3ff8c90d2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-app.md
@@ -0,0 +1,313 @@
+---
+layout: post
+title: Getting Started with SfPdfViewer in Blazor Web App | Syncfusion
+description: Learn how to getting started with SfPdfViewer control in Blazor Web App. You can view and comment on PDFs in ease and also can fill fields.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# View PDF files using PDF Viewer Component in the Blazor Web app
+
+In this section, we’ll guide you through the process of adding Syncfusion&reg; Blazor PDF Viewer component to your Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and Visual Studio Code. We’ll break it down into simple steps to make it easy to follow.
+
+{% tabcontents %}
+
+{% tabcontent Visual Studio %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* If you choose an Interactive render mode such as WebAssembly or Auto, ensure that you have the necessary .NET workloads installed to use the PDF Viewer component in a Blazor WebApp application with SkiaSharp. To do this, execute the following commands in the command prompt:
+    * dotnet workload install wasm-tools
+
+## Create a new Blazor Web App in Visual Studio
+
+You can create a Blazor Web App using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+
+You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) while creating a Blazor Web Application. 
+
+## Install Blazor PDF Viewer NuGet package in Blazor Web App
+
+To add **Blazor PDF Viewer** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install
+
+* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) 
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+
+If you select an Interactive render mode as WebAssembly or Auto, you can install the NuGet package in the client-side project to add component in Web App.
+
+N> On the Syncfusion<sup style="font-size:70%">&reg;</sup> side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well.
+* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
+
+![SkiaSharp Views Blazor](gettingstarted-images/skia-sharp-image.png)
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* If you choose an Interactive render mode such as WebAssembly or Auto, ensure that you have the necessary .NET workloads installed to use the PDF Viewer component in a Blazor WebApp application with SkiaSharp. To do this, execute the following commands in the command prompt:
+    * dotnet workload install wasm-tools
+
+## Create a new Blazor Web App in Visual Studio Code
+
+You can create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+
+You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) while creating a Blazor Web Application.
+
+For example, in a Blazor Web App with the `Auto` interactive render mode, use the following commands.
+
+{% tabs %}
+{% highlight c# tabtitle="Blazor Web App" %}
+
+dotnet new blazor -o BlazorWebApp -int Auto
+cd BlazorWebApp
+cd BlazorWebApp.Client
+
+{% endhighlight %}
+{% endtabs %}
+
+N> For more information on creating a **Blazor Web App** with various interactive modes and locations, refer to this [link](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes).
+
+## Install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer and Themes NuGet in the App
+
+If you utilize `WebAssembly` or `Auto` render modes in the Blazor Web App need to be install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components NuGet packages within the client project.
+
+* Press <kbd>Ctrl</kbd>+<kbd>`</kbd> to open the integrated terminal in Visual Studio Code.
+* Ensure you’re in the project root directory where your `.csproj` file is located.
+* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
+dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+
+N> On the Syncfusion<sup style="font-size:70%">&reg;</sup> side, we are using [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.116.1. Please make sure to reference this version as well.
+* dotnet add package SkiaSharp.Views.Blazor -v 3.116.1
+
+![SkiaSharp Views Blazor](gettingstarted-images/skia-sharp-image.png)
+
+{% endtabcontent %}
+
+{% endtabcontents %}
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+| Interactive Render Mode | Description |
+| -- | -- |
+| WebAssembly or Auto | Open **~/_Imports.razor** file from the client project.|
+| Server | Open **~/_import.razor** file, which is located in the `Components` folder.|
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the program.cs file of your Blazor Web App.
+
+If the **Interactive Render Mode** is set to `WebAssembly` or `Auto`, you need to register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor service in both **~/Program.cs** files of your Blazor Web App.
+
+If the **Interactive Render Mode** is set to `Server`, your project will contain a single **~/Program.cs** file. So, you should register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service only in that **~/Program.cs** file.
+
+{% tabs %}
+{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Server" hl_lines="2 9 11 13" %}
+
+using BlazorWebAppServer.Components;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.Services.AddRazorComponents() 
+        .AddInteractiveServerComponents();
+
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+
+if (!app.Environment.IsDevelopment())
+{
+    app.UseExceptionHandler("/Error", createScopeForErrors: true);
+    app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+app.UseStaticFiles();
+app.UseAntiforgery();
+
+app.MapRazorComponents<App>()
+    .AddInteractiveServerRenderMode();
+
+app.Run();
+
+{% endhighlight %}
+
+{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) WebAssembly" hl_lines="3 9 11" %}
+
+using BlazorWebApp.Client.Pages;
+using BlazorWebApp.Components;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+builder.Services.AddRazorComponents()
+.AddInteractiveWebAssemblyComponents();
+
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+if (app.Environment.IsDevelopment())
+{
+app.UseWebAssemblyDebugging();
+}
+else
+{
+app.UseExceptionHandler("/Error", createScopeForErrors: true);
+    app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+app.UseStaticFiles();
+app.UseAntiforgery();
+
+app.MapRazorComponents<App>()
+    .AddInteractiveWebAssemblyRenderMode()
+    .AddAdditionalAssemblies(typeof(Counter).Assembly);
+
+app.Run();
+
+{% endhighlight %}
+
+{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Auto" hl_lines="3 9 11 13" %}
+
+using BlazorWebAppAuto.Client.Pages;
+using BlazorWebAppAuto.Components;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+builder.Services.AddRazorComponents()
+.AddInteractiveServerComponents() .AddInteractiveWebAssemblyComponents();
+
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+if (app.Environment.IsDevelopment())
+{
+app.UseWebAssemblyDebugging();
+}
+else
+{ app.UseExceptionHandler("/Error", createScopeForErrors: true);
+    app.UseHsts();
+}
+app.UseHttpsRedirection();
+app.UseStaticFiles();
+app.UseAntiforgery();
+
+app.MapRazorComponents<App>()
+.AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode()
+    .AddAdditionalAssemblies(typeof(Counter).Assembly);
+
+{% endhighlight %}
+{% endtabs %}
+
+N> [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section of the **~/Components/App.razor** file.
+
+```html
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+```
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~Pages/.razor** file. If an interactivity location as `Per page/component` in the web app, define a render mode at the top of the **~Pages/.razor** component, as follows:
+
+| Interactivity location | RenderMode | Code |
+| --- | --- | --- |
+| Per page/component | Auto | @rendermode InteractiveAuto |
+|  | WebAssembly | @rendermode InteractiveWebAssembly |
+|  | Server | @rendermode InteractiveServer |
+|  | None | --- |
+
+N> If an **Interactivity Location** is set to `Global` and the **Render Mode** is set to `Auto` or `WebAssembly` or `Server`, the render mode is configured in the `App.razor` file by default.
+
+{% tabs %}
+{% highlight razor %}
+
+@* Your App render mode define here *@
+@rendermode InteractiveAuto
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If an interactivity location as Global no need to mention render mode. Set the interactivity mode for whole sample.
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If you don’t provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required.
+
+## Run the application
+
+Run the application, and the PDF file will be displayed using Syncfusion&reg; Blazor PDF Viewer component in your browser.
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %}
+
+N> [View Sample in GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorWebApp).
+
+## See also
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](./web-assembly-application)
+
+* [Getting Started with Blazor PDF Viewer Component in WSL mode](./wsl-application)
+
+* [Learn different ways to add script reference in Blazor Application](https://blazor.syncfusion.com/documentation/common/adding-script-references)
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
+
+* [.NET 9 Native Linking Issues with SkiaSharp and Emscripten 3.1.56](https://help.syncfusion.com/document-processing/faq/how-to-fix-skiasharp-native-reference-issue-in-blazor-net90-app)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-assembly-application.md
new file mode 100644
index 000000000..39425baba
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/web-assembly-application.md
@@ -0,0 +1,184 @@
+---
+layout: post
+title: Getting Started with SfPdfViewer in Blazor WASM App | Syncfusion
+description: Checkout and learn about getting started with Blazor SfPdfViewer component in Blazor WebAssembly (WASM) App using Visual Studio and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# View PDF files using PDF Viewer Component in the Blazor WASM app
+
+In this section, we'll guide you through the process of adding Syncfusion&reg; Blazor PDF Viewer component to your Blazor WebAssembly (WASM) app using Visual Studio and Visual Studio Code. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Getting%20Started/Client-side%20application).
+
+{% tabcontents %}
+
+{% tabcontent Visual Studio %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* To use the PDF Viewer component in a Blazor WebAssembly application with SkiaSharp, make sure to have the required .NET workloads installed by executing the following commands in the command prompt.
+    * dotnet workload install wasm-tools
+    * dotnet workload install wasm-tools-net8
+
+## Create a new Blazor App in Visual Studio    
+
+You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio).
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer and Themes NuGet in the App
+
+To add **Blazor PDFViewer** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install 
+
+* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) 
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
+
+N> On the Syncfusion<sup style="font-size:70%">&reg;</sup> side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well.
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* To use the PDF Viewer component in a Blazor WebAssembly application with SkiaSharp, make sure to have the required .NET workloads installed by executing the following commands in the command prompt.
+    * dotnet workload install wasm-tools
+    * dotnet workload install wasm-tools-net8
+
+## Create a new Blazor App in Visual Studio Code
+
+You can create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project).
+
+Alternatively, you can create a WebAssembly application using the following command in the terminal(<kbd>Ctrl</kbd>+<kbd>`</kbd>).
+
+{% tabs %}
+
+{% highlight c# tabtitle="Blazor WASM App" %}
+
+dotnet new blazorwasm -o BlazorApp
+cd BlazorApp
+
+{% endhighlight %}
+
+{% endtabs %}
+
+N> The PDF Viewer component is supported from .NET 6.0 onwards.
+
+## Install Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor NuGet Package in the App
+
+* Press <kbd>Ctrl</kbd>+<kbd>`</kbd> to open the integrated terminal in Visual Studio Code.
+* Ensure you’re in the project root directory where your `.csproj` file is located.
+* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer), [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) and [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) NuGet package and ensure all dependencies are installed.
+
+{% tabs %}
+
+{% highlight c# tabtitle="Package Manager" %}
+
+dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
+dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
+dotnet add package SkiaSharp.Views.Blazor -v 3.116.1
+dotnet restore
+
+{% endhighlight %}
+
+{% endtabs %}
+
+N> On the Syncfusion<sup style="font-size:70%">&reg;</sup> side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well.
+
+N> Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details.
+
+{% endtabcontent %}
+
+{% endtabcontents %}
+
+## Register Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor Service in the program.cs file.
+
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="3 9 13" %}
+
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+using Syncfusion.Blazor;
+
+var builder = WebAssemblyHostBuilder.CreateDefault(args);
+builder.RootComponents.Add<App>("#app");
+builder.RootComponents.Add<HeadOutlet>("head::after");
+
+builder.Services.AddMemoryCache();
+builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
+
+// Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+await builder.Build().RunAsync();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section of the **wwwroot/index.html** file.
+
+{% tabs %}
+{% highlight cshtml %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If you don't provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required.
+
+## Run the application
+
+Run the application, and the PDF file will be displayed using Syncfusion&reg; Blazor PDF Viewer component in your browser.
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %}
+
+## See also
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor Server App](./server-side-application)
+
+* [Getting Started with Blazor PDF Viewer (Next Gen) Component in WSL mode](./wsl-application)
+
+* [.NET 9 Native Linking Issues with SkiaSharp and Emscripten 3.1.56](https://help.syncfusion.com/document-processing/faq/how-to-fix-skiasharp-native-reference-issue-in-blazor-net90-app)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/wsl-application.md b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/wsl-application.md
new file mode 100644
index 000000000..696dbc816
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/getting-started/wsl-application.md
@@ -0,0 +1,97 @@
+---
+layout: post
+title: Getting Started with SfPdfViewer in Blazor WSL mode | Syncfusion
+description: Learn how to getting started with SfPdfViewer control in Blazor WSL (Windows Subsystem for Linux) mode. 
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Getting Started with Blazor PDF Viewer in WSL mode
+
+To run the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer (Next Gen) component in WSL (Windows Subsystem for Linux) mode, follow these steps:
+
+**Step 1:** Enable the Windows Subsystem for Linux and the Virtual Machine Platform.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/turn-features.png)
+
+To enable the Windows Subsystem for Linux (WSL) and the Virtual Machine Platform on Windows, follow these steps:
+
+Open the Start menu and search for `Control Panel`. Click on `Programs`, then click on `Turn Windows features on or off`. Scroll down and select the boxes next to `Windows Subsystem for Linux` and `Virtual Machine Platform`. Finally, Click `OK` and restart your machine.
+
+After restarting your computer, you can install a Linux distribution like Ubuntu from the Microsoft Store and execute Linux commands directly in Windows.
+
+**Step 2:** Install the `Ubuntu`
+
+![Create-new-blazor-wsl-app](gettingstarted-images/ubuntu-install.png)
+
+Ubuntu can be installed on a Windows machine by the Microsoft Store, follow these steps:
+
+Open the Microsoft Store on your Windows machine. Search for `Ubuntu` in the Microsoft Store search bar. Click on the `Ubuntu` application and click the `Get` button to download and install the application. Once the installation is complete, click on the `Launch` button to start Ubuntu. This will install Ubuntu as a Windows Subsystem for Linux (WSL), which allows you to run a Linux environment directly on Windows without the need for a virtual machine.
+
+On Ubuntu, create a new user with a username and password.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/username-password.png)
+
+**Step 3:** Install the dotnet framework for running the WSL (Windows Subsystem for Linux) in the project by running the following code one by one. 
+
+```
+    wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
+
+    sudo dpkg -i packages-microsoft-prod.deb
+
+    rm packages-microsoft-prod.deb
+
+    sudo apt-get update && \
+    sudo apt-get install -y dotnet-sdk-7.0
+
+```
+
+Check the comment dotnet --info and it should come as follows.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/dotnet-info.png)
+
+If the above result is not shown, please run the comments below 
+
+```
+    sudo apt remove dotnet*
+    sudo apt remove aspnetcore*
+    sudo apt remove netstandard*
+    sudo apt-get remove dotnet-host
+    sudo apt autoremove
+    sudo apt autoremove -y dotnet-sdk-7.0
+    sudo apt-get update
+    dotnet
+    sudo apt-get install -y dotnet-sdk-7.0
+    dotnet
+    dotnet --info
+```
+**Step 4:** Now, run the server or webassembly sample in WSL (Windows Subsystem for Linux) mode and it will run our Blazor PDF Viewer component.
+
+![WSL-Mode](gettingstarted-images/WSL-Mode.png)
+
+N> If you encounter any issues while running in WSL (Windows Subsystem for Linux) mode, use the following instructions to resolve them.
+
+If the sample does not load the PDF file and throws an exception.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/exception.png)
+
+Then, in the Ubuntu command window, run the following commands one by one to install all necessary Blazor PDF Viewer dependencies for a Linux run.
+
+```
+    sudo apt-get install libfontconfig1
+    sudo apt-get update && apt-get install -y --allow-unauthenticated libgdiplus libc6-dev libx11-dev
+    sudo apt-get update
+    sudo apt install libgdiplus
+
+```
+
+Close the project, reopen it, and run it in WSL mode. It will run properly.
+
+![Create-new-blazor-wsl-app](gettingstarted-images/final.png)
+
+## See also
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor Server App](./server-side-application)
+
+* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](./web-assembly-application)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/globalization.md b/Document-Processing/PDF/PDF-Viewer2/blazor/globalization.md
new file mode 100644
index 000000000..58bf4362a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/globalization.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Globalization and RTL in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about globalization and RTL in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Globalization and RTL in Blazor SfPdfViewer Component
+
+## Localization
+
+[Blazor SfPdfViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) component can be localized. Refer to [Blazor Localization](https://blazor.syncfusion.com/documentation/common/localization) topic to localize Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor components.
+
+## Right to Left
+
+To enable right-to-left (RTL) rendering for the user interface, you can set the [EnableRtl](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableRtl) property of the desired control to `true`. This will ensure that the control is rendered appropriately for users who use RTL languages such as Arabic, Hebrew, Azerbaijani, Persian, and Urdu. The following code snippet demonstrates how to enable RTL rendering.
+
+By setting EnableRtl to `true`, the control will adjust its layout and appearance to align text, icons, and other elements from right to left, providing an optimized user experience for RTL language users.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              EnableRtl="true" />
+
+@code {
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## See also
+
+* [Events in Blazor SfPdfViewer Component](./events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/hand-written-signature.md b/Document-Processing/PDF/PDF-Viewer2/blazor/hand-written-signature.md
new file mode 100644
index 000000000..b4c0d5e77
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/hand-written-signature.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Handwritten Signature in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about handwritten signature in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Handwritten Signature in Blazor SfPdfViewer Component
+
+The SfPdfViewer control supports adding handwritten signatures to a PDF document. The handwritten signature reduces the paper work of reviewing the content and verifies it digitally.
+
+## Adding a handwritten signature to the PDF document
+
+The handwritten signature can be added to the PDF document using the annotation toolbar.
+
+* Click the **Edit Annotation** button in the SfPdfViewer toolbar. A toolbar appears below it.
+* Select the **HandWritten Signature** button in the annotation toolbar. The signature panel will appear.
+
+![HandWritten Signature in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-handwritten-sign.png)
+
+* Draw the signature in the signature panel.
+
+![Displaying Signature Panel in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-sign-panel.png)
+
+* Then click **Create** button and move the signature using the mouse and place them in the desired location.
+
+![Adding Signature in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-adding-signature.png)
+
+## Editing the properties of handwritten signature
+
+The stroke color, border thickness, and opacity of the handwritten signature can be edited using the edit stroke color tool, edit thickness tool, and edit opacity tool in the annotation toolbar.
+
+![Editing Signature Properties in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-signature-properties.png)
+
+## See also
+
+* [Form filling in Blazor SfPdfViewer Component](./form-filling)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/change-the-highlighted-color-of-the-text.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/change-the-highlighted-color-of-the-text.md
new file mode 100644
index 000000000..73f47f2a7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/change-the-highlighted-color-of-the-text.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Change highlight color text in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to change the highlighted color of the text in Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Change the highlight color of the text in Blazor SfPdfViewer Component
+
+You can change the highlight color of the selected annotation using the `Color` property of the [PdfViewerHighlightSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerHighlightSettings.html) class.
+
+The following code illustrates how to change the highlight color of the text.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<!--Render simple PDF Viewer with customized highlight options-->
+<SfPdfViewer2 @ref="PDFViewer"
+              DocumentPath="@DocumentPath">
+    <PdfViewerHighlightSettings Color="@highlightColor">
+    </PdfViewerHighlightSettings>
+</SfPdfViewer2>
+
+@code{
+    SfPdfViewer2 PDFViewer;
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "Data/PDF_Succinctly.pdf";
+
+    //Defines the color for text markup annotations like highlight.
+    private string highlightColor = "Green";
+
+}
+```
+![Highlight Text in Blazor PDFViewer](../../../PDF-Viewer/blazor/images/highlighttext.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Text%20Markup/Customize%20highlight%20annotation).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-status-of-annotations-or-comments.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-status-of-annotations-or-comments.md
new file mode 100644
index 000000000..5ae11fc96
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-status-of-annotations-or-comments.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title: Check the status of annotations in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to check the status of annotations or comments in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Check the status of annotations or comments in Blazor SfPdfViewer
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows to check the status of the annotations in the SfPdfViewer using the [Review](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.Review.html) property of the [PdfAnnotation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfAnnotation.html) class.
+
+The following code example shows the review status of the annotation.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+@inject IJSRuntime JsRuntime;
+
+<SfButton OnClick="reviewStatus">Review Status</SfButton>
+<SfPdfViewer2 @ref="pdfviewer"
+              CommentPanelVisible="true"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"></SfPdfViewer2>
+
+@code{
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    SfPdfViewer2 pdfviewer;    
+
+    //Prints the comment status of the PDF document in console.
+    public async void reviewStatus()
+    {
+        //Gets the annotation collection.
+        List<PdfAnnotation> annotationCollection = await pdfviewer.GetAnnotationsAsync();
+        for (var x = 0; x < annotationCollection.Count; x++)
+        {
+            PdfAnnotation annotation = annotationCollection[x];
+            //Gets the review status details of the comment.
+            Review review = annotation.Review;
+            var reviewState = review.State;
+            var reviewStateModel = review.StateModel;
+            await this.JsRuntime.InvokeVoidAsync("console.log",reviewState.ToString());
+        }
+    }
+}
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Comment%20Panel/Retrieve%20the%20comment%20status).
+
+## See also
+
+* [Free text annotations in Blazor SfPdfViewer Component](../annotation/free-text-annotation)
+
+* [Ink Annotation in the Blazor SfPdfViewer component](../annotation/ink-annotation)
+
+* [Stamp annotations in Blazor SfPdfViewer Component](../annotation/stamp-annotation)
+
+* [Comments in Blazor SfPdfViewer Component](../annotation/comments)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md
new file mode 100644
index 000000000..4c4a07891
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/check-whether-the-loaded-PDF-document-is-edited-or-not.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Check Document Editing Status in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to check the editing status of the document in Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Check the document's editing status in Blazor SfPdfViewer Component
+
+You can check whether the loaded PDF document is edited or not by using the [IsDocumentEdited](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_IsDocumentEdited) property of the SfPdfViewer.
+
+The following code represents how to check the editing status of the document.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="OnClick">Check</SfButton>
+<SfPdfViewer2 @ref="Viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code{
+    public SfPdfViewer Viewer { get; set; }
+    private string DocumentPath { get; set; } = "Data/PDF_Succinctly.pdf";
+
+    //Prints the document's edited status in console window.
+    public void OnClick(MouseEventArgs args)
+    {
+        Console.WriteLine(Viewer.IsDocumentEdited);
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Document%20editing%20status).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/content-security-policy.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/content-security-policy.md
new file mode 100644
index 000000000..a134c787a
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/content-security-policy.md
@@ -0,0 +1,56 @@
+---
+layout: post
+title: Use strict CSP in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to use the Content Security Policy in Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Use strict CSP in Blazor SfPdfViewer Component
+
+Content Security Policy (CSP) is a security feature implemented by web browsers that helps to protect against attacks such as cross-site scripting (XSS) and data injection. It limits the sources from which content can be loaded on a web page.
+
+To enable strict [Content Security Policy (CSP)](https://csp.withgoogle.com/docs/strict-csp.html), certain browser features are disabled by default. In order to use Syncfusion PDF Viewer control with strict CSP mode, it is essential to include following directives in the CSP meta tag.
+
+* Syncfusion PDF Viewer control are rendered with calculated **inline styles** and **base64** font icons, which are blocked on a strict CSP-enabled site. To allow them, add the [`style-src 'self' 'unsafe-inline' blob:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src) and [`font-src 'self' data:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src) directives in the meta tag as follows.
+
+* Syncfusion **material** and **tailwind** built-in themes contain a reference to the [`Roboto's external font`](https://fonts.googleapis.com/css?family=Roboto:400,500), which is also blocked. To allow them, add the [`external font`](https://fonts.googleapis.com/css?family=Roboto:400,500) reference to the [`style-src`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src) and [`font-src`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src) directives in the above meta tag.
+
+* Syncfusion PDF Viewer control uses **web workers** and makes network connections, which are blocked on a strict CSP-enabled site. To allow them, add the [`worker-src 'self' blob:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/worker-src) and [`connect-src 'self' https://cdn.syncfusion.com data:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src) directives in the above meta tag.
+
+* For JavaScript execution and WebAssembly operations, the [`script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.syncfusion.com blob:;`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src) directive is required to allow inline scripts, eval operations, and blob-based scripts.
+
+The resultant meta tag is included within the `<head>` tag and resolves the CSP violation on the application's side when utilizing Syncfusion PDF Viewer control with material and tailwind themes.
+
+{% tabs %}
+{% highlight razor tabtitle="HTML" %}
+<head>
+    <meta http-equiv="Content-Security-Policy" content="default-src 'self';
+    frame-src 'self' blob:;
+    script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.syncfusion.com blob:;
+    style-src 'self' 'unsafe-inline' blob: https://cdn.syncfusion.com https://fonts.googleapis.com;
+    img-src 'self' blob: data:;
+    worker-src 'self' blob:;
+    connect-src 'self' https://cdn.syncfusion.com data:;
+    font-src 'self' data: https://fonts.googleapis.com/ https://fonts.gstatic.com/;" />
+</head>
+{% endhighlight %}
+{% endtabs %}
+
+N> In accordance with the latest security practices, the Syncfusion PDF Viewer control requires `'unsafe-eval'` in the script-src directive for proper JavaScript execution and WebAssembly operations. The `worker-src` directive is also essential for web worker functionality used by the PDF Viewer. Make sure to update your CSP meta tags to include these directives for optimal functionality and security compliance.
+
+### Please find the usage of each directives:
+
+| Directive                          | Usage                                                                                                                                                                                                                  |
+|------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `default-src 'self';`              | Sets the default policy for loading resources. `'self'` means only allow resources from the same origin (same domain).                                                                                                 |
+| `script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.syncfusion.com blob:;` | Defines where JavaScript code can come from. `'self'` allows scripts from the same origin. `'unsafe-inline'` allows inline scripts. `'unsafe-eval'` allows eval() operations needed for WebAssembly. `blob:` allows loading scripts from Blob URLs. |
+| `worker-src 'self' blob:;`         | Controls where workers can be loaded from. `'self'` allows same-origin workers. `blob:` allows blob-based workers, common in PDF viewers and heavy JS applications.                                                     |
+| `connect-src 'self' https://cdn.syncfusion.com data:;` | Controls where the application can make network requests, such as `fetch()`, XHR, and WebSockets. `'self'` restricts to the same origin, with additional allowances for Syncfusion CDN and data URLs. |
+| `style-src 'self' 'unsafe-inline' blob: https://cdn.syncfusion.com https://fonts.googleapis.com;` | Defines the sources for stylesheets. `'self'` restricts to the same origin. `'unsafe-inline'` allows inline styles. `blob:` allows dynamically generated styles. External font CDNs are also allowed. |
+| `font-src 'self' data: https://fonts.googleapis.com/ https://fonts.gstatic.com/;` | Controls where fonts can be loaded from. `'self'` allows local fonts. `data:` allows inline fonts (base64 embedded), and the URLs allow loading from external font CDNs. |
+| `img-src 'self' blob: data:;`      | Controls where images can be loaded from. `'self'` restricts to the same origin. `blob:` allows blob-based images. `data:` allows inline images (base64).                                                            |
+| `frame-src 'self' blob:;`          | Controls where frames can be loaded from. `'self'` allows same-origin frames. `blob:` allows blob-based frames, which may be used by the PDF Viewer for certain operations.                                          |
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Pdfviewer%20Sample%20With%20CSP).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/coordinate-conversion-between-page-and-client-points.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/coordinate-conversion-between-page-and-client-points.md
new file mode 100644
index 000000000..50ec3bb36
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/coordinate-conversion-between-page-and-client-points.md
@@ -0,0 +1,164 @@
+---
+layout: post
+title: Coordinate Conversion Between Page and Client Points | Syncfusion
+description: Learn here all about how to perform coordinate conversion between page and client points into Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Coordinate Conversion Between Page and Client Points.
+
+The PDF viewer provides two essential conversion methods for translating between the document's internal page coordinate system and the client's browser coordinate system:
+
+1. **Converting Page Coordinates to Client Coordinates**
+
+   - `convertPagePointToClientPoint`: Transforms document page coordinates to browser viewport coordinates
+
+   
+
+2. **Converting Client Coordinates to Page Coordinates**
+
+   - `convertClientPointToPagePoint`: Transforms browser viewport coordinates to document page coordinates
+
+## Converting Page Coordinates to Client Coordinates
+- **ConvertPagePointToClientPoint**
+
+This method is used to translate a point from the document's page coordinate system to the browser's client (viewport) coordinate system. 
+
+The following code example shows how to convert page coordinates to client coordinates into the blazor component.
+
+**Step 1:** Add a script file to your application and refer it to the head tag.
+
+```cshtml
+
+<head>
+    <script src="index.js" type="text/javascript"></script>
+</head>
+
+```
+
+**Step 2:** Add the following code to render the JS component in the blazor to the newly added JS file.
+
+```javascript
+
+window.convertPagePointToClientPoint = function (pagePoint) {
+    const pagediv = document.getElementsByClassName('e-pv-page-div')[pageIndex];
+    const rect = pagediv.getBoundingClientRect();
+    return {
+        x: pagePoint.x + rect.left,
+        y: pagePoint.y + rect.top
+    };
+};
+
+```
+
+**Step 3:** Add the following code to the blazor component.
+
+```cshtml
+
+<div style="display: flex; height: 100vh; width: 100vw;">
+    <div style="width: 40%; height: 100%;">
+    </div>
+    <div style="width: 60%; height: 100%;">
+        <SfPdfViewer2 @ref="SfPdfViewer2"
+        DocumentPath="wwwroot/Invoice.pdf"
+        Height="100%"
+        Width="100%">
+            <PdfViewerEvents OnPageClick="OnPageClick"></PdfViewerEvents>
+        </SfPdfViewer2>
+    </div>
+</div>
+
+@inject IJSRuntime JS
+
+@code {
+    private SfPdfViewer2 SfPdfViewer2;
+
+    private async void OnPageClick(PageClickEventArgs args)
+    {
+        Point pagePoint = new Point { x = args.PageX, y = args.PageY };
+        Point clientPoint = await JS.InvokeAsync<Point>("convertPagePointToClientPoint", pagePoint);
+        Console.WriteLine($"PagePoint to ClientPoint : X: {clientPoint.x} Y: {clientPoint.y} ");
+    }
+    public class Point
+    {
+        public double x { get; set; }
+        public double y { get; set; }
+    }
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Coordinate%20Conversion%20Between%20Page%20and%20Client%20Points)
+
+## Converting Client Coordinates To Page Coordinates
+- **ConvertClientPointToPagePoint** 
+
+This method is used to translate a point from the browser's client (viewport) coordinate system to the document's page coordinate system.
+
+The following code example shows how to convert client coordinates to page coordinates into the blazor component.
+
+**Step 1:** Add a script file to your application and refer it to the head tag.
+
+```cshtml
+
+<head>
+    <script src="index.js" type="text/javascript"></script>
+</head>
+
+```
+
+**Step 2:** Add the following code to render the JS component in the blazor to the newly added JS file.
+
+```javascript
+
+window.convertClientPointToPagePoint = function (clientPoint) {
+    const pagediv = document.getElementsByClassName('e-pv-page-div')[0];
+    const rect = pagediv.getBoundingClientRect();
+    return {
+        x: clientPoint.x - rect.left,
+        y: clientPoint.y - rect.top
+    };
+};
+
+```
+
+**Step 3:** Add the following code to the blazor component.
+
+```cshtml
+
+<div style="display: flex; height: 100vh; width: 100vw;">
+    <div style="width: 40%; height: 100%;">
+    </div>
+    <div @onmousedown=HandleMouseDown style="width: 60%; height: 100%;">
+        <SfPdfViewer2 @ref="SfPdfViewer2"
+        DocumentPath="wwwroot/Invoice.pdf"
+        Height="100%"
+        Width="100%">
+        </SfPdfViewer2>
+    </div>
+</div>
+
+@inject IJSRuntime JS
+
+@code {
+    private SfPdfViewer2 SfPdfViewer2;
+    private int currentClientX;
+    private int currentClientY;
+
+    private async void HandleMouseDown(MouseEventArgs e)
+    {
+        currentClientX = (int)e.ClientX;
+        currentClientY = (int)e.ClientY;
+        Point clientPoint = new Point { x = currentClientX, y = currentClientY };
+        Point pagePoint = await JS.InvokeAsync<Point>("convertClientPointToPagePoint", clientPoint);
+        Console.WriteLine($"ClientPoint to PagePoint : X: {pagePoint.x} Y: {pagePoint.y} ");
+    }
+    public class Point
+    {
+        public double x { get; set; }
+        public double y { get; set; }
+    }
+}
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Coordinate%20Conversion%20Between%20Page%20and%20Client%20Points)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-pdf-document-in-the-created-event-of-sfpdfviewer.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-pdf-document-in-the-created-event-of-sfpdfviewer.md
new file mode 100644
index 000000000..acedab5dc
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-pdf-document-in-the-created-event-of-sfpdfviewer.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title: Create PDF document in the SfPdfViewer created event | Syncfusion
+description: Learn here all about how to create PDF document in the created event of Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Create PDF document in the created event of SfPdfViewer Component
+
+You can create PDF document in the SfPdfViewer's `Created` event and load the same document in the viewer.
+
+The following code example shows how to create PDF document and load that document in SfPdfViewer.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Pdf;
+@using Syncfusion.Pdf.Interactive;
+@using System.IO;
+@using Syncfusion.Drawing;
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Height="100%" Width="100%">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewer2>
+
+
+@code{
+
+    public SfPdfViewer2 PdfViewer { get; set; }
+
+    //Sets the PDF document path for initial loading.
+    public string DocumentPath { get; set; }
+
+    //This event triggers when the SfPdfViewer is created.
+    private void created()
+    {
+        var document = new PdfDocument();
+        byte[] bytes;
+        //Add a new page to the PDF document.
+        PdfPage page = document.Pages.Add();
+        //Create a textbox field and add the properties.
+        PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+        textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+        textBoxField.ToolTip = "First Name";
+        //Add the form field to the document.
+        document.Form.Fields.Add(textBoxField);
+        var stream = new MemoryStream();
+        //Save the document.
+        document.Save(stream);
+        bytes = stream.ToArray();
+        string base64string = Convert.ToBase64String(bytes);
+        //Sets the document path as base64 string.
+        DocumentPath = "data:application/pdf;base64," + base64string;
+        //close the document
+        document.Close(true);
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Create%20PDF%20using%20base%20library).
+
+## See also
+
+* [Events in Blazor SfPdfViewer Component](../events)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-popup-window.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-popup-window.md
new file mode 100644
index 000000000..855b3d84c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-popup-window.md
@@ -0,0 +1,64 @@
+---
+layout: post
+title: Create a SfPdfViewer within a popup window in Blazor | Syncfusion
+description: Learn here all about Create SfPdfViewer in a popup window in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Create a SfPdfViewer within a popup window in Blazor
+
+For quick view, you might need to display the PDF file in a dialog window. The following code snippet explains how to use the SfPdfViewer component inside a dialog window. In this example, the Syncfusion&reg; dialog component is used for Blazor.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Popups
+@using Syncfusion.Blazor.SfPdfViewer
+
+<div id="target" style="width:800px;height:500px">
+
+    <SfButton @onclick="OnClick">Open PDF Viewer</SfButton>
+
+    <SfDialog @ref="@Dialog"
+              Target="#target"
+              Width="100%"
+              Visible="false"
+              IsModal="true"
+              Header="@Header"
+              ShowCloseIcon="true">
+        <SfPdfViewer2 @ref="Viewer">
+            <PdfViewerEvents Created="Created"></PdfViewerEvents>
+        </SfPdfViewer2>
+    </SfDialog>
+
+</div>
+
+@code {
+    public SfPdfViewer2 Viewer { get; set; }
+    SfDialog Dialog;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await this.Dialog.ShowAsync();
+    }
+
+    private async void Created()
+    {
+        await Viewer.LoadAsync(DocumentPath, null);
+    }
+
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    public string Header { get; set; } = "PDF Viewer";
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/PdfViewer%20in%20Popup%20window)
+
+## See also
+
+* [How to create SfPdfViewer Component in a Splitter Component](./create-sfpdfviewer-in-a-splitter-component)
+
+* [How to view the created PDF document](./create-sfpdfviewer)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-splitter-component.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-splitter-component.md
new file mode 100644
index 000000000..9c0f7d75e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer-in-a-splitter-component.md
@@ -0,0 +1,52 @@
+---
+layout: post
+title: Create SfPdfViewer in a Splitter Component in Blazor | Syncfusion
+description: Learn here all about how to create SfPdfViewer in a Splitter Component in Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Create SfPdfViewer Component in a Splitter Component in Blazor
+
+You can use Splitter to render the SfPdfViewer while rendering more than one component. The following code snippet explains how to render the SfPdfViewer component inside a Splitter pane. In this example, the Syncfusion&reg; Splitter component is used to render SfPdfViewer.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Layouts
+
+<!--This splitter layout holds two panes-->
+<SfSplitter Height="100%" Width="100%">
+    <!--Configures one or more panes to construct different layouts-->
+    <SplitterPanes>
+
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <div> Left pane </div>
+            </ContentTemplate>
+        </SplitterPane>
+
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+
+                <!--Build the PDF Viewer inside a splitter pane-->
+                <SfPdfViewer2 @ref="@viewer"
+                              DocumentPath="@DocumentPath">
+                </SfPdfViewer2>
+
+            </ContentTemplate>
+        </SplitterPane>
+
+    </SplitterPanes>
+</SfSplitter>
+
+@code
+{
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Render%20the%20PDF%20Viewer%20on%20Splitter).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer.md
new file mode 100644
index 000000000..84cc6f52e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/create-sfpdfviewer.md
@@ -0,0 +1,63 @@
+---
+layout: post
+title: View the created PDF document | Syncfusion
+description: Learn here all about View the created PDF document in Syncfusion Blazor SfPdfviewer component and more.
+platform: document-processing
+control: SfPdfviewer
+documentation: ug
+---
+
+# View the created PDF document
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows you to view the created PDF document using the [**Created**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerEvents.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerEvents_Created) event.
+
+The following code example shows how to view the created PDF document.
+
+```cshtml
+
+<SfPdfViewer2 ID="pdfviewer" 
+              @ref="@PdfViewer" 
+              DocumentPath="@documentPath"
+              Height="100%"
+              Width="100%">
+    <PdfViewerEvents Created="created"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code{
+
+    public SfPdfViewer2 PdfViewer { get; set; }
+    public string documentPath { get; set; }
+    private void created()
+    {
+        var document = new PdfDocument();
+        byte[] bytes;
+        //Add a new page to the PDF document.
+        PdfPage page = document.Pages.Add();
+        //Create a textbox field and add the properties.
+        PdfTextBoxField textBoxField = new PdfTextBoxField(page, "FirstName");
+        textBoxField.Bounds = new RectangleF(0, 0, 100, 20);
+        textBoxField.ToolTip = "First Name";
+        //Add the form field to the document.
+        document.Form.Fields.Add(textBoxField);
+        var stream = new MemoryStream();
+        //Save the document.
+        document.Save(stream);
+        bytes = stream.ToArray();
+        string base64string = Convert.ToBase64String(bytes);
+        documentPath = "data:application/pdf;base64," + base64string;
+        //close the document
+        document.Close(true);
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Create%20PDF%20using%20base%20library)
+
+## See also
+
+* [How to create SfPdfViewer Component in a Splitter Component](./create-sfpdfviewer-in-a-splitter-component)
+
+* [How to create a SfPdfViewer within a popup window in Blazor](./create-sfpdfviewer-in-a-popup-window)
+
+* [How to get PDF document's data](./get-data-from-sfpdfviewer)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/customize-arrow-annotation-heads.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/customize-arrow-annotation-heads.md
new file mode 100644
index 000000000..b6b7b352d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/customize-arrow-annotation-heads.md
@@ -0,0 +1,56 @@
+---
+layout: post
+title: Customize the arrow annotation heads in SfPdfviewer | Syncfusion
+description: Learn here all about how to increase the connection buffer size in Syncfusion Blazor SfPdfviewer component and more.
+platform: document-processing
+control: SfPdfviewer
+documentation: ug
+---
+
+# Customize the arrow annotation heads in Blazor SfPdfViewer Component
+
+You can customize the arrow annotation using the ArrowSettings API.
+
+The following code illustrates how to remove the starting arrow and end arrow from arrow annotation.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfviewer
+
+<SfPdfViewer2 @ref="Viewer"
+              DocumentPath="@DocumentPath"
+              ArrowSettings="@ArrowSettings"
+              Height="100%"
+              Width="100%">
+    <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code
+{
+    public SfPdfViewer2 Viewer { get; set; }
+
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+
+    PdfViewerArrowSettings ArrowSettings = new PdfViewerArrowSettings 
+    { 
+        //To remove the starting arrow.
+        LineHeadStartStyle=LineHeadStyle.None,
+        //To remove the end arrow.
+        LineHeadEndStyle=LineHeadStyle.None
+    };
+
+    //Invokes while loading document in the PDFViewer. 
+    public void DocumentLoad(LoadEventArgs args)
+    {
+        //Shows the AnnotationToolbar on initial loading.
+        Viewer.ShowAnnotationToolbar(true);        
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Shapes/Remove%20arrow%20annotation%20heads).
+
+## See also
+
+* [Shape annotations in Blazor SfPdfViewer Component](../annotation/shape-annotation)
+
+* [Measurement annotations in Blazor SfPdfViewer Component](../annotation/measurement-annotation)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/deploy-maui-using-android-emulator.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/deploy-maui-using-android-emulator.md
new file mode 100644
index 000000000..fb75bbed8
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/deploy-maui-using-android-emulator.md
@@ -0,0 +1,85 @@
+---
+layout: post
+title: Deploy SfPdfViewer in Blazor MAUI in windows | Syncfusion
+description: Learn how to deploy SfPdfViewer in Blazor MAUI Application on Windows in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Render PDF document from embedded source in the MAUI Android app 
+
+In this section, we'll guide you how to render PDF Viewer from embedded source in a MAUI app. We'll break it down into simple steps to make it easy to follow.
+
+Refer [here](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/deploy-maui-windows) to create MAUI app.
+
+## Add PDF Viewer component
+
+Add the Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+<SfPdfViewer2 @ref="viewer" DocumentPath="@DocumentPath" Height="100%" Width="100%"></SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "";
+
+    protected override void OnInitialized()
+    {
+        string basePath = "MauiBlazorAndroid.wwwroot.data.pdf_succinctly.pdf";
+        Stream DocumentStream = this.GetType().Assembly.GetManifestResourceStream(basePath);
+        DocumentStream.Position = 0;
+        using (MemoryStream memoryStream = new MemoryStream())
+        {
+            DocumentStream.CopyTo(memoryStream);
+            byte[] bytes = memoryStream.ToArray();
+            string base64String = Convert.ToBase64String(bytes);
+            string base64prefix = "data:application/pdf;base64,";
+            //Assigned the base64 path to the PDF document path.
+            DocumentPath = $"{base64prefix}{base64String}";
+        }
+        base.OnInitialized();
+    }
+}
+{% endhighlight %}
+{% endtabs %}
+
+N> When developing a Blazor Android MAUI application, passing the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) to the PDF Viewer component as a `base64 string` is needed. This ensures that the application can retrieve and render a PDF document correctly within the PDF Viewer component.
+
+## Run on Android emulator
+
+To run the PDF Viewer in a Blazor Android MAUI application using the Android emulator, follow these steps:
+
+![Run Windows machine](../getting-started/gettingstarted-images/emulator_maui.png)
+
+**Step 1** Set up the necessary dependencies, SDKs, and tools for Blazor Android MAUI on your Windows machine. Ensure that you have installed the required `Android SDK licenses`. If any errors occur during installation, follow the provided prompts or instructions to resolve them.
+
+![android-sdk-liscence](../getting-started/gettingstarted-images/android-sdk-liscence_maui.png)
+
+**Step 2** Right-click the **~wwwroot/data/pdf_succinctly.pdf** file in Solution Explorer, go to `Properties`, and set Build Action to `Embedded Resource` and Copy to Output Directory to `Copy Always`.
+
+![android_maui_properties](../getting-started/gettingstarted-images/android_maui_properties.png)
+
+**Step 3** Install and launch the Android Device Manager. Open the Android SDK Manager, go to the `SDK Tools` tab, select the `Android Device Manager` checkbox, and click `Apply` or `OK`. This will allow you to create, manage, and launch Android Virtual Devices (AVD's) for testing and running Android applications.
+
+![picxel emulator](../getting-started/gettingstarted-images/pixcel-emulator_maui.png)
+
+**Step 4** Ensure the Android emulator is running. Launch the Android Device Manager and create or select an existing AVD to run the emulator.
+
+Now, relaunch the project in emulator mode. It will render the PDF Viewer component using the Blazor Android MAUI application.
+
+N> If you encounter any errors while using the Android Emulator, refer to the following link for troubleshooting guidance[Troubleshooting Android Emulator](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/troubleshooting).
+
+![Blazor SfPdfViewer Component](../getting-started/gettingstarted-images/emulator.png)
+
+>[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/Maui/MauiBlazorAndroid).
+
+## See also
+
+* [Supported Features: Desktop vs Mobile](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/features#supported-features-desktop-vs-mobile).
+
+* [Render PDF document from url in the MAUI app](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/deploy-maui-windows).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/extract-particular-text-and-highlight.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/extract-particular-text-and-highlight.md
new file mode 100644
index 000000000..20f2f2a1b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/extract-particular-text-and-highlight.md
@@ -0,0 +1,108 @@
+---
+layout: post
+title: Extract and Highlight Text in Blazor PDF Viewer | Syncfusion
+description: Learn here all about how to extract specific text and highlight it in the Syncfusion Blazor PDF Viewer component.
+platform: document-processing
+control: PDF Viewer
+documentation: ug
+---
+
+# Extract and Highlight Text in Blazor PDF Viewer Component
+
+The Syncfusion&reg; Blazor PDF Viewer component provides powerful capabilities to extract text from a PDF document and **highlight** specific text. This functionality enables users to interactively process PDF content, making it easier to emphasize important information.
+
+To extract text, the PDF Viewer utilizes the **FindText** method, which identifies the positions of specified text within the PDF. Once the text is found, user can highlight it by creating a highlight annotation and adding it asynchronously using the [**AddAnnotationAsync**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AddAnnotationAsync_Syncfusion_Blazor_SfPdfViewer_PdfAnnotation_) method.
+
+The following code example demonstrates how to extract text from a PDF document and highlight it in the Syncfusion&reg; Blazor PDF Viewer component.
+
+```cshtml
+@page "/"
+@using Microsoft.Extensions.Caching.Memory
+@using Syncfusion.Blazor.Popups;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.Navigations;
+@using Syncfusion.Blazor.SfPdfViewer;
+@using System.Drawing;
+@using Syncfusion.Pdf.Parsing;
+@using Syncfusion.Pdf;
+
+@inject IJSRuntime jsRuntime
+@inject IMemoryCache MemoryCache
+
+<button @onclick="loadDocument">Extract Text</button>
+<button @onclick="highlightText">Highlight Text</button>
+
+<SfPdfViewer2 @ref="viewer" Height="100%" DocumentPath="@DocumentPath"
+              Width="100%" IsExtractText="true">
+    <PdfViewerEvents DocumentLoaded="OnDocumentLoaded"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/data/pdf-succinctly.pdf";
+    private Dictionary<int, List<Syncfusion.Drawing.RectangleF>> matchRects = new Dictionary<int, List<Syncfusion.Drawing.RectangleF>>();
+
+    public async void loadDocument()
+    {
+        using (FileStream docStream = new FileStream(Path.GetFullPath("wwwroot/data/pdf-succinctly.pdf"), FileMode.Open, FileAccess.Read))
+        {
+            // Load the PDF document.
+            PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docStream);
+
+            // Find the text and store its positions.
+            loadedDocument.FindText("the", out matchRects);
+        }
+    }
+
+    public async void highlightText()
+    {
+        if (matchRects != null && matchRects.Count > 0)
+        {
+            var targetText = matchRects.FirstOrDefault(target => target.Value.Count > 0);
+
+            if (targetText.Key > 0)
+            {
+                PdfAnnotation pdfAnnotation = new PdfAnnotation
+                {
+                    Type = AnnotationType.Highlight,
+                    PageNumber = targetText.Key
+                };
+
+                List<Bound> newBounds = new List<Bound>();
+                Bound newBound = new Bound
+                {
+                    X = ConvertPointToPixel(targetText.Value[0].X),
+                    Y = ConvertPointToPixel(targetText.Value[0].Y),
+                    Width = ConvertPointToPixel(targetText.Value[0].Width),
+                    Height = ConvertPointToPixel(targetText.Value[0].Height)
+                };
+                newBounds.Add(newBound);
+                pdfAnnotation.Bounds = newBounds;
+
+                await viewer.AddAnnotationAsync(pdfAnnotation);
+            }
+            else
+            {
+                // Handle the case where the text was not found
+                Console.WriteLine("Text not found for highlighting.");
+            }
+        }
+        else
+        {
+            Console.WriteLine("No text found to highlight.");
+        }
+    }
+
+    private void OnDocumentLoaded()
+    {
+        // This method can be used to perform actions once the document is loaded, if needed.
+    }
+
+    private float ConvertPointToPixel(double number)
+    {
+        return (float)(number * (float)96 / 72);
+    }
+}
+```
+
+ [View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Extract%20Particular%20Text%20and%20Highlight).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/get-data-from-sfpdfviewer.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/get-data-from-sfpdfviewer.md
new file mode 100644
index 000000000..b4e43f9ab
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/get-data-from-sfpdfviewer.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title: Get loaded PDF document's data from Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to get loaded PDF document's data in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Get PDF document's data from Blazor SfPdfViewer Component
+
+You can get the loaded PDF document's data from the SfPdfViewer component using the [GetDocumentAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_GetDocumentAsync) method of SfPdfViewer. 
+
+The following code example shows how to get the loaded/edited document data and re-load the document.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="retrieve">Retrieve Document</SfButton>
+
+<SfButton @onclick="load">ReloadRetrievedDocument</SfButton>
+
+<SfPdfViewer2 @ref="@viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code
+{
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    byte[]? save;
+
+    public async void retrieve()
+    {
+        //Gets the loaded PDF document
+        save = await viewer.GetDocumentAsync();
+    }
+
+    public async void load()
+    {
+        //Converts the byte array into base64 string.
+        string base64String = Convert.ToBase64String(save);
+        //Loads the PDF document from the specified base64 string.
+        await viewer.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Get%20the%20PDF%20document%20as%20a%20byte%20array).
+
+## See also
+
+* [How to create SfPdfViewer Component in a Splitter Component](./create-sfpdfviewer-in-a-splitter-component)
+
+* [How to create a SfPdfViewer within a popup window in Blazor](./create-sfpdfviewer-in-a-popup-window)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/how-to-load-PDF-from-URL-to-server-side-PDF-viewer.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/how-to-load-PDF-from-URL-to-server-side-PDF-viewer.md
new file mode 100644
index 000000000..b124317ea
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/how-to-load-PDF-from-URL-to-server-side-PDF-viewer.md
@@ -0,0 +1,35 @@
+---
+layout: post
+title: How to load PDF from URL to server-side PDF viewer | Syncfusion
+description: Learn here all about how to load PDf from URL on the server-side and load into Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# How to load PDF from URL to server-side PDF viewer.
+
+We already support loading PDF documents from [remote URLs](https://blazor.syncfusion.com/documentation/pdfviewer-2/opening-pdf-file). However, you can also load a document from a URL on the server side using the code provided below.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string Url = "https://s3.amazonaws.com/files2.syncfusion.com/dtsupport/directtrac/general/pd/HTTP_Succinctly-1719682472.pdf";
+        System.Net.WebClient webClient = new System.Net.WebClient();
+        byte[] byteArray = webClient.DownloadData(Url);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20PDF%20file%20from%20URL)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md
new file mode 100644
index 000000000..ae478e361
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/identify-the-values-in-the-undo-redo-collections.md
@@ -0,0 +1,73 @@
+---
+layout: post
+title: Identify if the Viewer has values in the Undo, Redo stack | Syncfusion
+description: Learn how to identify if the Viewer has values in Undo, Redo stack in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Identify if the SfPdfViewer has values in the Undo, Redo collections
+
+Syncfusion&reg; Blazor SfPdfViewer component allows you to identify if the SfPdfViewer has values in the Undo and Redo collections using the [CanUndo](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_CanUndo) and [CanRedo](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_CanRedo) APIs of the SfPdfViewer.
+
+The following code example shows how to achieve this based on the Undo Redo actions.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+@if (canUndo)
+{
+    <button @onclick="undo">Undo</button>
+}
+
+else
+{
+    <button @onclick="undo" disabled>Undo</button>
+}
+
+@if (canRedo)
+{
+    <button @onclick="redo">Redo</button>
+}
+
+else
+{
+    <button @onclick="redo" disabled>Redo</button>
+}
+
+<SfPdfViewer2 @ref="@viewer"
+              @bind-CanUndo="@canUndo"
+              @bind-CanRedo="@canRedo"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code
+{
+    SfPdfViewer2 viewer;
+    bool canUndo = true;
+    bool canRedo = true;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    // Event triggers on Undo button click.
+    private async Task undo()
+    {
+        // API to perform Undo action.
+        await viewer.UndoAsync();
+    }
+
+    // Event triggers on Redo button click.
+    private async Task redo()
+    {
+        // API to perform Redo action.
+        await viewer.RedoAsync();
+    }
+}
+
+```
+
+[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Identify%20the%20PdfViewer%20has%20Undo%2C%20Redo)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/import-annotations-as-objects.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/import-annotations-as-objects.md
new file mode 100644
index 000000000..53f2faea9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/import-annotations-as-objects.md
@@ -0,0 +1,55 @@
+---
+layout: post
+title: Import annotations as objects in SfPdfViewer Component | Syncfusion
+description: Learn here all about Import annotations as objects in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Import annotations as objects in Blazor SfPdfViewer Component
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows to import annotations from objects or streams instead of loading it as a file. To import such annotation objects, the SfPdfViewer control must export the PDF annotations as objects using the [ExportAnnotationsAsObjectAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ExportAnnotationsAsObjectAsync) method. Only the annotations objects that are exported from the SfPdfViewer can be imported.
+
+The following code example shows how to import annotations as objects, that are exported using the [ExportAnnotationsAsObjectAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ExportAnnotationsAsObjectAsync) method.
+
+```cshtml
+@page "/"
+@using Syncfusion.Blazor.SfPdfViewer
+
+<button @onclick="ExportAnnot">ExportAnnot</button>
+<button @onclick="ImportAnnot">ImportAnnot</button>
+
+<SfPdfViewer2 @ref="PdfViewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    public SfPdfViewer2 PdfViewer { get; set; }
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+    public object annotation;
+
+    //Export the annotations as an object
+    public async void ExportAnnot()
+    {
+        await PdfViewer.ExportAnnotation();
+        annotation = await PdfViewer.ExportAnnotationsAsObjectAsync();
+    }
+
+    //Import the annotations that are exported as objects
+    public async void ImportAnnot()
+    {
+        await PdfViewer.ImportAnnotation(annotation);
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/Import-Export/Annotations%20as%20JSON%20object).
+
+N> You can refer to our [Blazor SfPdfViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor SfPdfViewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap4) to understand how to explains core features of SfPdfViewer.
+
+## See also
+
+* [Import and Export annotations in Blazor SfPdfViewer Component](../annotation/import-export-annotation)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/improve-performance-using-CDN.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/improve-performance-using-CDN.md
new file mode 100644
index 000000000..d653ea4c9
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/improve-performance-using-CDN.md
@@ -0,0 +1,34 @@
+---
+layout: post
+title: Improve the performance using CDN | Syncfusion
+description: Learn here all about how to improve the performance using CDN in Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Improve the performance using CDN in Blazor SfPdfViewer component
+
+When all the JavaScript files in the sample are referenced from the application's hosted location or NuGet location, each time we fetch them from that location, causing delays in fetching the script files. This delay can potentially slow down component rendering. To mitigate this performance issue, you can reference the script from a **CDN**. If the file is not available in the browser cache, it will be retrieved only from the hosted location. Subsequent fetches will retrieve the script file from the browser cache unless the file has been modified.
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows to improve performance by referring the below **CDN** link in **~/Pages/Layout.cshtml** or **~/Pages/_Host.cshtml** file.
+
+
+```html
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer control's theme style sheet -->
+    <link href="https://cdn.syncfusion.com/blazor/25.1.35/styles/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer control's scripts -->
+    <script src="https://cdn.syncfusion.com/blazor/25.1.35/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+```
+
+We have a file named pdfium.js in our source. Whenever that file is fetched, it is downloaded from the hosted location while referring to the script from the NuGet. Below is a clear image that illustrates this process.
+
+![Using Nuget](../getting-started/gettingstarted-images/Filesize_using_NuGet.png)
+
+When referencing the script from the **CDN**, it is initially fetched from the hosted location. Subsequently, it is retrieved from the browser cache. The image below provides a clear illustration of this process.
+
+![Using CDN](../getting-started/gettingstarted-images/Filesize_using_CDN.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/increase-connection-buffer-size.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/increase-connection-buffer-size.md
new file mode 100644
index 000000000..cf7312880
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/increase-connection-buffer-size.md
@@ -0,0 +1,22 @@
+---
+layout: post
+title: Increase the connection buffer size in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to increase the connection buffer size in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Increase the connection buffer size in Blazor SfPdfViewer Component
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows to increase the connection buffer size by adding the below service in program.cs file if the size of the SfPdfViewer is too large.
+
+```cshtml
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20larger%20document%20without%20error).
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-custom-font-pdfium.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-custom-font-pdfium.md
new file mode 100644
index 000000000..350e38113
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-custom-font-pdfium.md
@@ -0,0 +1,56 @@
+---
+layout: post
+title: Load Custom Fonts in a PDF Viewer | Syncfusion
+description: Learn here all about Custom Fonts in Blazor application in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Load Custom Fonts in a PDF Viewer
+
+Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer utilizes Pdfium to extract the text and convert the PDF document as images. Pdfium supports a limited set of fonts by default. To expand this capability, [CustomFonts](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_CustomFonts) can be used to load additional fonts that are not embedded within Pdfium.
+
+To implement CustomFonts, follow these steps: 
+
+1. Upload the font files you want to use into the `wwwroot` folder of your project.
+   
+2. Include the exact paths to these font files in the customFonts list for proper referencing. This ensures that Pdfium can utilize these fonts as needed.
+
+![CustomFonts in Blazor PDFViewer](../../../PDF-Viewer/blazor/images/customfont-files.png)
+
+The following code demonstrates how to load the CustomFonts to PDF Viewer.
+
+```cshtml
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%" CustomFonts="@customFonts">
+</SfPdfViewer2>
+ 
+
+@code {
+
+    public List<string> customFonts = new List<string> { "wwwroot/SIMSUN.TTC", "wwwroot/SIMSUNB.TTF"}
+
+}
+    
+```
+Below code snippet illustrates how to load a CustomFonts using a CDN link.
+
+```cshtml
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%" CustomFonts="@customFonts">
+</SfPdfViewer2>
+ 
+
+@code {
+
+     public List<string> customFonts = new List<string> { "https://cdn.jsdelivr.net/npm/arial-geo-bold@1.0.0/fonts/arial-geo-bold-webfont.ttf" };
+
+}
+    
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20custom%20fonts%20in%20PDF%20document).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md
new file mode 100644
index 000000000..f460a0f3f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-desired-pdf-for-initial-loading-in-hosted-sample.md
@@ -0,0 +1,57 @@
+---
+layout: post
+title: Load PDF for initial loading in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to load desired PDF for initial loading in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Load desired PDF for initial loading in Blazor SfPdfViewer Component
+
+You can load your own PDF document for initial loading as well as change the document at runtime in the Blazor SfPdfViewer component.To load your desired PDF document for initial display, you need to set the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property of the SfPdfViewer component to the path of your PDF file. 
+
+```cshtml
+
+@inject HttpClient Http;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="LoadAnotherDocument">Load Another Document</SfButton>
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+
+@code
+{
+    public String DocumentPath = "Data/PDF_Succinctly.pdf";
+
+    private async Task LoadAnotherDocument()
+    {
+        //Sends a GET request to a specified Uri and return the response body as a byte array.
+        byte[] byteArray = await Http.GetByteArrayAsync("Data/FormFillingDocument.pdf");
+        //Converts the byte array into base64 string.
+        string base64String = Convert.ToBase64String(byteArray);
+        //Sets the base64 string as document path for the PDF Viewer.
+        DocumentPath = "data:application/pdf;base64," + base64String;
+    }
+}
+
+```
+
+In the above code, When the `Load Another Document` button is clicked, the `LoadAnotherDocument` method is triggered. This method uses the HttpClient service to retrieve the desired PDF document as a `byte` array. The byte array is then converted to a `base64` string, and the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property is updated with the new document path.
+
+With this implementation, users can click the `Load Another Document` button to dynamically change the PDF document displayed in the Blazor SfPdfViewer component.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Load%20Desire%20PDF%20in%20Blazor).
+
+## See also
+
+* [How to load Microsoft Office files in Blazor SfPdfViewer Component](./load-office-files)
+
+* [How to load PDF documents dynamically in Blazor SfPdfViewer Component](./load-pdf-document-dynamically)
+
+* [How to unload the PDF document from Viewer](./unload-the-pdf-document-from-viewer)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-font-collection.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-font-collection.md
new file mode 100644
index 000000000..9224b79d6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-font-collection.md
@@ -0,0 +1,43 @@
+---
+layout: post
+title: Load Font Collection in a PDF Viewer | Syncfusion
+description: Learn here all about Font Collection in Blazor application in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Load Font collection in a PDF Viewer
+
+In addition to adding a single custom font, the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor PDF Viewer also supports adding multiple fonts to the [FallbackFontCollection](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_FallbackFontCollection). This is particularly useful when a PDF document utilizes various fonts that may not be embedded or supported by default on the viewing system. By configuring multiple fonts, you ensure that the document renders accurately, preserving its diverse font styles and special characters.
+
+To implement FallbackFontCollection, follow these step: 
+
+1. Upload the font files you want to use into the `wwwroot` folder of your project.
+
+![Font Collection in Blazor PDFViewer](../../../PDF-Viewer/blazor/images/load-font-collection.png)
+
+The following code demonstrates how to load the font collection to PDF Viewer.
+
+```cshtml
+
+<SfPdfViewer2 @ref="Viewer" 
+              DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%">
+    <PdfViewerEvents Created="@Created"></PdfViewerEvents>
+</SfPdfViewer2>
+ 
+
+@code {
+    SfPdfViewer2 Viewer;
+    
+    public void Created()
+    {
+       Stream font = new MemoryStream(System.IO.File.ReadAllBytes("wwwroot/seguiemj.ttf"));
+       Viewer.FallbackFontCollection.Add("seguiemj", font);
+    }
+}
+    
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20font%20collection%20in%20PDF%20document).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-office-files.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-office-files.md
new file mode 100644
index 000000000..011b57332
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-office-files.md
@@ -0,0 +1,152 @@
+---
+layout: post
+title: Load office files in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to load the microsoft office files like powerpoint in the Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Load Microsoft Office files in Blazor SfPdfViewer Component
+
+The SfPdfViewer library allows you to load Microsoft office files such as powerpoint, excel, word and image using the success event of uploader.
+
+In the below code, word document is converted in to pdf document and return that pdf document into base64 string which then loaded in to the SfPdfViewer. Similarly, loaded the powerpoint, excel and image in to the SfPdfViewer.
+
+```cshtml
+
+@page "/"
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Pdf;
+@using Syncfusion.Pdf.Graphics;
+@using Syncfusion.Pdf.Interactive;
+@using Syncfusion.Pdf.Parsing;
+@using Syncfusion.Pdf.Security;
+@using Syncfusion.Blazor.Inputs;
+@using Syncfusion.DocIO;
+@using WFormatType = Syncfusion.DocIO.FormatType;
+@using Syncfusion.Presentation;
+@using Syncfusion.PresentationRenderer;
+@using Syncfusion.XlsIO;
+@using Syncfusion.XlsIORenderer
+@using Syncfusion.DocIORenderer;
+@using System.IO;
+
+<SfUploader AllowedExtensions=".doc, .docx, .rtf, .docm, .dotm, .dotx, .dot, .xls, .xlsx, .pptx, .pptm, .potx, .potm .jpeg, .png, .bmp">
+    <UploaderEvents OnUploadStart="OnSuccess"></UploaderEvents>
+    <UploaderAsyncSettings SaveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Save"
+                           RemoveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Remove"></UploaderAsyncSettings>
+</SfUploader>
+<SfPdfViewer2 @ref="viewerInstance" 
+              Height="100%" 
+              Width="100%" 
+              ToolbarSettings="@ToolbarSettings">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewerInstance;
+
+    public PdfViewerToolbarSettings ToolbarSettings = new PdfViewerToolbarSettings()
+        {
+            ToolbarItems = new List<ToolbarItem>()
+            {
+                ToolbarItem.PageNavigationTool,
+                ToolbarItem.MagnificationTool,
+                ToolbarItem.CommentTool,
+                ToolbarItem.SelectionTool,
+                ToolbarItem.PanTool,
+                ToolbarItem.UndoRedoTool,
+                ToolbarItem.CommentTool,
+                ToolbarItem.AnnotationEditTool,
+                ToolbarItem.SearchOption,
+                ToolbarItem.PrintOption,
+                ToolbarItem.DownloadOption,
+                ToolbarItem.SubmitForm,
+            }
+        };
+
+    private void OnSuccess(UploadingEventArgs action)
+    {
+        string base64 = action.FileData.RawFile.ToString();
+        //string fileName = args.FileData[0].Name;
+        string type = action.FileData.Type.ToLower();
+        string data = base64.Split(',')[1];
+        byte[] bytes = Convert.FromBase64String(data);
+        var outputStream = new MemoryStream();
+        Syncfusion.Pdf.PdfDocument pdfDocument = new Syncfusion.Pdf.PdfDocument();
+        using (Stream stream = new MemoryStream(bytes))
+        {
+            switch (type)
+            {
+                case "docx":
+                case "dot":
+                case "doc":
+                case "dotx":
+                case "docm":
+                case "dotm":
+                case "rtf":
+                    Syncfusion.DocIO.DLS.WordDocument doc = new Syncfusion.DocIO.DLS.WordDocument(stream, GetWFormatType(type));
+                    //Initialization of DocIORenderer for Word to PDF conversion
+                    DocIORenderer render = new DocIORenderer();
+                    //Converts Word document into PDF document
+                    pdfDocument = render.ConvertToPDF(doc);
+                    doc.Close();
+                    break;
+                case "pptx":
+                case "pptm":
+                case "potx":
+                case "potm":
+                    //Loads or open an PowerPoint Presentation
+                    IPresentation pptxDoc = Presentation.Open(stream);
+                    pdfDocument = PresentationToPdfConverter.Convert(pptxDoc);
+                    pptxDoc.Close();
+                    break;
+                case "xlsx":
+                case "xls":
+                    ExcelEngine excelEngine = new ExcelEngine();
+                    //Loads or open an existing workbook through Open method of IWorkbooks
+                    IWorkbook workbook = excelEngine.Excel.Workbooks.Open(stream);
+                    //Initialize XlsIO renderer.
+                    XlsIORenderer renderer = new XlsIORenderer();
+                    //Convert Excel document into PDF document
+                    pdfDocument = renderer.ConvertToPDF(workbook);
+                    workbook.Close();
+                    break;
+                case "jpeg":
+                case "jpg":
+                case "png":
+                case "bmp":
+                    //Add a page to the document.
+                    PdfPage page = pdfDocument.Pages.Add();
+                    //Create PDF graphics for the page.
+                    PdfGraphics graphics = page.Graphics;
+                    PdfBitmap image = new PdfBitmap(stream);
+                    //Draw the image.
+                    graphics.DrawImage(image, 0, 0);
+                    break;
+            }
+            pdfDocument.Save(outputStream);
+            outputStream.Position = 0;
+            loadPDFdocument(outputStream.ToArray());
+            pdfDocument.Close();
+            outputStream.Close();
+        }
+    }
+
+    public async void loadPDFdocument(byte[] bytes)
+    {
+        // Convert a PDF document into a base64 string.
+        string base64String = Convert.ToBase64String(bytes);
+        // Load the base64 string in the SfPdfViewer.
+        await viewerInstance.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Load%20PDF%2C%20Excel%2C%20PPT%20file%20types).
+
+## See also
+
+* [How to load PDF documents dynamically in Blazor SfPdfViewer Component](./load-pdf-document-dynamically)
+
+* [How to unload the PDF document from Viewer](./unload-the-pdf-document-from-viewer)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-pdf-document-dynamically.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-pdf-document-dynamically.md
new file mode 100644
index 000000000..7f71f8ea3
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/load-pdf-document-dynamically.md
@@ -0,0 +1,73 @@
+---
+layout: post
+title: Load PDF File dynamically in Blazor SfPdfViewer component| Syncfusion
+description: Learn here all about how to load PDF documents dynamically in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Load PDF documents dynamically in Blazor SfPdfViewer Component
+
+At times, you might need to switch or load the PDF documents dynamically after the initial load operation. To achieve this, load the PDF document as a base64 string or file path in SfPdfViewer control using the [LoadAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_LoadAsync_System_Byte___System_String_) method dynamically.
+
+The following code example shows how to load a bas64 string dynamically.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="clicked">Load Document</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"
+              @ref="Viewer">
+</SfPdfViewer2>
+
+@code{
+    SfPdfViewer2 Viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void clicked()
+    {
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/Data/Python_Succinctly.pdf");
+        string base64String = Convert.ToBase64String(byteArray);
+        await Viewer.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+}
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/LoadAsync).
+
+The following code example shows how to load the PDF dynamically by specifying file path.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton @onclick="clicked">Load Document</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"
+              @ref="Viewer">
+</SfPdfViewer2>
+
+@code{
+    SfPdfViewer2 Viewer;
+    private string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void clicked()
+    {
+        await Viewer.LoadAsync("wwwroot/data/Python_Succinctly.pdf", null);
+    }
+}
+```
+
+N> You can refer to our [Blazor SfPdfViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor SfPdfViewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap4) to understand how to explains core features of SfPdfViewer.
+
+## See also
+
+* [How to load Microsoft Office files in Blazor SfPdfViewer Component](./load-office-files)
+
+* [How to unload the PDF document from Viewer](./unload-the-pdf-document-from-viewer)
+
+* [How to show or hide the Component dynamically](../how-to/show-or-hide-sfpdfviewer-dynamically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/move-scrollbar.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/move-scrollbar.md
new file mode 100644
index 000000000..4d725a40f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/move-scrollbar.md
@@ -0,0 +1,48 @@
+---
+layout: post
+title: Move the scrollbar to the exact location of annotations | Syncfusion
+description: Learn here all about move scrollbar to the exact location of annotations in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Move the scrollbar to the exact location of annotations
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows you to move the scrollbar to the exact location of annotations present in a loaded PDF document using the [GoToBookmarkAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_GoToBookmarkAsync_System_Int32_System_Double_) method.
+
+The following code example shows how to move the scrollbar to annotation location.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<button @onclick="navigate">Navigation</button>
+
+<SfPdfViewer2 @ref="PdfViewer" DocumentPath="@DocumentPath">
+    <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 PdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+    public Dictionary<int, System.Drawing.SizeF> pageSize { get; set; }
+
+    private void DocumentLoad(LoadEventArgs args)
+    {
+        pageSize = args.PageData.PageSizes;
+    }
+
+    private async void navigate()
+    {
+        var annotationCollection = await PdfViewer.GetAnnotationsAsync();
+        var pageNumber = (annotationCollection[0].PageNumber);
+        var Y = annotationCollection[0].Bound.Top;
+        await PdfViewer.GoToBookmarkAsync(pageNumber, (pageSize[pageNumber].Height - Y));
+    }
+
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Move%20scrollbar%20programmatically).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/perform-print-in-same-window.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/perform-print-in-same-window.md
new file mode 100644
index 000000000..9f91ab717
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/perform-print-in-same-window.md
@@ -0,0 +1,35 @@
+---
+layout: post
+title: Perform print in same window using SfPdfViewer | Syncfusion
+description: Learn here all about how to perform print in same window in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Perform print in same window in Blazor SfPdfViewer Component
+
+The `PrintMode` enum of SfPdfViewer2 allows you to decide whether to print in the same window or in a new window. The available enum values are `PrintMode.Default` and `PrintMode.NewWindow`.
+
+* **Default** - If you set `PrintMode.Default`, printing will occur in the same window.
+* **NewWindow** - If you set `PrintMode.NewWindow`, printing will open in a new window.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 PrintMode="PrintMode.Default"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"></SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+In the provided code, `PrintMode.Default` is used to specify printing in the same window.
+
+## See also
+
+* [Print in Blazor SfPdfViewer Component](../print)
+
+* [How to print the SfPdfViewer inside the Dialog](./print-the-sfpdfiewer-inside-the-dialog-component)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/prevent-scrolling.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/prevent-scrolling.md
new file mode 100644
index 000000000..fcf5fa717
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/prevent-scrolling.md
@@ -0,0 +1,26 @@
+---
+layout: post
+title: Prevent the PDF from scrolling | Syncfusion
+description: Learn here all about Create SfPdfViewer in a popup window in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Prevent the PDF from scrolling and remove the vertical scrollbar
+
+To prevent a PDF from scrolling and remove the vertical scroll bar in the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer component, use CSS to set the `overflow` property of the component container to `hidden`.
+
+By setting the overflow property to hidden, the SfPdfViewer component will be displayed without a vertical scrollbar, and the user will not be able to scroll the content of a PDF.
+
+```html
+
+<style>
+    .e-pv-viewer-container {
+        overflow: hidden !important;
+    }
+</style>
+
+```
+
+[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Prevent%20the%20PDF%20from%20scrolling)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-large-page-document.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-large-page-document.md
new file mode 100644
index 000000000..324a3a2f6
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-large-page-document.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title: Print large page document in SfPdfViewer | Syncfusion
+description: Learn how to efficiently print large page documents using the SfPdfViewer with optimized memory usage and custom toolbar actions
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Print large page documents in SfPdfViewer component in Blazor
+
+This guide demonstrates how to implement a custom printing solution for large PDF documents in the Syncfusion<sup style="font-size:70%">&reg;</sup> Blazor SfPdfViewer component.
+
+### Implement Print Handler
+Add a custom print toolbar item to the primary toolbar of the SfPdfViewer, and implement a click handler to handle its functionality. The handler retrieves the byte array of the loaded PDF document and invokes a JavaScript function to print the PDF on the client-side.
+
+```cshtml
+private async Task ClickAction(ClickEventArgs Item)
+{
+    if (Item.Item.Id == "print" && Viewer != null)
+    {
+        //get the byte array of loaded PDF
+        byte[] bytes = await Viewer.GetDocumentAsync();
+
+        //send the byte array to client
+        await JSRuntime.InvokeVoidAsync("printPDF", bytes);
+    }
+}
+
+```
+
+### Add JavaScript Function
+Add a `printPDF` function to your JavaScript file that converts the byte array into a Blob object and generates a Blob URL for the loaded PDF. The Blob URL is then used to open the PDF in a new tab or trigger the print dialog.
+
+```javascript
+// Convert the byte array to a Blob object
+const blob = new Blob([byteArray], { type: 'application/pdf' });
+// Generate a Blob URL for the loaded PDF
+const blobUrl = URL.createObjectURL(blob);
+```
+The Blob URL is opened in a new browser window or tab, and the native window.print() function is called to execute the print operation.
+
+```javascript
+// Open the Blob URL in a new window or tab
+const printWindow = window.open(blobUrl, '_blank');
+// open the print window of browser
+const tryPrint = () => {
+    printWindow.focus();
+    printWindow.print();
+};
+```
+
+>N> Ensure that users have pop-ups enabled for your site in their browser settings, as this solution opens the PDF in a new window or tab for printing.
+![Allow pop-up for large page print window](../../pdfviewer-2/images/allow-popup-largepage-print.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Print/Print%20Large%20page%20document).
+
+## See also
+
+* [Primary Toolbar Customization in SfPdfViewer](../toolbar-customization)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-the-sfpdfiewer-inside-the-dialog-component.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-the-sfpdfiewer-inside-the-dialog-component.md
new file mode 100644
index 000000000..49e7571a7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/print-the-sfpdfiewer-inside-the-dialog-component.md
@@ -0,0 +1,80 @@
+---
+layout: post
+title: Print PDF Viewer inside the Dialog component in Blazor | Syncfusion
+description: Learn here all about how to print the SfPdfViewer inside the Dialog in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Print the SfPdfViewer component inside the Dialog component in Blazor
+
+The SfPdfViewer supports printing the loaded PDF file by default. Here, we perform print action once SfPdfViewer is loaded with document.
+
+The following code illustrates how to perform print action once SfPdfViewer is loaded.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Popups
+@using Syncfusion.Blazor.SfPdfViewer
+
+<div id="target" style="width:800px;height:500px">
+    <SfButton @onclick="OnClick">Open PDF Viewer</SfButton>
+       <SfDialog @ref="@dialog" 
+                 Target="#target" 
+                 MinHeight="100%" 
+                 Width="100%" 
+                 CloseOnEscape="true" 
+                 AllowDragging="true" 
+                 Visible="false"
+                 IsModal="true" 
+                 Header="@Header" 
+                 ShowCloseIcon="false">
+    <SfButton @onclick="OnClickopen">Open PDF Document</SfButton>
+        <SfPdfViewer2 @ref="viewer"
+              Width="100%"
+              Height="100%">
+    <PdfViewerEvents DocumentLoaded="@documentLoad">
+    </PdfViewerEvents>
+</SfPdfViewer2>
+    </SfDialog>
+</div>
+
+@code{
+    SfPdfViewer2 viewer;
+    SfDialog dialog;
+
+    public void OnClick(MouseEventArgs args)
+    {
+        //Method to show the dialog window.
+        this.dialog.Show(true);
+    }
+
+    //Triggers when the dialog is opened.
+    public async void OnClickopen(MouseEventArgs args)
+    {
+        //Reads the contents of the file into a byte array, and then closes the file.
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/data/HTTP Succinctly.pdf");
+        //Converts the byte array in to base64 string.
+        string base64String = Convert.ToBase64String(byteArray);
+        //PDF document will get loaded from the base64 string.
+        await viewer.LoadAsync("data:application/pdf;base64," + base64String, null);
+    }
+
+    private async void documentLoad(LoadEventArgs args)
+    {
+        //Perform print action on the SfPdfViewer. 
+        await viewer.PrintAsync();
+    }
+
+    public string Header { get; set; } = "SfPdfViewer";
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Print/PDF%20Viewer%20in%20a%20Dialog).
+
+## See also
+
+* [Print in Blazor SfPdfViewer Component](../print)
+
+* [How to perform print in same window](./perform-print-in-same-window)
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/processing-large-files-without-increasing-maximum-message-size.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/processing-large-files-without-increasing-maximum-message-size.md
new file mode 100644
index 000000000..6da6d2d9d
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/processing-large-files-without-increasing-maximum-message-size.md
@@ -0,0 +1,31 @@
+---
+layout: post
+title: Loading Large Files Without Increasing Maximum Message Size|Syncfusion
+description: Learn here all about how to Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Processing Large Files Without Increasing Maximum Message Size
+
+The SfPdfViewer component now supports a new feature that allows for the processing of large files without the need to increase the maximum message size of a single incoming hub message (MaximumReceiveMessageSize 32KB). This is achieved through the use of chunk messaging.
+
+To enable chunk messaging, set the [EnableChunkMessages](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableChunkMessages) parameter to true. By default, this parameter is set to false.
+
+Here is an example of how to use this feature:
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref=" PdfViewer" EnableChunkMessages="true" DocumentPath="@DocumentPath" Height="100%" Width="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 PdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF Succinctly.pdf";
+}
+```
+With [EnableChunkMessages](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableChunkMessages) set to true, the SfPdfViewer component will break down large files into smaller chunks and process them individually. This can be particularly useful when dealing with large PDF files, as it allows for more efficient data processing and reduces the likelihood of encountering issues related to message size limits.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Processing%20Large%20Files%20Without%20Increasing%20Maximum%20Message%20Size).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/reduce-slowness-while-running-the-wasm-sample-in-Visual-Studio.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/reduce-slowness-while-running-the-wasm-sample-in-Visual-Studio.md
new file mode 100644
index 000000000..2f36690bf
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/reduce-slowness-while-running-the-wasm-sample-in-Visual-Studio.md
@@ -0,0 +1,20 @@
+---
+layout: post
+title: Reduce slowness while running the WASM sample | Syncfusion
+description: Learn here all about how to reduce slowness while running the WASM sample in Visual Studio and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Reduce slowness while running the WASM sample in Visual Studio
+
+You may experience performance issues when running the WASM sample in Visual Studio. To improve performance and reduce slowness, we recommend disabling the new .NET 9+ Mono Debugger, as it can impact the execution speed in this mode.
+
+![Mono Debugger](../../pdfviewer-2/images/mono_debugger.png)
+
+Disabling the Mono Debugger should help resolve the performance issues and provide a smoother experience while debugging your WebAssembly project.
+
+For detailed instructions on why disabling the Mono Debugger is recommended, and to follow the necessary steps, please refer to the links below:
+  * [Performance Regression debugging Blazor WebAssembly with .NET 9](https://developercommunity.visualstudio.com/t/Performance-Regression-debugging-Blazor/10773897)
+  * [Performance Regression in Blazor WebAssembly with .NET 9](https://github.com/dotnet/aspnetcore/issues/58507)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/refer-SfPdfViewer-script-in-application.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/refer-SfPdfViewer-script-in-application.md
new file mode 100644
index 000000000..52e484a9f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/refer-SfPdfViewer-script-in-application.md
@@ -0,0 +1,19 @@
+---
+layout: post
+title: Refer the SfPdfViewer script file in application | Syncfusion
+description: Learn here all about refer the SfPdfViewer script file in the application in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Refer the SfPdfViewer script file in Blazor application
+
+* You can include the script in your application by adding a CDN link. This provides a quick and efficient way to integrate the required functionality without needing to reference the script locally. For more details, please refer to the [CDN Reference](https://blazor.syncfusion.com/documentation/common/adding-script-references#cdn-reference)
+
+* You can also reference the script directly from the NuGet package included in your application. For more details, please refer to the [Refer script from static web assets](https://blazor.syncfusion.com/documentation/common/adding-script-references#static-web-assets)
+
+* If you wish to add custom scripts to your application, please refer to the [Custom Resource Generator](https://blazor.syncfusion.com/documentation/common/custom-resource-generator) for generating the necessary resources. You need to include the [pdfium.js](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Common/Pdfium%20files/pdfium.js) and [pdfium.wasm](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Common/Pdfium%20files/pdfium.wasm) files in your application when referencing scripts externally.
+
+To refer the script and pdfium files in your application, please refer the below image.
+![Scripts in Blazor SfPdfViewer](../../pdfviewer-2/images/pdfium.png)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md
new file mode 100644
index 000000000..2b7a1f8ae
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-ej2-pdf-viewer-in-blazor.md
@@ -0,0 +1,76 @@
+---
+layout: post
+title: Render JS PDF Viewer inside Blazor SfPdfViewer Component | Syncfusion
+description: Learn here all about how to render the JS SfPdfViewer in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Render JS PDF Viewer inside Blazor SfPdfViewer Component
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows you to render the JS PDF Viewer component inside the blazor component.
+
+The following code example shows how to render the JS PDF Viewer component into the blazor component.
+
+**Step 1:** Add a script file to your application and refer it to the head tag.
+
+```cshtml
+
+<head>
+    <script src="sample.js" type="text/javascript"></script>
+</head>
+
+```
+
+**Step 2:** Add the following code to render the JS component in the blazor to the newly added JS file.
+
+```javascript
+
+window.renderJsPdfViewer = (id) => {
+    // Render the PDF viewer control
+    var viewer = new ej.pdfviewer.PdfViewer({
+        documentPath: "PDF_Succinctly.pdf",
+        serviceUrl: 'https://ej2services.syncfusion.com/production/web-services/api/pdfviewer'
+    });
+    ej.pdfviewer.PdfViewer.Inject(
+        ej.pdfviewer.Toolbar, 
+        ej.pdfviewer.Magnification,
+        ej.pdfviewer.BookmarkView, 
+        ej.pdfviewer.ThumbnailView, 
+        ej.pdfviewer.TextSelection,
+        ej.pdfviewer.TextSearch, 
+        ej.pdfviewer.Print, 
+        ej.pdfviewer.Navigation,
+        ej.pdfviewer.LinkAnnotation, 
+        ej.pdfviewer.Annotation,
+        ej.pdfviewer.FormFields, 
+        ej.pdfviewer.FormDesigner);
+    viewer.appendTo('#' + id);
+};
+
+```
+
+**Step 3:** Add the following code to the blazor component.
+
+```cshtml
+
+@inject IJSRuntime JS
+
+<div id="pdfViewer" style="height:640px; width:100%;"></div>
+
+@code {
+    protected override async Task OnAfterRenderAsync(bool firstRender)
+    {
+        if (firstRender)
+        {
+            await JS.InvokeVoidAsync("renderJsPdfViewer", "pdfViewer");
+        }
+    }
+}
+
+```
+
+>N : you can’t able to use the API calls from C# side. You have to use a JS code snippet to use the PDF Viewer component API since we have rendered the JS component.
+
+[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Render%20JS%20PDF%20Viewer%20component%20in%20Blazor)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-n-pages-scrolling.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-n-pages-scrolling.md
new file mode 100644
index 000000000..e8f32bb0f
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/render-n-pages-scrolling.md
@@ -0,0 +1,26 @@
+---
+layout: post
+title: Render N number pages on scrolling | Syncfusion
+description: Learn here all about OverscanCount in Blazor application in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Render N number pages on scrolling
+
+The [OverscanCount](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_OverscanCount) feature in a PDF Viewer allows users to preload/render specified number of pages before and after the visible view port when opening a PDF document, thereby enhance the scrolling experience.
+ 
+To utilize this capability in Syncfusion<sup style="font-size:70%">&reg;</sup> PDF Viewer, adjust the OverscanCount property. By setting this property to a desired number, users can preload pages adjacent to the active page. This ensures quicker access to specific pages without waiting for the entire document to load.
+
+Below is a code snippet illustrating how to implement the OverscanCount:
+
+```cshtml
+
+<SfPdfViewer2 DocumentPath="https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf"
+              Height="100%"
+              Width="100%" OverscanCount="10">
+</SfPdfViewer2>
+    
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Render%20N%20number%20pages%20on%20scrolling).
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/show-or-hide-sfpdfviewer-dynamically.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/show-or-hide-sfpdfviewer-dynamically.md
new file mode 100644
index 000000000..a84003b82
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/show-or-hide-sfpdfviewer-dynamically.md
@@ -0,0 +1,81 @@
+---
+layout: post
+title: Show or hide the pdfviewer dynamically in Blazor | Syncfusion
+description: Learn here all about how to show or hide the pdfviewer dynamically in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Show or hide the SfPdfViewer Component dynamically in Blazor 
+
+In the below code, the SfPdfViewer is hidden at page load. Then, on clicking a button, the SfPdfViewer container will be loaded. When the user clicks on a PDF file (here it is demonstrated with buttons), the SfPdfViewer already present on the same page will be updated to show the selected document. 
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer;
+@using System.Net;
+
+<style>
+    .e-spinner-pane {
+        display: none !important;
+    }
+</style>
+
+<!--Show or hide the visibility of the SfPdfViewer-->
+<SfButton OnClick="ShowHidePdfViewer">@Label SfPdfViewer</SfButton>
+
+@if (IsShowPDFViewer)
+{
+    <SfButton OnClick="LoadDocument1">Physical Path</SfButton>
+    <SfButton OnClick="LoadDocument2">Remote Path</SfButton>
+
+    <div class="mt-2">
+        <SfPdfViewer2 DocumentPath="@Base64Content" Height="100%" Width="100%"></SfPdfViewer2>
+    </div>
+}
+
+@code
+{
+    SfPdfViewer2 PdfViewerServerRef { get; set; }
+
+    string Base64Content { get; set; }
+
+    bool IsShowPDFViewer { get; set; }
+
+    string Label => IsShowPDFViewer ? "Hide" : "Show";
+
+    //This method handles the visibility of the SfPdfViewer.
+    void ShowHidePdfViewer() => IsShowPDFViewer = !IsShowPDFViewer;
+
+    public void LoadDocument1()
+    {
+        //Returns a byte array containing the contents of the file.
+        byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/Data/PDF_Succinctly.pdf");
+        //Sets the document path from base64 string.
+        Base64Content = $"data:application/pdf;base64,{Convert.ToBase64String(byteArray)}";
+    }
+
+    public async Task LoadDocument2()
+    {
+        using (var webClient = new WebClient())
+        {
+            //Downloads the resource as a byte array from the url specified.
+            var data = await webClient.DownloadDataTaskAsync("https://www.syncfusion.com/downloads/support/directtrac/general/pd/FSuccinctly-2023061093.pdf");
+            //Sets the document path from base64 string.
+            Base64Content = $"data:application/pdf;base64,{Convert.ToBase64String(data)}";
+        }
+    }
+}
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Render%20the%20PDF%20Viewer%20on%20a%20button%20click).
+
+## See also
+
+* [How to load Microsoft Office files in Blazor SfPdfViewer Component](./load-office-files)
+
+* [How to load PDF documents dynamically in Blazor SfPdfViewer Component](./load-pdf-document-dynamically)
+
+* [How to unload the PDF document from Viewer](./unload-the-pdf-document-from-viewer)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/stretch-the-sfpdfviewer-size-to-its-container.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/stretch-the-sfpdfviewer-size-to-its-container.md
new file mode 100644
index 000000000..e5418127b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/stretch-the-sfpdfviewer-size-to-its-container.md
@@ -0,0 +1,62 @@
+---
+layout: post
+title: Update the Viewer size to its container in SfPdfViewer | Syncfusion
+description: Learn here all about how to stretch the SfPdfViewer size to its container in Syncfusion Blazor SfPdfViewer component.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Update the viewer size at run-time in Blazor SfPdfViewer Component
+
+You can stretch the SfPdfViewer size to its container size while resizing the container at runtime. The following code snippet explains how to update the SfPdfViewer size while resizing the Splitter at runtime. In this example, the Syncfusion&reg; Splitter component is used.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Layouts
+
+<!--This splitter layout holds two panes-->
+<SfSplitter Height="100%" Width="100%">
+    <SplitterEvents Resizing="@onresize"></SplitterEvents>
+
+    <!--Configures one or more panes to construct different layouts-->
+    <SplitterPanes>
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+                <div> Left pane </div>
+            </ContentTemplate>
+        </SplitterPane>
+
+        <SplitterPane Size="200px">
+            <ContentTemplate>
+
+                <!--Build the SfPdfViewer inside a splitter pane-->
+                <SfPdfViewer2 @ref="@viewer"
+                              DocumentPath="@DocumentPath">
+                </SfPdfViewer2>
+
+            </ContentTemplate>
+        </SplitterPane>
+
+    </SplitterPanes>
+</SfSplitter>
+
+@code
+{
+    SfPdfViewer2 viewer;
+
+    //Sets the document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    //This method will get invoked when the splitter is resized.
+    private async void onresize()
+    {
+        //This method will update the SfPdfViewer size when the container size is updated at runtime.
+        await viewer.UpdateViewerContainerAsync();
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Resize%20the%20PDF%20Viewer%20to%20its%20parent%20element).
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/suppress-error-message.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/suppress-error-message.md
new file mode 100644
index 000000000..470734451
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/suppress-error-message.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title: Suppress the error dialog in the Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to suppress the error dialog in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Suppress the error dialog in Blazor SfPdfViewer Component
+
+The Syncfusion&reg; Blazor SfPdfViewer component allows you to suppress or disable the error dialog box displayed in the SfPdfViewer using the [**EnableErrorDialog**](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableErrorDialog) property. The default value of the property is `true`.
+
+The following code example shows how to suppress the error dialog.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="PdfViewer"
+              DocumentPath="@DocumentPath"
+              EnableErrorDialog="false"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code{
+    SfPdfViewer2 PdfViewer;
+    private string DocumentPath { get; set; } = "PDF_Succinctly.pdf";
+}
+```
+ 
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Supress%20the%20Error%20Dialog)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/unload-the-pdf-document-from-viewer.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/unload-the-pdf-document-from-viewer.md
new file mode 100644
index 000000000..5ef109bdf
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/unload-the-pdf-document-from-viewer.md
@@ -0,0 +1,47 @@
+---
+layout: post
+title: Unload the PDF document from Viewer in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about Unload the PDF document from Viewer in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Unload the PDF document from Viewer in Blazor SfPdfViewer Component
+
+The SfPdfViewer component will automatically unload and clear the resources occupied by the PDF document when the control is disposed. Also, when loading another PDF file, the resources occupied by previous loaded file in viewer will be automatically unloaded and cleared.
+
+If you want to unload and clear the resources occupied by the PDF file programmatically, invoke the [Unload()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_UnloadAsync) method as shown below.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton @onclick="OnClick">Unload Document</SfButton>
+
+<SfPdfViewer2 @ref="@Viewer"
+              Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath" />
+
+@code {
+    SfPdfViewer2 Viewer;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await Viewer.UnloadAsync();
+    }
+
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Unload%20Pdf%20document%20from%20Viewer)
+
+## See also
+
+* [How to show or hide the Component dynamically](../how-to/show-or-hide-sfpdfviewer-dynamically)
+
+* [How to load PDF documents dynamically](../how-to/load-pdf-document-dynamically)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/update-form-field-using-context-menu.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/update-form-field-using-context-menu.md
new file mode 100644
index 000000000..2540371ab
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/update-form-field-using-context-menu.md
@@ -0,0 +1,117 @@
+---
+layout: post
+title: Update formField using contextMenu in Blazor SfPdfViewer | Syncfusion
+description: Learn here all about how to update form field using context menu in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Update form field using context menu in Blazor SfPdfViewer Component
+
+You can update the form field's at runtime using the [FormFieldClick event](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormFieldClickArgs.html) and [UpdateFormFieldsAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_UpdateFormFieldsAsync_Syncfusion_Blazor_SfPdfViewer_FormField_) method of SfPdfViewer. The following code example explains how to open Context menu when you click on the form field and how to update the menu item content as form field's value. In this example, the Syncfusion&reg; ContextMenu component is used to update form field.
+
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Navigations
+
+<div id="target" class="e-pdfviewer-signatureformfields"
+     @onmousemove="mouseOver"
+     style="position:absolute;left:0;right:0;top:0;bottom:0;z-index:100">
+
+    <SfPdfViewer2 @ref="@Viewer"
+                  DocumentPath="@DocumentPath"
+                  Height="100%"
+                  Width="100%">
+        <PdfViewerEvents DocumentLoaded="@documentLoad"
+                         FormFieldClick="@formFeildClick">
+        </PdfViewerEvents>
+    </SfPdfViewer2>
+
+</div>
+
+<SfContextMenu @ref="contextMenuObj"
+               Target="#target"
+               Items="@menuItems">
+    <MenuFieldSettings Text="Content"></MenuFieldSettings>
+    <MenuEvents TValue="CustomItem"
+                ItemSelected="@selectedHandler"></MenuEvents>
+</SfContextMenu>
+
+@code {
+    SfPdfViewer2 Viewer;
+    SfContextMenu<CustomItem> contextMenuObj;
+
+    private class CustomItem
+    {
+        public string Content { get; set; }
+        public string Id { get; set; }
+    }
+
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/FF1.pdf";
+
+    double x = 0; double y = 0;
+    private string feildId = "";
+    FormField formField;
+    private CustomItem SelectedItem;
+
+    private void mouseOver(MouseEventArgs args)
+    {
+        x = args.ClientX;
+        y = args.ClientY;
+    }
+
+    //This method will get invoked when the menu item is clicked.
+    private async void selectedHandler(MenuEventArgs<CustomItem> args)
+    {
+        SelectedItem = args.Item;
+        Dictionary<string, string> param = new Dictionary<string, string>();
+        param.Add(feildId, SelectedItem.Content);
+        formField.Value = SelectedItem.Content;
+        //This method is used to update the isReadOnly property of the form field.
+        await Viewer.UpdateFormFieldsAsync(formField);
+    }
+
+    //This method will get invoked when you click on the form field like name.
+    private void formFeildClick(FormFieldClickArgs args)
+    {
+        feildId = args.Field.Id;
+        formField = args.Field;
+        //This method will open the context menu on the specified position.
+        contextMenuObj.Open(x, y);
+    }
+
+    //Represents the collection to hold the menu items.
+    private List<CustomItem> menuItems = new List<CustomItem>();
+
+    //This method will get invoked once the SfPdfViewer is loaded.
+    private async void documentLoad(LoadEventArgs args)
+    {
+        //Perform export annotations action in the SfPdfViewer.
+        Dictionary<string, string> feilds = await Viewer.ExportFormFieldsAsObjectAsync();
+        if (feilds.Keys.Count > 0)
+        {
+            foreach (KeyValuePair<string, string> feild in feilds)
+            {
+                if (menuItems.Count < 10)
+                {
+                    //Add custom menu item to the menuitems list.
+                    menuItems.Add(new CustomItem() { Content = feild.Key, Id = feild.Key });
+                }
+            }
+
+        }
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Common/Update%20form%20fileds%20using%20Context%20Menu).
+
+## See also
+
+* [Form filling in Blazor SfPdfViewer Component](../form-filling)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/view-docx-file-in-blazor-application.md b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/view-docx-file-in-blazor-application.md
new file mode 100644
index 000000000..7fc2124e5
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/how-to/view-docx-file-in-blazor-application.md
@@ -0,0 +1,28 @@
+---
+layout: post
+title: View DOCX file in Blazor application using SfPdfViewer | Syncfusion
+description: Learn here all about View DOCX file in Blazor application in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# View DOCX file in Blazor application
+
+You can achieve this requirement of viewing DOCX file in two ways:.
+
+**Option** **1:**
+
+You can use Syncfusion&reg; Word Processor component for Blazor to compose, view, and edit DOC, DOCX, RTF, and SFDT file formats.
+
+To learn more about the [Word Processor component](https://www.syncfusion.com/blazor-components/blazor-word-processor), check out Syncfusion<sup style="font-size:70%">&reg;</sup> online samples and documentation.
+
+**Option** **2:**
+
+You can convert [Word document to PDF](https://help.syncfusion.com/file-formats/docio/word-to-pdf) using the Syncfusion&reg; Word (DocIO) server-side library and view the resultant PDF file using SfPdfViewer component.
+
+N> You can refer to our [Blazor SfPdfViewer](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [Blazor SfPdfViewer example](https://blazor.syncfusion.com/demos/pdf-viewer-2/default-functionalities?theme=bootstrap4) to understand how to explains core features of SfPdfViewer.
+
+## See also
+
+* [How to load Microsoft Office files in Blazor SfPdfViewer Component](./load-office-files)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Desktop.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Desktop.png
new file mode 100644
index 000000000..3f1f51896
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Desktop.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Mobile.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Mobile.png
new file mode 100644
index 000000000..febd1fd77
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Annotation_Toolbar_Customization_Mobile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/FontFamilies_API_SfPdfViewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/FontFamilies_API_SfPdfViewer.png
new file mode 100644
index 000000000..502c85db4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/FontFamilies_API_SfPdfViewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Desktop.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Desktop.png
new file mode 100644
index 000000000..69dc3df32
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Desktop.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Mobile.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Mobile.png
new file mode 100644
index 000000000..50ae9b076
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Form_Designer_Toolbar_Customization_Mobile.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/Rearrange-Default-Options.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Rearrange-Default-Options.png
new file mode 100644
index 000000000..9d8d44e3a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/Rearrange-Default-Options.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/RestrictZoomRequest-API.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/RestrictZoomRequest-API.png
new file mode 100644
index 000000000..f4a9d966f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/RestrictZoomRequest-API.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-free-text-viewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-free-text-viewer.png
new file mode 100644
index 000000000..724d8be8d
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-free-text-viewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-measure-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-measure-annotation.png
new file mode 100644
index 000000000..f5008af03
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-measure-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-shape-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-shape-annotation.png
new file mode 100644
index 000000000..e9e0d68ea
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-shape-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-stamp.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-stamp.png
new file mode 100644
index 000000000..05e7b947a
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-selected-stamp.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-signature-to-viewer.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-signature-to-viewer.png
new file mode 100644
index 000000000..a696a5526
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/add-signature-to-viewer.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/allow-popup-largepage-print.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/allow-popup-largepage-print.png
new file mode 100644
index 000000000..37eaa88cf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/allow-popup-largepage-print.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-in-contextmenu.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-in-contextmenu.png
new file mode 100644
index 000000000..207a4dba8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-in-contextmenu.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-text.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-text.png
new file mode 100644
index 000000000..5f687a388
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-pdfviewer-squiggly-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-comment-reply-comment.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-comment-reply-comment.png
new file mode 100644
index 000000000..e9b0c5f9e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-comment-reply-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-freetext-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-freetext-annotation.png
new file mode 100644
index 000000000..967023fe4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-freetext-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-ink-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-ink-annotation.png
new file mode 100644
index 000000000..2e6c38c22
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-ink-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-measurement-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-measurement-annotation.png
new file mode 100644
index 000000000..fbe8d5f74
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-measurement-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-shape-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-shape-annotation.png
new file mode 100644
index 000000000..fdced32a5
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-shape-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stamp-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stamp-annotation.png
new file mode 100644
index 000000000..70fbabb62
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stamp-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stickynote-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stickynote-annotation.png
new file mode 100644
index 000000000..d9075a2dc
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-stickynote-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-textmarkup-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-textmarkup-annotation.png
new file mode 100644
index 000000000..94c460696
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-add-textmarkup-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-comment-reply-comment.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-comment-reply-comment.png
new file mode 100644
index 000000000..eb957ea3f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-comment-reply-comment.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-freetext-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-freetext-annotation.png
new file mode 100644
index 000000000..5a88da8d2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-freetext-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-ink-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-ink-annotation.png
new file mode 100644
index 000000000..d7ad1dcce
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-ink-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-measurement-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-measurement-annotation.png
new file mode 100644
index 000000000..9b150bd84
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-measurement-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-shape-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-shape-annotation.png
new file mode 100644
index 000000000..9dbb1f70c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-shape-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stamp-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stamp-annotation.png
new file mode 100644
index 000000000..8d03b6525
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stamp-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stickynote-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stickynote-annotation.png
new file mode 100644
index 000000000..902a22e75
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-stickynote-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-textmarkup-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-textmarkup-annotation.png
new file mode 100644
index 000000000..cae111608
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/blazor-sfpdfviewer-programmatically-edit-textmarkup-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-free-text-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-free-text-annotation.png
new file mode 100644
index 000000000..e36b808ce
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-free-text-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-ink-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-ink-annotation.png
new file mode 100644
index 000000000..0095c0293
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-ink-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-measure-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-measure-icon.png
new file mode 100644
index 000000000..088c07378
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-measure-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-shape-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-shape-icon.png
new file mode 100644
index 000000000..6cbc3879e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-shape-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-stickynote-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-stickynote-annotation.png
new file mode 100644
index 000000000..c56285b14
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/click-stickynote-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/complete-ink-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/complete-ink-annotation.png
new file mode 100644
index 000000000..3189e91eb
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/complete-ink-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/customFont_support_freeText.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customFont_support_freeText.png
new file mode 100644
index 000000000..194081d2e
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customFont_support_freeText.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/customized_templated_stamp_appearance.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customized_templated_stamp_appearance.png
new file mode 100644
index 000000000..ead3feee2
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customized_templated_stamp_appearance.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/customizing_datetime_format.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customizing_datetime_format.png
new file mode 100644
index 000000000..278d6e057
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/customizing_datetime_format.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/delete-selected-annotation.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/delete-selected-annotation.png
new file mode 100644
index 000000000..2c9d1b151
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/delete-selected-annotation.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/draw-signature-in-dialog.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/draw-signature-in-dialog.png
new file mode 100644
index 000000000..a02d2e498
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/draw-signature-in-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/dynamic-zoom-value-configuration.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/dynamic-zoom-value-configuration.png
new file mode 100644
index 000000000..dc3053db8
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/dynamic-zoom-value-configuration.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/enabling_multiline_support.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/enabling_multiline_support.png
new file mode 100644
index 000000000..fce0d5eaf
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/enabling_multiline_support.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/integration-with-zoom-operations.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/integration-with-zoom-operations.png
new file mode 100644
index 000000000..585ed3bea
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/integration-with-zoom-operations.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/magnification.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/magnification.png
new file mode 100644
index 000000000..dd55acee9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/magnification.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/minimum-and-maximum-zoom-values.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/minimum-and-maximum-zoom-values.png
new file mode 100644
index 000000000..bffa28974
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/minimum-and-maximum-zoom-values.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/mono_debugger.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/mono_debugger.png
new file mode 100644
index 000000000..29362d4ef
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/mono_debugger.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-annotation-toolbar.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-annotation-toolbar.gif
new file mode 100644
index 000000000..8cd84dc0b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-annotation-toolbar.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-cooment-panel.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-cooment-panel.png
new file mode 100644
index 000000000..460d8ab6c
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-cooment-panel.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-list-of-stamp.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-list-of-stamp.png
new file mode 100644
index 000000000..540d2dfb9
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-list-of-stamp.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-signature-dialog.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-signature-dialog.png
new file mode 100644
index 000000000..f1900c02b
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/open-signature-dialog.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/pdfium.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/pdfium.png
new file mode 100644
index 000000000..5b4e65906
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/pdfium.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-icon-change.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-icon-change.png
new file mode 100644
index 000000000..a008d48ad
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-icon-change.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-default-toolbaritems.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-default-toolbaritems.png
new file mode 100644
index 000000000..d1fc44c31
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-default-toolbaritems.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-save-option.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-save-option.png
new file mode 100644
index 000000000..ff7032130
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/primary-toolbar-customization-with-save-option.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-after-adding.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-after-adding.gif
new file mode 100644
index 000000000..a90d41948
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-after-adding.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-before-adding.gif b/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-before-adding.gif
new file mode 100644
index 000000000..e093d3f13
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/property-change-before-adding.gif differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/rotation_support_for_customized_templated_stamps.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/rotation_support_for_customized_templated_stamps.png
new file mode 100644
index 000000000..fb2838b5f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/rotation_support_for_customized_templated_stamps.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-comment-panel-icon.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-comment-panel-icon.png
new file mode 100644
index 000000000..1cd0eada1
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-comment-panel-icon.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-measure.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-measure.png
new file mode 100644
index 000000000..635ee198f
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-measure.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-shape.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-shape.png
new file mode 100644
index 000000000..ce714eeff
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-required-shape.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-text-for-text-markup.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-text-for-text-markup.png
new file mode 100644
index 000000000..e2385f1ab
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/select-text-for-text-markup.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/sticky-note-added.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/sticky-note-added.png
new file mode 100644
index 000000000..134bf74b4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/sticky-note-added.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/images/text-markup-added-for-selected-text.png b/Document-Processing/PDF/PDF-Viewer2/blazor/images/text-markup-added-for-selected-text.png
new file mode 100644
index 000000000..69d25aab4
Binary files /dev/null and b/Document-Processing/PDF/PDF-Viewer2/blazor/images/text-markup-added-for-selected-text.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/interaction.md b/Document-Processing/PDF/PDF-Viewer2/blazor/interaction.md
new file mode 100644
index 000000000..06d3ffc0c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/interaction.md
@@ -0,0 +1,100 @@
+---
+layout: post
+title: Interaction mode in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about interaction mode in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Interaction mode in Blazor SfPdfViewer Component
+
+The built-in toolbar of SfPdfViewer contains the following two interaction options:
+
+* Selection mode
+* Panning mode
+
+## Selection mode
+
+In this mode, the text selection can be performed in the PDF document loaded in the SfPdfViewer. It allows users to select and copy text from the PDF files. This is helpful for copying and sharing text content.
+
+N> The panning and scrolling of the pages by touch cannot be performed in this mode.
+
+You can enable or disable text selection by setting the [EnableTextSelection](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableTextSelection) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"
+              EnableTextSelection="true">
+</SfPdfViewer2>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Panning mode
+
+In this mode, the panning and scrolling of the pages can be performed in the PDF document loaded in the SfPdfViewer, but the text selection cannot be performed.
+
+You can change the interaction mode of SfPdfViewer using the [InteractionMode](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_InteractionMode) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"
+              InteractionMode="InteractionMode.Pan">
+</SfPdfViewer2>
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+## Disable interaction with Annotations
+
+You can disable the annotation interactions such as dragging, resizing, deleting the annotations by using the `IsLock` property of [AnnotationSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_AnnotationSettings).
+
+The following code illustrates how to disable the annotation interaction.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="@OnClick">Lock Annotation</SfButton>
+<SfPdfViewer2 @ref="viewer"
+              DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        //Gets the annotation collection of the SfPdfViewer.
+        var allAnnots = await viewer.GetAnnotationsAsync();
+
+        foreach (var item in allAnnots)
+        {
+            //Disabling the interaction with annotation.
+            item.AnnotationSettings.IsLock = true;
+            await viewer.EditAnnotationAsync(item);
+        }
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Annotations/FAQs/Lock_annotations)
+
+## See also
+
+* [Navigation in Blazor SfPdfViewer Component](./navigation)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/magnification.md b/Document-Processing/PDF/PDF-Viewer2/blazor/magnification.md
new file mode 100644
index 000000000..3b35c55f1
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/magnification.md
@@ -0,0 +1,363 @@
+---
+layout: post
+title: Magnification in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about magnification in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Magnification in Blazor SfPdfViewer Component
+
+The built-in toolbar of SfPdfViewer contains the following zooming options:
+
+* **Zoom** **In**: Increases the zoom value (document magnification) from the current value by preset levels.
+* **Zoom** **Out**: Decreases the zoom value from the current value by preset levels.
+* **Zoom** **To**: Magnifies the pages to the specified zoom value.
+* **Fit** **Page**: Fits the page entirely in the available document view port size.
+* **Fit** **Width**: Fits the page to the width of the view port size.
+* **Fit** **Height**: Fits the page to the height of the view port size.
+
+![Magnification in Blazor SfPdfViewer](./images/magnification.png)
+
+## Enable or Disable Magnification in Blazor SfPdfViewer Component
+
+You can enable or disable the magnification option in SfPdfViewer default toolbar by setting the [EnableMagnification](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableMagnification) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              EnableMagnification="false" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+
+```
+## Programmatic Zoom Operations
+
+Also, you can programmatically perform zooming operations as follows.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Inputs
+@using Syncfusion.Blazor.SfPdfViewer
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomInClick">Zoom In</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomOutClick">Zoom Out</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfTextBox @ref="@TextBox"></SfTextBox>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnZoomClick">Zoom</SfButton>
+</div>
+
+<div style="display:inline-block;">
+    <SfButton OnClick="OnFitPageClick">Fit To Page</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnFitWidthClick">Fit To Width</SfButton>
+</div>
+
+<div style="display:inline-block"> 
+    <SfButton OnClick="OnFitHeightClick">Fit To Height</SfButton> 
+</div> 
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    SfTextBox TextBox;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void OnZoomInClick(MouseEventArgs args)
+    {
+        await Viewer.ZoomInAsync();
+    }
+
+    public async void OnZoomOutClick(MouseEventArgs args)
+    {
+        await Viewer.ZoomOutAsync();
+    }
+
+    public async void OnFitPageClick(MouseEventArgs args)
+    {
+        await Viewer.FitToPageAsync();
+    }
+
+    public async void OnZoomClick(MouseEventArgs args)
+    {
+        int zoomValue = int.Parse(TextBox.Value.ToString());
+        await Viewer.ZoomToAsync(zoomValue);
+    }
+
+    public async void OnFitWidthClick(MouseEventArgs args)
+    {
+        await Viewer.FitToWidthAsync();
+    }
+
+    public async void OnFitHeightClick(MouseEventArgs args) 
+    { 
+        await Viewer.FitToHeightAsync(); 
+    } 
+}
+
+```
+
+N> SfPdfViewer can support zoom value ranges from 10% to 400%.
+
+## Minimum and Maximum Zoom Values in Blazor SfPdfViewer Component
+
+The SfPdfViewer control provides the options to configure minimum and maximum zoom levels using the [MinZoomValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_MinZoomValue) and [MaxZoomValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_MaxZoomValue) properties. These properties allow developers to define and control the zoom range, enhancing customization and user experience by:
+
+* Defining a specific zoom range for better usability
+* Preventing excessive zooming that may distort content or impact performance
+* Ensuring readability on smaller screens
+* Maintaining consistent zoom behavior across different devices
+
+### Setting minimum and maximum zoom values
+
+The zoom limits can be configured using the [MinZoomValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_MinZoomValue) and [MaxZoomValue](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_MaxZoomValue) properties during component initialization. These properties accept integer values representing the zoom percentage.
+
+N> SfPdfViewer  can support zoom value ranges from 10% to 400%.
+
+### Basic usage of Minimum and Maximum Zoom Values
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              MinZoomValue="50"
+              MaxZoomValue="200"
+              Width="100%"
+              Height="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+Refer to the Image below for details.
+
+![Minimum and Maximum Zoom Values](./images/minimum-and-maximum-zoom-values.png)
+
+
+### Zoom range scenarios
+
+* Limit zoom functionality to a specific range for better readability and usability.
+
+* Prevent excessive zooming to avoid distortion or performance issues.
+
+* Ensure readability on smaller screens by setting a minimum zoom limit.
+
+### Invalid input handling
+
+The SfPdfViewer automatically handles invalid input values:
+
+* **Values below 1**: Automatically fallback to default minimum (10)
+* **MinZoomValue > MaxZoomValue**: MaxZoomValue will be adjusted to match MinZoomValue
+
+### Dynamic zoom value configuration
+
+You can dynamically change the minimum and maximum zoom values during runtime.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="SetDynamicValues">Set Dynamic Values</SfButton>
+<SfButton OnClick="SetValueBeyondLimit">Set Value Beyond Limit</SfButton>
+<SfButton OnClick="SwapMinMaxValue">Swap MinMax Value</SfButton>
+
+<SfPdfViewer2 @ref="viewer" 
+              DocumentPath="@DocumentPath" 
+              Height="100%" 
+              Width="100%" 
+              MaxZoomValue="@maxZoom" 
+              MinZoomValue="@minZoom">
+</SfPdfViewer2>
+
+@code {
+    public SfPdfViewer2? viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public int maxZoom = 200;
+    public int minZoom = 50;
+
+    public void SetDynamicValues()
+    {
+        maxZoom = 260;
+        minZoom = 25;
+    }
+
+    public void SetValueBeyondLimit()
+    {
+        maxZoom = 500; // Beyond default limit
+        minZoom = 2;   // Beyond default limit
+    }
+
+    public void SwapMinMaxValue()
+    {
+        maxZoom = 50;  // Less than minZoom
+        minZoom = 200; // Greater than maxZoom
+    }
+}
+
+```
+
+Refer to the Image below for details.
+
+![Dynamic Zoom Value Configuration](./images/dynamic-zoom-value-configuration.png)
+
+### Integration with zoom operations
+
+The zoom limits work seamlessly with all zoom operations including programmatic zoom methods.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnZoomInClick">Zoom In</SfButton>
+<SfButton OnClick="OnZoomOutClick">Zoom Out</SfButton>
+<SfButton OnClick="OnFitPageClick">Fit Page</SfButton>
+<SfButton OnClick="OnFitWidthClick">Fit Width</SfButton>
+<SfButton OnClick="OnFitHeightClick">Fit Height</SfButton>
+
+<SfPdfViewer2 @ref="viewer" 
+              DocumentPath="@DocumentPath" 
+              Height="100%" 
+              Width="100%" 
+              MaxZoomValue="200" 
+              MinZoomValue="50">
+</SfPdfViewer2>
+
+@code {
+    public SfPdfViewer2? viewer;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnZoomInClick()
+    {
+        await viewer.ZoomInAsync();
+    }
+
+    public async void OnZoomOutClick()
+    {
+        await viewer.ZoomOutAsync();
+    }
+
+    public async void OnFitPageClick()
+    {
+        await viewer.FitToPageAsync();
+    }
+
+    public async void OnFitWidthClick()
+    {
+        await viewer.FitToWidthAsync();
+    }
+
+    public async void OnFitHeightClick() 
+    { 
+        await viewer.FitToHeightAsync();
+    } 
+}
+
+```
+
+Refer to the Image below for details.
+
+![Integration with Zoom Operations](./images/integration-with-zoom-operations.png)
+
+### Integration with tile rendering
+
+The zoom limits work seamlessly with tile rendering for enhanced performance at high zoom levels.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="EnableTileRendering">Enable Tile Rendering</SfButton>
+
+<SfPdfViewer2 @ref="viewer" 
+              DocumentPath="@DocumentPath" 
+              Height="100%" 
+              Width="100%" 
+              MaxZoomValue="500" 
+              MinZoomValue="25">
+    <PdfViewerTileRenderingSettings EnableTileRendering="enableTile" 
+                                   X="@xValue" 
+                                   Y="@yValue">
+    </PdfViewerTileRenderingSettings>
+</SfPdfViewer2>
+
+@code {
+    public SfPdfViewer2? viewer;
+    public bool enableTile = false;
+    public int xValue = 3;
+    public int yValue = 3;
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public void EnableTileRendering()
+    {
+        enableTile = true;
+    }
+}
+```
+
+## Optimizing Zoom Performance with RestrictZoomRequest
+
+The SfPdfViewer provides the [RestrictZoomRequest](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_RestrictZoomRequest) property to optimize performance during zoom operations. This property controls how page images are regenerated on the client-side during zoom changes.
+
+### RestrictZoomRequest Property
+
+**Property Value**: A boolean value that controls how images are regenerated during zoom operations. The default value is false.
+
+* When set to `true`: A single image is generated at 100% zoom and reused across all zoom levels. This eliminates the need for image regeneration during zoom interactions, thereby reducing client-side processing and enhancing overall performance, particularly on devices with limited resources. However, this may result in a slight reduction in image clarity at zoom levels other than 100%.
+* When set to `false` (default): Page images are regenerated for each zoom level, providing a smoother and more visually accurate zooming experience at the cost of increased client-side processing.
+
+### Basic Usage of RestrictZoomRequest in Blazor SfPdfViewer Component
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="600px"
+              Width="100%"
+              RestrictZoomRequest="true">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+}
+
+```
+
+Refer to the Image below for details.
+
+![Restrict Zoom Request API method in Blazor PDF Viewer](./images/RestrictZoomRequest-API.png)
+
+## See also
+
+* [Navigation in Blazor SfPdfViewer Component](./navigation)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/migration.md b/Document-Processing/PDF/PDF-Viewer2/blazor/migration.md
new file mode 100644
index 000000000..410c7e640
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/migration.md
@@ -0,0 +1,230 @@
+---
+layout: post
+title: Migration from PDF Viewer (Classic) to PDF Viewer | Syncfusion
+description: This section explains the features available in the PDF Viewer control compared to PDF Viewer (Classic).
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Migration from PDF Viewer (Classic) to PDF Viewer
+
+## Why PDF Viewer (Classic) to PDF Viewer control
+
+The migration to the PDF Viewer control brings a host of benefits, including improved performance in scrolling, pagination, and printing. These enhancements result in a smoother and more efficient user experience. Additionally, this migration eliminates the need for a Web assembly service dependency, streamlining the system and enhancing maintainability.
+
+* **Enhanced Performance**:
+With the PDF Viewer control, users can expect significant improvements in performance. Scrolling through documents, navigating pages, and printing operations are now optimized for efficiency. Users will experience seamless and fluid interactions, ensuring a more productive and satisfying workflow.
+
+* **Elimination of Web Assembly Service Dependency**:
+The migration to the PDF Viewer control removes the requirement for a Web assembly service dependency.
+
+* **Unified Package for Multiple Platforms**:
+The PDF Viewer control is now available as a unified package for Windows, Mac, and Linux platforms. This means that regardless of their operating system, users can effortlessly install and utilize the package.
+
+### Nuget Package
+
+To initialize the PDF Viewer component, need to add the following project references to your **.csproj** file
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".csproj" hl_lines="4 7" %}
+
+<ItemGroup>
+
+	<!-- If you are using a Web Assembly application, include the following line in the .csproj file -->
+	<PackageReference Include="Syncfusion.Blazor.PdfViewer"/>
+
+    <!-- If you are using a Server Assembly application, include the following line in the .csproj file -->
+	<!--<PackageReference Include="Syncfusion.Blazor.PdfViewerServer"/>-->
+		
+</ItemGroup>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".csproj" hl_lines="2" %}
+
+<ItemGroup>
+    <PackageReference Include="Syncfusion.Blazor.SfPdfViewer"/>
+</ItemGroup>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Script File
+
+To utilize the PDF Viewer component in your project, need to add the corresponding script file to the **Host.cshtml** or **Layout.cshtml** file based on your framework version.
+
+N> The script file is same for `Server application` and `Web assembly application` for PDF Viewer component
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight html tabtitle="(~/Layout.cshtml/Host.cshtml)" hl_lines="5" %}
+
+<head>
+    <!-- Syncfusion Blazor PDF Viewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor PDF Viewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.PdfViewer/scripts/syncfusion-blazor-pdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight html tabtitle="(~/Layout.cshtml/Host.cshtml)" hl_lines="5" %}
+
+<head>
+    <!-- Syncfusion Blazor SfPdfViewer controls theme style sheet -->
+    <link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
+    <!-- Syncfusion Blazor SfPdfViewer controls scripts -->
+    <script src="_content/Syncfusion.Blazor.SfPdfViewer/scripts/syncfusion-blazor-sfpdfviewer.min.js" type="text/javascript"></script>
+</head>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Program.cs
+
+Add the following line to the **Program.cs** file to use the PDF Viewer component
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="1" %}
+
+builder.Services.AddSyncfusionBlazor();
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="1 4" %}
+
+builder.Services.AddSyncfusionBlazor();
+
+// If you are using a WebAssembly application, include the following line in the Program.cs file
+// builder.Services.AddMemoryCache();
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Index.razor
+
+To render the PDF Viewer component, add the following code in the **Index.razor** file.
+
+<table>
+<tr>
+<th>PDF Viewer (Classic)</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="Index.razor" hl_lines="2 5" %}
+
+@* If you are using a Web Assembly application, include the following line in the Index.razor file*@
+<SfPdfViewer DocumentPath="PDF_Succinctly.pdf" ServiceUrl="api/pdfviewer" Height="100%" Width="100%"></SfPdfViewer>
+
+@* If you are using a Server Assembly application, include the following line in the Index.razor file
+<SfPdfViewerServer DocumentPath="PDF_Succinctly.pdf" Height="100%" Width="100%"></SfPdfViewerServer>*@
+
+{% endhighlight %}
+{% endtabs %}
+
+</td>
+</tr>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="Index.razor" %}
+
+<SfPdfViewer2 DocumentPath="PDF_Succinctly.pdf" Height="100%" Width="100%"></SfPdfViewer2>
+
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+### Project.cs
+
+When using the PDF Viewer in a WebAssembly application, need to include the following lines in your **.csproj** file to ensure proper functionality and compatibility 
+
+<table>
+<tr>
+<th>PDF Viewer</th>
+</tr>
+<tr>
+<td>
+{% tabs %}
+{% highlight C# tabtitle="csproj" hl_lines="2 6 7" %}
+<ItemGroup>
+    <NativeFileReference Include="$(SkiaSharpStaticLibraryPath)\2.0.23\*.a" />
+</ItemGroup>
+
+<PropertyGroup>
+	<WasmNativeStrip>true</WasmNativeStrip>
+	<WasmBuildNative>true</WasmBuildNative>
+</PropertyGroup>
+{% endhighlight %}
+{% endtabs %}
+</td>
+</tr>
+</table>
+
+N> If you are WebAssembly application install [SkiaSharp.NativeAssets.WebAssembly](https://www.nuget.org/packages/SkiaSharp.NativeAssets.WebAssembly) NuGet package.
+
+N> If you encounter issues while attempting to host the application in certain environments, such as Azure app services, install [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) instead of [SkiaSharp.NativeAssets.WebAssembly](https://www.nuget.org/packages/SkiaSharp.NativeAssets.WebAssembly) Nuget package.
+
+## See also
+
+* [Getting Started with Blazor SfPdfViewer Component in Blazor Server App](./getting-started/server-side-application)
+
+* [Getting Started with Blazor SfPdfViewer Component in Blazor WASM App](./getting-started/web-assembly-application)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/navigation.md b/Document-Processing/PDF/PDF-Viewer2/blazor/navigation.md
new file mode 100644
index 000000000..87bc55489
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/navigation.md
@@ -0,0 +1,230 @@
+---
+layout: post
+title: Navigation in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about navigation in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Navigation in Blazor SfPdfViewer Component
+
+You can navigate between pages in Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer in the following ways:
+
+* Scroll through the pages.
+* Click Go to pages in the built-in toolbar.
+* Click the desired bookmark in bookmark pane.
+* Click the desired page in thumbnail pane.
+* Click hyperlink and table of contents.
+
+## Page navigation
+
+The built-in toolbar of SfPdfViewer contains the following page navigation tools:
+
+* **First** **Page**: Navigates you to the first page in the document.
+* **Last** **Page**: Navigates you to the last page in the document.
+* **Next** **Page**: Scrolls forwards through pages, one page at a time.
+* **Go** **To**: Allows you to quickly jump to the desired page number.
+* **Previous** **Page**: Scrolls backwards through pages, one page at a time.
+
+![Blazor SfPdfViewer with Page Navigation](../../PDF-Viewer/blazor/images/blazor-pdfviewer-page-navigation.png)
+
+You can enable or disable the page navigation option in SfPdfViewer default toolbar by setting the [EnableNavigation](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableNavigation) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Width="100%"
+              Height="100%"
+              DocumentPath="@DocumentPath"
+              EnableNavigation="false" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+Also, you can programmatically perform page navigation as follows.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.Inputs
+@using Syncfusion.Blazor.SfPdfViewer
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnFirstPageClick">Go To First Page</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnLastPageClick">Go To Last Page</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnNextPageClick">Go To Next Page</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfTextBox @ref="@TextBox"></SfTextBox>
+</div>
+
+<div style="display:inline-block;">
+    <SfButton OnClick="OnPageClick">Go To Page</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnPreviousPageClick">Go To Previous Page</SfButton>
+</div>
+
+<SfPdfViewer2 Width="100%" Height="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code{
+    SfPdfViewer2 Viewer;
+    SfTextBox TextBox;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void OnFirstPageClick(MouseEventArgs args)
+    {
+        await Viewer.GoToFirstPageAsync();
+    }
+
+    public async void OnLastPageClick(MouseEventArgs args)
+    {
+        await Viewer.GoToLastPageAsync();
+    }
+
+    public async void OnNextPageClick(MouseEventArgs args)
+    {
+        await Viewer.GoToNextPageAsync();
+    }
+
+    public async void OnPageClick(MouseEventArgs args)
+    {
+        int pageIndex =  int.Parse(TextBox.Value.ToString());
+        await Viewer.GoToPageAsync(pageIndex);
+    }
+
+    public async void OnPreviousPageClick(MouseEventArgs args)
+    {
+        await Viewer.GoToPreviousPageAsync();
+    }
+}
+
+```
+
+## Bookmark navigation
+
+The bookmarks saved in PDF files are loaded and listed in the bookmark pane (in the left navigation pane). The users can jump to areas of interest by clicking the desired bookmark easily.
+
+![Blazor SfPdfViewer with Bookmark Navigation](../../PDF-Viewer/blazor/images/blazor-pdfviewer-bookmark-navigation.png)
+
+You can enable or disable the bookmark navigation pane by setting the [EnableBookmark](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableBookmarkPanel) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableBookmarkPanel="true" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+## Page thumbnail navigation
+
+Page thumbnails is the miniature representation of actual pages in the PDF files. This feature displays thumbnails of the pages and represents a link to the respective pages. Clicking a page thumbnail will display the respective page in the document view.
+
+![Blazor SfPdfViewer with Page Thumbnail Navigation](../../PDF-Viewer/blazor/images/blazor-pdfviewer-page-thumbnail-navigation.png)
+
+You can enable or disable the thumbnail navigation pane by setting the [EnableThumbnail](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableThumbnailPanel) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableThumbnailPanel="true"/>
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+### Open thumbnail panel programmatically
+
+You can view the thumbnail navigation initially while loading the PDF document in the PDFViewer using the [IsThumbnailPanelOpen](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_IsThumbnailPanelOpen) property.
+
+The following code illustrates how to open thumbnail panel programmatically.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<!--IsThumbnailPanelOpen property will enable the thumbnail panel on initial rendering itself-->
+<SfPdfViewer2 @ref="@SfPdfViewer"
+              DocumentPath="@DocumentPath"
+              IsThumbnailPanelOpen="true"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+
+    public SfPdfViewer2 SfPdfViewer { get; set; }
+    //Sets the PDF document path for initial loading.
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Thumbnail/Show%20thumbnail%20panel).
+
+## Hyperlink navigation
+
+Hyperlink navigation features enables navigation to the URLs (website links) in a PDF file.
+
+![Blazor SfPdfViewer Hyperlink Navigation](../../PDF-Viewer/blazor/images/blazor-pdfviewer-hyperlink-navigation.png)
+
+## Table of content navigation
+
+Table of contents navigation allows users to navigate to different parts of a PDF file that are listed in the table of contents section.
+
+![Table of Content in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-title-of-content.png)
+
+You can enable or disable both hyperlink and table of content navigation by setting the `EnableHyperlink` property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableHyperlink="true" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+You can set the target attribute for a hyperlink in SfPdfViewer using the [HyperlinkOpenState](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_HyperlinkOpenState) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%" DocumentPath="@DocumentPath"
+              EnableHyperlink="true"
+              HyperlinkOpenState="LinkTarget.NewTab" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## See also
+
+* [Magnification in Blazor SfPdfViewer Component](./magnification)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-amazon-s3.md b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-amazon-s3.md
new file mode 100644
index 000000000..9f2704ce2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-amazon-s3.md
@@ -0,0 +1,83 @@
+---
+layout: post
+title:  Open PDF files from AWS S3 in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Open PDF files from AWS S3 in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF file from AWS S3
+
+To load a PDF file from AWS S3 in a SfPdfViewer, you can follow the steps below
+
+**Step 1:** Create AWS S3 account 
+
+ Set up an AWS S3 account by following the instructions on the official AWS site: [AWS Management Console](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html). Create an S3 bucket and generate access keys while ensuring secure storage of 
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Amazon;
+@using Amazon.S3;
+@using Amazon.S3.Model;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to 
+
+```csharp
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; }
+
+    private readonly string accessKey = "Your Access Key from AWS S3";
+    private readonly string secretKey = "Your Secret Key from AWS S3";
+    private readonly string bucketName = "Your Bucket name from AWS S3";
+    private readonly string fileName = "File Name to be loaded into Syncfusion PDF Viewer";
+
+    protected override async Task OnInitializedAsync()
+    {
+        MemoryStream stream = new MemoryStream();
+        RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
+
+        // Configure the AWS SDK with your access credentials and other settings
+        var s3Client = new AmazonS3Client(accessKey, secretKey, bucketRegion);
+
+        // Specify the document name or retrieve it from a different source
+        var response = await s3Client.GetObjectAsync(bucketName, fileName);
+
+        Stream responseStream = response.ResponseStream;
+        responseStream.CopyTo(stream);
+        stream.Seek(0, SeekOrigin.Begin);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(stream.ToArray());
+    }
+}
+```
+
+Replace the file name with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the [documentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property of the SfPdfViewer component
+
+N> Replace **Your Access Key from AWS S3**, **Your Secret Key from AWS S3**, and **Your Bucket name from AWS S3** with your actual AWS access key, secret key and bucket name
+
+N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20AWS%20S3)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-azure-blob-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-azure-blob-storage.md
new file mode 100644
index 000000000..04f4193a2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-azure-blob-storage.md
@@ -0,0 +1,72 @@
+---
+layout: post
+title: Open PDF files from Azure in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Open PDF files from Azure Blob Storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF file from Azure Blob Storage 
+
+To load a PDF file from Azure Blob Storage  in a SfPdfViewer, you can follow the steps below
+
+**Step 1:** Create the Azure Blob Storage account
+
+Log in to the Azure Portal. Create a new Storage Account with preferred settings. Note access keys during the setup. Within the Storage Account, create a Blob Container following the steps in this [link](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-create?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&tabs=azure-portal).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using System.IO;
+@using Azure.Storage.Blobs;
+@using Azure.Storage.Blobs.Specialized;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to load a PDF from `Azure blob storage` container.
+
+```csharp
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; }
+
+    private readonly string connectionString = "Your Connection string from Azure";
+    private readonly string containerName = "Your container name in Azure";
+    private readonly string fileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+	
+    protected override void OnInitialized()
+    {
+        //Connection String of Storage Account
+        BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
+        BlobContainerClient blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
+        BlockBlobClient blockBlobClient = blobContainerClient.GetBlockBlobClient(fileName);
+        MemoryStream memoryStream = new MemoryStream();
+        blockBlobClient.DownloadTo(memoryStream);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(memoryStream.ToArray());
+    }
+}
+```
+
+N> Replace **Your Connection string from Azure** with the actual connection string for your Azure Blob Storage account, **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the file name to load from the Azure container to the SfPdfViewer, and **Your container name in Azure** with the actual container name.
+
+N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20Azure%20blob%20storage).
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-box-cloud-file-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-box-cloud-file-storage.md
new file mode 100644
index 000000000..3ffbadd46
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-box-cloud-file-storage.md
@@ -0,0 +1,103 @@
+---
+layout: post
+title: Open PDF files from Box storage SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Open PDF files from Box cloud file storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF file from Box cloud file storage
+
+To load a PDF file from Box cloud file storage in a SfPdfViewer, you can follow the steps below
+
+**Step 1** Set up a Box developer account and create a Box application
+
+To access Box storage programmatically, you'll need a developer account with Box. Go to the [Box Developer Console](https://developer.box.com/), sign in or create a new account, and then create a new Box application. This application will provide you with the necessary credentials Client ID and Client Secret to authenticate and access Box APIs. Before accessing files, you need to authenticate your application to access your Box account. Box API supports `OAuth 2.0 authentication` for this purpose.
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Box.V2;
+@using Box.V2.Auth;
+@using Box.V2.Config;
+@using Box.V2.Models;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to load a PDF from `Box cloud storage` 
+
+```csharp
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; }
+    private readonly string accessToken = "Your Box Storage Access Token";
+    private readonly string folderID = "Your Folder ID";
+    private readonly string clientID = "Your Box Storage ClientID";
+    private readonly string clientSecret = "Your Box Storage ClientSecret";
+    private readonly string fileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+
+    protected override async Task OnInitializedAsync()
+    {
+        // Initialize the Box API client with your authentication credentials
+        var auth = new OAuthSession(accessToken, "YOUR_REFRESH_TOKEN", 3600, "bearer");
+        var config = new BoxConfigBuilder(clientID, clientSecret, new Uri("http://boxsdk")).Build();
+        var client = new BoxClient(config, auth);
+
+        // Download the file from Box storage
+        var items = await client.FoldersManager.GetFolderItemsAsync(folderID, 1000, autoPaginate: true);
+        var files = items.Entries.Where(i => i.Type == "file");
+
+        // Filter the files based on the objectName
+        var matchingFile = files.FirstOrDefault(file => file.Name == fileName);
+
+        if (matchingFile != null)
+        {
+            // Fetch the file from Box storage by its ID
+            using (var fileStream = await client.FilesManager.DownloadAsync(matchingFile.Id).ConfigureAwait(false))
+            {
+                using (MemoryStream stream = new MemoryStream())
+                {
+                    await fileStream.CopyToAsync(stream).ConfigureAwait(false);
+
+                    // Reset the position to the beginning of the stream
+                    stream.Position = 0;
+                    DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(stream.ToArray());
+                }
+            }
+        }
+        else
+        {
+            // Handle case where the file is not found
+            Console.WriteLine("File not found in the specified folder.");
+        }
+    }
+}
+```
+
+N> replace **Your_Box_Storage_Access_Token** with your actual box access token, and **Your_Folder_ID** with the ID of the folder in your box storage where you want to perform specific operations. Remember to use your valid box API credentials, as **Your_Box_Storage_ClientID** and **Your_Box_Storage_ClientSecret"** are placeholders for your application's API key and secret.
+
+N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
+
+N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the [documentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property of the SfPdfViewer component
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20box%20cloud%20storage)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-cloud-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-cloud-storage.md
new file mode 100644
index 000000000..7c817dc97
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-cloud-storage.md
@@ -0,0 +1,76 @@
+---
+layout: post
+title: Open PDF files from GCS in Blazor SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Open PDF files from Google Cloud Storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF file from Google Cloud Storage
+
+To load a PDF file from Google Cloud Storage in a SfPdfViewer, you can follow the steps below
+
+**Step 1** Create a Service Account
+
+Open the Google Cloud Console. Navigate to `IAM & Admin` > `Service accounts`. Click `Create Service Account`.` Enter a name, assign roles (e.g., Storage Object Admin), and create a key in JSON format. Download the key file securely. Utilize the downloaded key file in your applications or services for authentication and access to the Google Cloud Storage bucket. For additional details, refer to the [official documentation](https://cloud.google.com/iam/docs/service-accounts-create).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Google.Cloud.Storage.V1;
+@using Google.Apis.Auth.OAuth2;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to
+
+```csharp
+
+@page "/"
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="@viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; }
+    private SfPdfViewer2 viewer;
+    private readonly string keyFilePath = @"path/to/service-account-key.json";
+    private readonly string bucketName = "YourBucketName";
+    private readonly string fileName = "FileName.pdf";
+    private StorageClient _storageClient;
+
+    protected override async Task OnInitializedAsync()
+    {
+        MemoryStream stream = new MemoryStream();
+        // Load the service account credentials from the key file.
+        var credentials = GoogleCredential.FromFile(keyFilePath);
+        // Create a storage client with Application Default Credentials
+        _storageClient = StorageClient.Create(credentials);
+        _storageClient.DownloadObject(bucketName, fileName, stream);
+        stream.Position = 0;
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(stream.ToArray());
+    }
+}
+```
+
+N> Replace **Your Bucket name from Google Cloud Storage** with the actual name of your Google Cloud Storage bucket and **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the actual file name you want to load from the cloud bucket
+
+N> Replace **path/to/service-account-key.json** with the actual file path to your service account key JSON file. Make sure to provide the correct path and filename.
+
+N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20GCS)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-drive.md b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-drive.md
new file mode 100644
index 000000000..c29d828fa
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/open-pdf-file/from-google-drive.md
@@ -0,0 +1,112 @@
+---
+layout: post
+title: Open PDF files from Google Drive in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Open PDF files from Google Drive in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF file from Google Drive
+
+To load a PDF file from Google Drive in a SfPdfViewer, you can follow the steps below
+
+**Step 1** Set up Google Drive API
+
+You must set up a project in the Google Developers Console and enable the Google Drive API. Obtain the necessary credentials to access the API. For more information, view the official [link](https://developers.google.com/drive/api/guides/enable-sdk).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Google.Apis.Drive.v3;
+@using Google.Apis.Auth.OAuth2;
+@using Google.Apis.Services;
+@using Google.Apis.Util.Store;
+@using System.Threading.Tasks;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to load a PDF from `Google drive` file.
+
+```csharp
+@page "/"
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; }
+
+    private readonly string FolderId = "Your Google Drive Folder ID";
+    private readonly string CredentialPath = "Your Path to the OAuth 2.0 Client IDs json file";
+    private readonly string ApplicationName = "Your Application name";
+    private readonly string FileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+
+    private static readonly string[] Scopes = { DriveService.Scope.DriveFile, DriveService.Scope.DriveReadonly };
+
+    protected override async Task OnInitializedAsync()
+    {
+        UserCredential credential;
+        using (var stream1 = new FileStream(CredentialPath, FileMode.Open, FileAccess.Read))
+        {
+            string credPath = "token.json";
+            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
+                GoogleClientSecrets.Load(stream1).Secrets,
+                Scopes,
+                "user",
+                CancellationToken.None,
+                new FileDataStore(credPath, true));
+        }
+
+        var service = new DriveService(new BaseClientService.Initializer()
+            {
+                HttpClientInitializer = credential,
+                ApplicationName = ApplicationName,
+            });
+
+        var listRequest = service.Files.List();
+        listRequest.Q = $"mimeType='application/pdf' and '{FolderId}' in parents and trashed=false";
+        listRequest.Fields = "files(id, name)";
+        var files = await listRequest.ExecuteAsync();
+
+        string fileIdToDownload = files.Files
+            .FirstOrDefault(file => file.Name == FileName)?.Id;
+
+        if (!string.IsNullOrEmpty(fileIdToDownload))
+        {
+            var request = service.Files.Get(fileIdToDownload);
+            using (var stream = new MemoryStream())
+            {
+                await request.DownloadAsync(stream);
+                stream.Position = 0;
+                DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(stream.ToArray());
+            }
+        }
+        else
+        {
+            Console.WriteLine("File not found in Google Drive.");
+        }
+    }
+}
+
+```
+
+N> Replace **Your Google Drive Folder ID** with your actual Google Drive folder ID, **Your Application name** with your actual application name, **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the actual file name you want to load from the Azure container to the Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer and **Your Path to the OAuth 2.0 Client IDs JSON file** with the actual path to your OAuth 2.0 Client IDs JSON file
+
+N> The **FolderId** part is the unique identifier for the folder. For example, if your folder URL is: `https://drive.google.com/drive/folders/abc123xyz456`, then the folder ID is `abc123xyz456`.
+
+N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20Google%20Drive)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/opening-pdf-file.md b/Document-Processing/PDF/PDF-Viewer2/blazor/opening-pdf-file.md
new file mode 100644
index 000000000..b10b24bd2
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/opening-pdf-file.md
@@ -0,0 +1,232 @@
+---
+title: "Opening PDF file in Blazor SfPdfViewer Component | Syncfusion"
+component: "SfPdfViewer"
+description: "This page helps you to learn about how to load PDF files from various locations in Syncfusion Blazor SfPdfViewer."
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Open PDF files in SfPdfViewer for Blazor from various storage location
+
+You might need to open and view the PDF files from various location. In this section, you can find the information about how to open PDF files from URL, Cloud, database, local file system, and as base64 string.
+
+## Opening a PDF from remote URL
+
+If you have your PDF files in the web, you can open it in the viewer using URL.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    public string DocumentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+}
+
+```
+
+## Opening a PDF from Cloud
+
+You can open the PDF file from Cloud storage.
+
+The following code example shows how to open and load the PDF file stored in Azure Blob Storage.
+
+```cshtml
+
+@using Azure.Storage.Blobs
+@using Azure.Storage.Blobs.Specialized
+@using System.IO;
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%"></SfPdfViewer2>
+
+@code {
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        //Connection String of Storage Account
+        string connectionString = "Here Place Your Connection string";
+        BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
+        //Container Name
+        string containerName = "pdf-file";
+        //File Name to be loaded into Syncfusion SfPdfViewer
+        string fileName = "PDF_Succinctly.pdf";
+        BlobContainerClient blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
+        BlockBlobClient blockBlobClient = blobContainerClient.GetBlockBlobClient(fileName);
+        MemoryStream memoryStream = new MemoryStream();
+        blockBlobClient.DownloadTo(memoryStream);
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(memoryStream.ToArray());
+    }
+}
+
+```
+
+N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
+
+```cshtml
+@using Azure.Storage.Files.Shares
+@using System.IO;
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              Width="100%"
+              Height="100%" />
+
+@code {
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+    protected override void OnInitialized()
+    {
+        //Connection String of Storage Account
+        string connectionString = "Here Place Your Connection string";
+        string shareName = "pdfdocument";
+        //File Name to be loaded into Syncfusion SfPdfViewer
+        string filePath = "Hive_Succinctly.pdf";
+        ShareFileClient shareFileClient = new ShareFileClient(connectionString, shareName, filePath);
+        Stream stream = shareFileClient.OpenRead();
+        byte[] bytes;
+        using (var memoryStream = new MemoryStream())
+        {
+            stream.CopyTo(memoryStream);
+            bytes = memoryStream.ToArray();
+        }
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(bytes);
+    }
+}
+```
+
+N> The **Azure.Storage.Files.Shares** NuGet package must be installed in your application to use the previous code example.
+
+
+## Opening a PDF from database
+
+The following code example shows how to open the PDF file in viewer from SQL Server database.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@DocumentPath" Width="100%" Height="100%" />
+
+@code {
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string documentID = "PDF Succinctly";
+        string connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Database.mdf;";
+        System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString);
+        //Searches for the PDF document from the database
+        string query = "select Data from Table where DocumentName = '" + documentID + "'";
+        System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(query, connection);
+        connection.Open();
+        System.Data.SqlClient.SqlDataReader read = command.ExecuteReader();
+        read.Read();
+        //Reads the PDF document data as byte array from the database
+        byte[] byteArray = (byte[])read["Data"];
+        DocumentPath = "data:application/pdf;base64," + Convert.ToBase64String(byteArray);
+    }
+}
+```
+
+N> The **System.Data.SqlClient** package must be installed in your application to use the previous code example. You need to modify the connectionString variable in the previous code example as per the connection string of your database.
+
+
+## Opening a PDF from file system
+
+There is an UI option in built-in toolbar to open the PDF file from local file system. If you want to achieve the same functionality while designing your own toolbar, you can use the following code example to load and open the PDF file. In this sample, the Syncfusion&reg; Uploader control is used for Blazor.
+
+```cshtml
+
+@using Syncfusion.Blazor.Inputs
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfUploader ID="UploadFiles" AllowedExtensions=".pdf,.PDF">
+    <UploaderEvents OnUploadStart="onsuccess"></UploaderEvents>
+    <UploaderAsyncSettings SaveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Save" 
+    RemoveUrl="https://aspnetmvc.syncfusion.com/services/api/uploadbox/Remove">
+    </UploaderAsyncSettings>
+</SfUploader>
+
+<SfPdfViewer2 @ref="@Viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    SfPdfViewer2 Viewer;
+    public async void onsuccess(UploadingEventArgs action)
+    {
+        string filePath = action.FileData.RawFile.ToString();
+        await Viewer.LoadAsync(filePath, null);
+    }
+}
+
+```
+
+## Opening a PDF from base64 data
+
+The following code snippet explains how the PDF file can be loaded in SfPdfViewer as base64 string.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 ID="viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    static byte[] byteArray = System.IO.File.ReadAllBytes("wwwroot/Data/PDF_Succinctly.pdf");
+    static string base64String = Convert.ToBase64String(byteArray);
+    public string DocumentPath { get; set; } = "data:application/pdf;base64," + base64String;
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20file%20from%20base%2064%20string)
+
+## Opening a PDF from stream
+
+You can load a PDF file from stream in SfPdfViewer by converting the stream into a base64 string. The following code sample explains how the PDF file can be loaded in SfPdfViewer from stream.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using System.IO;
+
+<SfPdfViewer2 ID="viewer"
+              DocumentPath="@DocumentPath"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code{
+
+    public string DocumentPath { get; set; }
+    protected override void OnInitialized()
+    {
+        string filePath = "wwwroot/Data/PDF_Succinctly.pdf";
+        FileStream fileStream = new FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
+        MemoryStream stream = new MemoryStream();
+        fileStream.CopyTo(stream);
+        byte[] byteArray = stream.ToArray();
+        string base64String = Convert.ToBase64String(byteArray);
+        DocumentPath = "data:application/pdf;base64," + base64String;
+    }
+
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Load%20a%20PDF%20file%20from%20memory%20stream)
+
+## See also
+
+* [How to save PDF file](./saving-pdf-file)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/overview.md b/Document-Processing/PDF/PDF-Viewer2/blazor/overview.md
new file mode 100644
index 000000000..d627e4322
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/overview.md
@@ -0,0 +1,44 @@
+---
+title: Overview of Blazor PDF Viewer Component | Syncfusion
+description: Checkout and learn about overview of the Syncfusion Blazor PDF Viewer component and much more details.
+platform: document-processing
+control: PDF Viewer
+documentation: UG
+---
+
+# Overview of Blazor PDF Viewer Component
+
+The [`Blazor PDF Viewer`](https://www.syncfusion.com/blazor-components/blazor-pdf-viewer) is a UI component for displaying PDFs from byte arrays, streams, or file paths. In addition to being able to print PDFs, it supports reviewing PDFs with annotation tools. Thumbnails, bookmarks, hyperlinks, and tables of content provide easy navigation within and outside PDF files. Form-filling support allows filling and printing with AcroForms.
+
+## Key Features 
+
+* Accurate and reliable rendering of PDF pages.
+* Provides easy page navigation with,
+    * [Thumbnail page view](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#page-thumbnail-navigation)
+    * [Bookmark panel](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#bookmark-navigation)
+    * [Hyperlink navigation](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#hyperlink-navigation)
+    * [Table of content navigation](https://blazor.syncfusion.com/documentation/pdfviewer-2/navigation#table-of-content-navigation)
+* Core interactions
+    * [Zooming](https://blazor.syncfusion.com/documentation/pdfviewer-2/magnification) and [panning](https://blazor.syncfusion.com/documentation/pdfviewer-2/interaction#panning-mode)
+    * [Text searching](https://blazor.syncfusion.com/documentation/pdfviewer-2/text-search)
+    * Text selection and copy
+* [Print](https://blazor.syncfusion.com/documentation/pdfviewer-2/print) PDF file.
+* Annotate PDF with different types of annotations such as,
+    * [Highlight](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#highlight-a-text), [underline](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#underline-a-text), and [strikeout](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/text-markup-annotation#strikethrough-a-text) annotation
+    * [Shape annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/shape-annotation): Rectangle, circle, polygon, line, and arrow.
+    * [Stamp annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/stamp-annotation): Built-in and custom stamp
+    * [Measurement annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/measurement-annotation)
+    * [Free text annotation](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/free-text-annotation)
+    * Add a [comment](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/comments) or [note](https://blazor.syncfusion.com/documentation/pdfviewer-2/annotation/sticky-notes-annotation) for all type of annotations
+* [FormFilling](https://blazor.syncfusion.com/documentation/pdfviewer-2/form-filling)
+* [Handwritten Signature](https://blazor.syncfusion.com/documentation/pdfviewer-2/hand-written-signature)
+
+## Supported Web platforms
+
+* [Javascript(ES5)](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started)
+* [Javascript](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started)
+* [Angular](https://ej2.syncfusion.com/angular/documentation/pdfviewer/getting-started)
+* [React](https://ej2.syncfusion.com/react/documentation/pdfviewer/getting-started)
+* [Vue](https://ej2.syncfusion.com/vue/documentation/pdfviewer/getting-started)
+* [ASP.NET Core](https://ej2.syncfusion.com/aspnetcore/documentation/pdfviewer/getting-started)
+* [ASP.NET MVC](https://ej2.syncfusion.com/aspnetmvc/documentation/pdfviewer/getting-started)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/print.md b/Document-Processing/PDF/PDF-Viewer2/blazor/print.md
new file mode 100644
index 000000000..f00a5a64c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/print.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Print in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about print in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Print in Blazor SfPdfViewer Component
+
+The SfPdfViewer supports printing the loaded PDF file by default. You can enable or disable printing by setting the [EnablePrint](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnablePrint) property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath"
+              EnablePrint="true" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+![Printing in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-print.png)
+
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+
+<SfButton OnClick="OnClick">Print</SfButton>
+<SfPdfViewer2 Width="100%"
+              Height="100%"
+              DocumentPath="@DocumentPath"
+              @ref="@Viewer" />
+
+@code{
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await Viewer.PrintAsync();
+    }
+}
+
+```
+
+## See also
+
+* [Download in Blazor SfPdfViewer Component](https://blazor.syncfusion.com/documentation/pdfviewer-2/saving-pdf-file#download-in-blazor-sfpdfviewer-component)
+
+* [How to perform print in same window](./how-to/perform-print-in-same-window)
+
+* [How to print the SfPdfViewer inside the Dialog](./how-to/print-the-sfpdfiewer-inside-the-dialog-component)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-amazon-s3.md b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-amazon-s3.md
new file mode 100644
index 000000000..9dbca24a4
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-amazon-s3.md
@@ -0,0 +1,90 @@
+---
+layout: post
+title: Save PDF files to AWS S3 in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to save PDF files to AWS S3 in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Save PDF file to AWS S3
+
+To save a PDF file to AWS S3, you can follow the steps below
+
+**Step 1:** Create AWS S3 account 
+
+ Set up an AWS S3 account by following the instructions on the official AWS site: [AWS Management Console](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html). Create an S3 bucket and generate access keys while ensuring secure storage of 
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Amazon;
+@using Amazon.S3;
+@using Amazon.S3.Model;
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons
+
+```
+
+**Step 4:** Add the below code example to save the downloaded PDF files to AWS S3 bucket
+
+```csharp
+
+@page "/"
+<SfButton @onclick="OnClick">Save file to AWS S3 bucket</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; }
+
+    private readonly string accessKey = "Your Access Key from AWS S3";
+    private readonly string secretKey = "Your Secret Key from AWS S3";
+    private readonly string bucketName = "Your Bucket name from AWS S3";
+    private readonly string fileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+        string result = Path.GetFileNameWithoutExtension(fileName);
+        string FileName = result + "_downloaded.pdf";
+        RegionEndpoint bucketRegion = RegionEndpoint.USEast1;
+
+        // Configure the AWS SDK with your access credentials and other settings
+        var s3Client = new AmazonS3Client(accessKey, secretKey, bucketRegion);
+        using (MemoryStream stream = new MemoryStream(data))
+        {
+            var request = new PutObjectRequest
+                {
+                    BucketName = bucketName,
+                    Key = result + "_downloaded.pdf",
+                    InputStream = stream,
+                };
+            // Upload the PDF document to AWS S3
+            var response = s3Client.PutObjectAsync(request).Result;
+        }
+    }
+}
+```
+
+Replace the file name with the actual document name that you want to load from AWS S3 bucket. Make sure to pass the document name from the AWS S3 bucket to the `documentPath` property of the SfPdfViewer component
+
+N> Replace **Your Access Key from AWS S3**, **Your Secret Key from AWS S3**, and **Your Bucket name from AWS S3** with your actual AWS access key, secret key and bucket name
+
+N> The **AWSSDK.S3** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20AWS%20S3)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-azure-blob-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-azure-blob-storage.md
new file mode 100644
index 000000000..92db20b15
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-azure-blob-storage.md
@@ -0,0 +1,83 @@
+---
+layout: post
+title: Save PDF files to Azure Storage in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to save PDF files to Azure Blob Storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Save PDF file to Azure Blob Storage 
+
+To save a PDF file to Azure Blob Storage , you can follow the steps below
+
+**Step 1:** Create the Azure Blob Storage account
+
+Log in to the Azure Portal. Create a new Storage Account with preferred settings. Note access keys during the setup. Within the Storage Account, create a Blob Container following the steps in this [link](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-create?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&tabs=azure-portal).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using System.IO;
+@using Azure.Storage.Blobs;
+@using Azure.Storage.Blobs.Specialized;
+@using Syncfusion.Blazor.Buttons;
+@using Syncfusion.Blazor.SfPdfViewer;
+```
+
+**Step 4:** Add the below code example to save the downloaded PDF files to Azure Blob Storage container
+
+```csharp
+
+@page "/"
+<SfButton @onclick="OnClick">Save file to Azure Blob Storage</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; }
+    private SfPdfViewer2 viewer;
+    private readonly string connectionString = "Your Connection string from Azure";
+    private readonly string containerName = "Your container name in Azure";
+    private readonly string fileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+
+        BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
+
+        BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
+
+        string result = Path.GetFileNameWithoutExtension(fileName);
+
+        // Get a reference to the blob
+        BlobClient blobClient = containerClient.GetBlobClient(result + "_downloaded.pdf");
+
+        using (MemoryStream stream = new MemoryStream(data))
+        {
+            blobClient.Upload(stream, true);
+        }
+    }
+}
+
+```
+
+N> Replace **Your Connection string from Azure** with the actual connection string for your Azure Blob Storage account, **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the file name to load from the Azure container to the SfPdfViewer, and **Your container name in Azure** with the actual container name.
+
+N> The **Azure.Storage.Blobs** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20Azure%20blob%20storage).
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-box-cloud-file-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-box-cloud-file-storage.md
new file mode 100644
index 000000000..dfc33d69c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-box-cloud-file-storage.md
@@ -0,0 +1,93 @@
+---
+layout: post
+title: Save PDF files to Box storage in  SfPdfViewer Component | Syncfusion
+description: Learn here all about how to save PDF files to Box cloud file storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Save PDF file to Box cloud file storage
+
+To save a PDF file to Box cloud file storage, you can follow the steps below
+
+
+**Step 1** Set up a Box developer account and create a Box application
+
+To access Box storage programmatically, you'll need a developer account with Box. Go to the [Box Developer Console](https://developer.box.com/), sign in or create a new account, and then create a new Box application. This application will provide you with the necessary credentials Client ID and Client Secret to authenticate and access Box APIs. Before accessing files, you need to authenticate your application to access your Box account. Box API supports `OAuth 2.0 authentication` for this purpose.
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Box.V2;
+@using Box.V2.Auth;
+@using Box.V2.Config;
+@using Box.V2.Models;
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons
+```
+
+**Step 4:** Add the below code example to save pdf to `Box cloud storage` 
+
+```csharp
+
+@page "/"
+<SfButton @onclick="OnClick">Save file to Box storage</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private SfPdfViewer2 viewer;
+    private string DocumentPath { get; set; }
+    private readonly string accessToken = "Your Box Storage Access Token";
+    private readonly string folderID = "Your Folder ID";
+    private readonly string clientID = "Your Box Storage ClientID";
+    private readonly string clientSecret = "Your Box Storage ClientSecret";
+    private readonly string fileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+        string result = Path.GetFileNameWithoutExtension(fileName);
+        string FileName = result + "_downloaded.pdf";
+        // Initialize the Box API client with your authentication credentials
+        var auth = new OAuthSession(accessToken, "YOUR_REFRESH_TOKEN", 3600, "bearer");
+        var config = new BoxConfigBuilder(clientID, clientSecret, new Uri("http://boxsdk")).Build();
+        var client = new BoxClient(config, auth);
+
+        var fileRequest = new BoxFileRequest
+            {
+                Name = FileName,
+                Parent = new BoxFolderRequest { Id = folderID },
+            };
+
+        using (var stream = new MemoryStream(data))
+        {
+            var boxFile = await client.FilesManager.UploadAsync(fileRequest, stream);
+        }
+
+    }
+}
+
+```
+
+N> replace **Your_Box_Storage_Access_Token** with your actual box access token, and **Your_Folder_ID** with the ID of the folder in your box storage where you want to perform specific operations. Remember to use your valid box API credentials, as **Your_Box_Storage_ClientID** and **Your_Box_Storage_ClientSecret"** are placeholders for your application's API key and secret.
+
+N> The **Box.V2.Core** NuGet package must be installed in your application to use the previous code example.
+
+N> Replace `PDF_Succinctly.pdf` with the actual document name that you want to load from Box cloud file storage. Make sure to pass the document name from the box folder to the [documentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property of the SfPdfViewer component
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20box%20cloud%20storage)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-cloud-storage.md b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-cloud-storage.md
new file mode 100644
index 000000000..7e54b3251
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-cloud-storage.md
@@ -0,0 +1,83 @@
+---
+layout: post
+title: Save PDF files to GCS in Blazor SfPdfViewer Component | Syncfusion
+description: Learn here all about how to Save PDF files to Google Cloud Storage in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Save PDF file to Google Cloud Storage
+
+To save a PDF file to Google Cloud Storage in a SfPdfViewer, you can follow the steps below
+
+**Step 1** Create a Service Account
+
+Open the Google Cloud Console. Navigate to `IAM & Admin` > `Service accounts`. Click `Create Service Account`.` Enter a name, assign roles (e.g., Storage Object Admin), and create a key in JSON format. Download the key file securely. Utilize the downloaded key file in your applications or services for authentication and access to the Google Cloud Storage bucket. For additional details, refer to the [official documentation](https://cloud.google.com/iam/docs/service-accounts-create).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Google.Cloud.Storage.V1;
+@using Google.Apis.Auth.OAuth2;
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons
+```
+
+**Step 4:** Add the below code example to
+
+```csharp
+
+@page "/"
+
+<SfButton @onclick="OnClick">Save file to google cloud storage</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="@viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+
+@code {
+    private string DocumentPath { get; set; }
+    private SfPdfViewer2 viewer;
+    private readonly string keyFilePath = @"path/to/service-account-key.json";
+    private readonly string bucketName = "YourBucketName";
+    private readonly string fileName = "FileName.pdf";
+    private StorageClient _storageClient;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+        string result = Path.GetFileNameWithoutExtension(fileName);
+        string FileName = result + "_downloaded.pdf";
+        // Load the service account credentials from the key file.
+        var credentials = GoogleCredential.FromFile(keyFilePath);
+        // Create a storage client with Application Default Credentials
+        _storageClient = StorageClient.Create(credentials);
+        // Upload the document to Google Cloud Storage
+        using (var memoryStream = new MemoryStream(data))
+        {
+            _storageClient.UploadObject(bucketName, result + "_downloaded.pdf", null, memoryStream);
+        }
+    }
+}
+```
+
+N> Replace **Your Bucket name from Google Cloud Storage** with the actual name of your Google Cloud Storage bucket and **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the actual file name you want to load from the cloud bucket
+
+N> Replace **path/to/service-account-key.json** with the actual file path to your service account key JSON file. Make sure to provide the correct path and filename.
+
+N> The **Google.Cloud.Storage.V1** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20GCS)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-drive.md b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-drive.md
new file mode 100644
index 000000000..4bf98f815
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/save-pdf-file/to-google-drive.md
@@ -0,0 +1,112 @@
+---
+layout: post
+title: Save PDF files to Google Drive in SfPdfViewer Component | Syncfusion
+description: Learn here all about how to save PDF files to Google Drive in Syncfusion Blazor SfPdfViewer component and much more details.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Save PDF file to Google Drive
+
+To save a PDF file to Google Drive, you can follow the steps below
+
+**Step 1** Set up Google Drive API
+
+You must set up a project in the Google Developers Console and enable the Google Drive API. Obtain the necessary credentials to access the API. For more information, view the official [link](https://developers.google.com/drive/api/guides/enable-sdk).
+
+**Step 2:** Create a Simple SfPdfViewer Sample in blazor
+
+Start by following the steps provided in this [link](https://blazor.syncfusion.com/documentation/pdfviewer-2/getting-started/server-side-application) to create a simple SfPdfViewer sample in blazor. This will give you a basic setup of the SfPdfViewer component.
+
+**Step 3:** Include the following namespaces in the **Index.razor** file.
+
+1. Import the required namespaces at the top of the file:
+
+```csharp
+@using Google.Apis.Drive.v3;
+@using Google.Apis.Auth.OAuth2;
+@using Google.Apis.Services;
+@using Google.Apis.Util.Store;
+@using System.Threading.Tasks;
+@using Syncfusion.Blazor.SfPdfViewer;
+@using Syncfusion.Blazor.Buttons
+```
+
+**Step 4:**  Add the below code example to save the downloaded PDF files to `Google drive` file.
+
+```csharp
+
+@page "/"
+<SfButton @onclick="OnClick">Save file to google drive</SfButton>
+
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="@viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code {
+    private string DocumentPath { get; set; }
+    private SfPdfViewer2 viewer;
+    private readonly string FolderId = "Your Google Drive Folder ID";
+    private readonly string CredentialPath = "Your Path to the OAuth 2.0 Client IDs json file";
+    private readonly string ApplicationName = "Your Application name";
+    private readonly string FileName = "File Name to be loaded into Syncfusion SfPdfViewer";
+    private static readonly string[] Scopes = { DriveService.Scope.DriveFile, DriveService.Scope.DriveReadonly };
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+        string result = Path.GetFileNameWithoutExtension(FileName);
+        string fileName = result + "_downloaded.pdf";
+        UserCredential credential;
+
+        using (var memStream = new FileStream(CredentialPath, FileMode.Open, FileAccess.Read))
+        {
+            string credPath = "token.json";
+            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
+            GoogleClientSecrets.Load(memStream).Secrets,
+            Scopes,
+            "user",
+             CancellationToken.None,
+            new FileDataStore(credPath, true));
+        }
+
+        // Create the Drive API service.
+        var service = new DriveService(new BaseClientService.Initializer()
+            {
+                HttpClientInitializer = credential,
+                ApplicationName = ApplicationName,
+            });
+
+        var fileMetadata = new Google.Apis.Drive.v3.Data.File()
+            {
+                Name = fileName,
+                Parents = new List<string> { FolderId }
+            };
+
+        FilesResource.CreateMediaUpload request;
+
+        using (var stream = new MemoryStream(data))
+        {
+            request = service.Files.Create(fileMetadata, stream, "application/pdf");
+            request.Fields = "id";
+            object value = await request.UploadAsync();
+        }
+    }
+}
+
+```
+
+N> Replace **Your Google Drive Folder ID** with your actual Google Drive folder ID, **Your Application name** with your actual application name, **File Name to be Loaded into Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer** with the actual file name you want to load from the Azure container to the Syncfusion<sup style="font-size:70%">&reg;</sup> SfPdfViewer and **Your Path to the OAuth 2.0 Client IDs JSON file** with the actual path to your OAuth 2.0 Client IDs JSON file
+
+N> The **FolderId** part is the unique identifier for the folder. For example, if your folder URL is: `https://drive.google.com/drive/folders/abc123xyz456`, then the folder ID is `abc123xyz456`.
+
+N> The **Google.Apis.Drive.v3** NuGet package must be installed in your application to use the previous code example.
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Open%20and%20Save%20from%20Google%20Drive)
+
+## See also
+
+* [Processing Large Files Without Increasing Maximum Message Size in SfPdfViewer Component](../how-to/processing-large-files-without-increasing-maximum-message-size)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/saving-pdf-file.md b/Document-Processing/PDF/PDF-Viewer2/blazor/saving-pdf-file.md
new file mode 100644
index 000000000..497ee0933
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/saving-pdf-file.md
@@ -0,0 +1,187 @@
+---
+layout: post
+title: Saving PDF file in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about saving PDF file in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Saving PDF file in Blazor SfPdfViewer Component
+
+After editing the PDF file with various annotation tools, you will need to save the updated PDF to the server, database, or local file system.
+
+## Save PDF file to Server
+
+You might need to save the PDF file back to the server.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+@using System.IO
+
+<SfButton OnClick="OnClick">Save</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%"></SfPdfViewer2>
+
+@code{  
+    SfPdfViewer2 viewer;
+    public async void OnClick(MouseEventArgs args)
+    {
+        byte[] data = await viewer.GetDocumentAsync();
+        //PDF document file stream
+        Stream stream = new MemoryStream(data);
+        using (var fileStream = new FileStream(@"wwwroot/Data/PDF_Succinctly_Updated.pdf", FileMode.Create, FileAccess.Write))
+        {
+            //Saving the new file in root path of application
+            stream.CopyTo(fileStream);
+            fileStream.Close();
+        }
+        stream.Close();
+    }
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Save PDF file to Database
+
+If you have plenty of PDF files stored in database and you want to save the updated PDF file back to the database, use the following code example.
+
+```cshtml
+@using Syncfusion.Blazor.SfPdfViewer
+@using Syncfusion.Blazor.Buttons
+@using System.Data.SqlClient
+
+<SfButton OnClick="OnClick">Save</SfButton>
+<SfPdfViewer2 DocumentPath="@DocumentPath"
+              @ref="viewer"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code{
+    SfPdfViewer2 viewer;
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        string DocumentName = "PDF_Succinctly";
+        byte[] data = await viewer.GetDocumentAsync();
+        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\database.mdf;";
+        string queryStmt = "Update PDFFiles SET Content = @Content where DocumentName = '" + DocumentName + "'";
+        using (SqlConnection con = new SqlConnection(connectionString))
+        {
+            using (SqlCommand cmd = new SqlCommand(queryStmt, con))
+            {
+                SqlParameter param = cmd.Parameters.Add("@Content", System.Data.SqlDbType.VarBinary);
+                param.Value = data;
+                con.Open();
+                cmd.ExecuteNonQuery();
+                con.Close();
+            }
+        }
+
+    }
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+```
+
+## Download
+
+The SfPdfViewer supports downloading the loaded PDF file from the toolbar by default. You can enable or disable the download option by setting the [EnableDownload](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableDownload) API.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+<SfPdfViewer2 Width="100%"
+              Height="100%"
+              DocumentPath="@DocumentPath"
+              EnableDownload="true" />
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+![Blazor SfPdfViewer with Download Option](../../PDF-Viewer/blazor/images/blazor-pdfviewer-download-option.png)
+
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton OnClick="OnClick">Download</SfButton>
+<SfPdfViewer2 Width="100%"
+              Height="100%"
+              DocumentPath="@DocumentPath"
+              @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+    public async void OnClick(MouseEventArgs args)
+    {
+        await Viewer.DownloadAsync();
+    }
+}
+
+```
+
+### Download Filename
+
+The [DownloadFileName](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DownloadFileName) property of the SfPdfViewer enables you to sets the name of the file to be downloaded.
+
+The following code example shows how to set default filename to the downloaded file.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 DocumentPath="@documentPath"
+              DownloadFileName="@downloadFileName"
+              Height="100%"
+              Width="100%">
+</SfPdfViewer2>
+
+@code
+{
+    //Sets the PDF document path for initial loading.
+    public string documentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    //Sets the name of the file to be downloaded.
+    private string downloadFileName { get; set; } = "TOP-View_CutSheets.pdf";
+
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Load%20and%20Save/Modify%20the%20file%20name).
+
+### Download PDF file as a copy
+
+In the built-in toolbar, you have an option to download the updated PDF to the local file system, you can use it to download the PDF file.
+
+```cshtml
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton @onclick="OnClick">Download</SfButton>
+<SfPdfViewer2 @ref="@viewer"
+              Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath" />
+
+@code{
+SfPdfViewer2 viewer;
+public async void OnClick(MouseEventArgs args)
+{
+    await viewer.DownloadAsync();
+}
+public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+}
+```
+
+## See also
+
+* [How to open PDF files various storage location](./opening-pdf-file)
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/text-search.md b/Document-Processing/PDF/PDF-Viewer2/blazor/text-search.md
new file mode 100644
index 000000000..744eb667e
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/text-search.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title: Text Search in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about text search in Syncfusion Blazor SfPdfViewer component and much more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Text Search in Blazor SfPdfViewer Component
+
+You can find the specified text content in the PDF document using the built-in options provided with the toolbar. On initiating the search operation, the control searches for the specified text and highlights all the occurrences in the pages.
+
+![Text Search in Blazor SfPdfViewer](../../PDF-Viewer/blazor/images/blazor-pdfviewer-text-search.png)
+
+You can enable or disable the text search by setting the [EnableTextSearch](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableTextSearch) API.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" EnableTextSearch="true" />
+
+@code{
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+}
+
+```
+
+Also, you can programmatically perform search operation as given in the following code example.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchClick">Search Text</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchNext">Search Next</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnSearchPrevious">Search Previous</SfButton>
+</div>
+
+<div style="display:inline-block">
+    <SfButton OnClick="OnCancelSearch">Cancel Search</SfButton>
+</div>
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath" @ref="@Viewer" />
+
+@code {
+    SfPdfViewer2 Viewer;
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    public async void OnSearchClick(MouseEventArgs args)
+    {
+        //Here PDF is to be serached from the loaded document
+        await Viewer.SearchTextAsync("pdf", false);
+    }
+
+    public async void OnSearchNext(MouseEventArgs args)
+    {
+        await Viewer.SearchNextAsync();
+    }
+
+    public async void OnSearchPrevious(MouseEventArgs args)
+    {
+        await Viewer.SearchPreviousAsync();
+    }
+
+    public async void OnCancelSearch(MouseEventArgs args)
+    {
+        await Viewer.CancelTextSearchAsync();
+    }
+
+}
+
+```
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Viewer2/blazor/toolbar-customization.md b/Document-Processing/PDF/PDF-Viewer2/blazor/toolbar-customization.md
new file mode 100644
index 000000000..5786fb29c
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/blazor/toolbar-customization.md
@@ -0,0 +1,639 @@
+---
+layout: post
+title: Toolbar Customization in Blazor SfPdfViewer Component | Syncfusion
+description: Checkout and learn here all about toolbar customization in Syncfusion Blazor SfPdfViewer component and more.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Toolbar Customization in Blazor SfPdfViewer Component
+
+The SfPdfViewer comes with a powerful built-in toolbar with the following important options,
+
+* Open PDF file
+* Page navigation
+* Magnification
+* Pan tool
+* Text selection tool
+* Text search
+* Print
+* Download
+* Undo and redo
+* Various annotation tools
+* Bookmark panel
+* Thumbnail panel
+
+![Blazor SfPdfViewer with Custom Toolbar](../../PDF-Viewer/blazor/images/blazor-pdfviewer-custom-toolbar.png)
+
+## Show or hide toolbar
+
+At times, you might need to create your own toolbar. In that case, you need to hide the built-in toolbar. For that customization purpose, the SfPdfViewer control provides an option to show or hide the main (top) toolbar either by using the [EnableToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableToolbar) property or [ShowToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ShowToolbarAsync_System_Boolean_) method.
+
+The following code snippet explains how to show or hide toolbar using the EnableToolbar property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 EnableToolbar="false" Height="100%" Width="100%" >
+</SfPdfViewer2>
+```
+
+The following code snippet explains how to show or hide toolbar using the ShowToolbar method.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton @onclick="OnClick">Hide Toolbar</SfButton>
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              @ref="@pdfViewer"
+              DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+
+    SfPdfViewer2 pdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public async void OnClick(MouseEventArgs args)
+    {
+        await pdfViewer.ShowToolbarAsync(false);
+    }
+}
+
+```
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Custom%20Toolbar/Custom%20Toolbar).
+
+## Show or hide navigation toolbar
+
+Navigation toolbar is the side bar, which contains the options to expand and collapse the bookmark panel and page thumbnail panel. This navigation toolbar visibility can be toggled either by using the [EnableNavigationToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableNavigationToolbar) property or [ShowNavigationToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ShowAnnotationToolbar_System_Boolean_) method.
+
+The following code snippet explains how to show or hide navigation toolbar using the EnableNavigationToolbar property.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 EnableNavigationToolbar="false" Height="100%" Width="100%"></SfPdfViewer2>
+
+```
+
+The following code snippet explains how to show or hide navigation toolbar using the ShowNavigationToolbar method.
+
+```cshtml
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfButton @onclick="OnClick">Hide Navigation Toolbar</SfButton>
+<SfPdfViewer2 EnableNavigationToolbar="true"
+              Height="100%"
+              Width="100%"
+              @ref="@pdfViewer"
+              DocumentPath="@DocumentPath">
+</SfPdfViewer2>
+
+@code {
+
+    SfPdfViewer2 pdfViewer;
+    public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    public void OnClick(MouseEventArgs args)
+    {
+        pdfViewer.ShowNavigationToolbar(false);
+    }
+}
+
+```
+
+## Show or hide the toolbar item
+
+You can show or hide the toolbar items using the “PdfViewerToolbarSettings” class. The following code snippet explains how to show only the desired options in the toolbar. The resultant SfPdfViewer’s toolbar will have these options - Open file, magnification tools, comment tool, and download option.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%"
+              Width="100%"
+              DocumentPath="@DocumentPath">
+    <PdfViewerToolbarSettings ToolbarItems="ToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+
+@code{
+
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    List<ToolbarItem> ToolbarItems = new List<ToolbarItem>()
+    {
+        ToolbarItem.PageNavigationTool,
+        ToolbarItem.MagnificationTool,
+        ToolbarItem.CommentTool,
+        ToolbarItem.SelectionTool,
+        ToolbarItem.PanTool,
+        ToolbarItem.UndoRedoTool,
+        ToolbarItem.CommentTool,
+        ToolbarItem.AnnotationEditTool,
+        ToolbarItem.SearchOption,
+        ToolbarItem.PrintOption,
+        ToolbarItem.DownloadOption
+    };
+}
+```
+
+## Show or hide annotation toolbar
+
+Annotation toolbar appears below the main toolbar, which contains the options to edit the annotations. This annotation toolbar visibility can be toggled either by using the [EnableAnnotationToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_EnableAnnotationToolbar) or [ShowAnnotationToolbar](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_ShowAnnotationToolbar_System_Boolean_) method.
+
+The following code snippet explains how to show or hide annotation toolbar using the ShowAnnotationToolbar method.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 @ref="viewer" Height="100%" Width="100%" DocumentPath="@documentPath">
+    <PdfViewerEvents DocumentLoaded="DocumentLoad"></PdfViewerEvents>
+</SfPdfViewer2>
+
+@code {
+
+    private string documentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
+
+    SfPdfViewer2 viewer;
+
+    //Invokes while loading document in the PDFViewer.
+    public void DocumentLoad(LoadEventArgs args)
+    {
+        //Shows the annotation toolbar on initial loading.
+        viewer.ShowAnnotationToolbar(true);
+        //Code to hide the annoatation toolbar.
+        //viewer.ShowAnnotationToolbar(false);
+    }
+}
+
+```
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Annotation%20Toolbar/Show%20or%20hide%20on%20loading).
+
+## Primary Toolbar Customization
+
+You have the capability to modify the primary toolbar options by rearranging them, disabling default options and adding new items and moreover, you can specify the index at which to add a new item within the existing toolbar options.
+
+## Rearrange the default options of toolbar
+
+You can adjust the order of the [ToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_ToolbarItems) by rearranging how the items are listed. The toolbar will display the items based on the order in which they appear in the list
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="@DocumentPath">
+    <PdfViewerToolbarSettings ToolbarItems="ToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+
+@code {
+
+    public string DocumentPath { get; set; } = "wwwroot/data/PDF_Succinctly.pdf";
+
+    List<ToolbarItem> ToolbarItems = new List<ToolbarItem>()
+    {
+        ToolbarItem.OpenOption,
+        ToolbarItem.PageNavigationTool,
+        ToolbarItem.SelectionTool,
+        ToolbarItem.MagnificationTool,
+        ToolbarItem.PanTool,
+        ToolbarItem.UndoRedoTool,
+        ToolbarItem.CommentTool,
+        ToolbarItem.AnnotationEditTool,
+        ToolbarItem.SearchOption,
+        ToolbarItem.DownloadOption,
+        ToolbarItem.PrintOption,
+    };
+}
+
+```
+
+![Blazor PDFViewer with Custom Toolbar](./images/Rearrange-Default-Options.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Custom%20Toolbar/Primary%20Custom%20Toolbar/Rearrange-Default-Options).
+
+## Disable the default items and Add new items in Primary Toolbar
+
+To customize the Primary Toolbar in the PDF Viewer, you can achieve this by setting the [ToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_ToolbarItems) property to null and creating a list of [PdfToolbarItem](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfToolbarItem.html#Syncfusion_Blazor_SfPdfViewer_PdfToolbarItem__ctor) objects. Each PdfToolbarItem contains a **RenderFragment** and an **Index** for positioning the toolbar items. Finally, assign this list to the [CustomToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_CustomToolbarItems) property. 
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer; 
+@using Syncfusion.Blazor.Navigations; 
+
+<SfPdfViewer2 @ref="@Viewer" DocumentPath="@DocumentPath" Height="100%" Width="100%">  
+    <PdfViewerToolbarSettings CustomToolbarItems="@CustomToolbarItems" ToolbarItems="null" />   
+    <PdfViewerEvents ToolbarClicked="ClickAction"></PdfViewerEvents>              
+</SfPdfViewer2>  
+
+@code{ 
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf"; 
+    SfPdfViewer2 Viewer; 
+    MemoryStream stream; 
+
+    // List provide the position and element for the custom toolbar items
+    public List<PdfToolbarItem> CustomToolbarItems = new List<PdfToolbarItem>() 
+    {    
+        new PdfToolbarItem (){ Index = 0, Template = @GetTemplate("PreviousPage")}, 
+        new PdfToolbarItem (){ Index = 1, Template = @GetTemplate("NextPage")}, 
+        new PdfToolbarItem (){ Index = 2, Template = @GetTemplate("Save")}, 
+        new PdfToolbarItem (){ Index = 3, Template = @GetTemplate("Download")} 
+    };  
+
+    // Get the renderfragment element for the custom toolbaritems in the primary toolbar
+    private static RenderFragment GetTemplate(string name)  
+    {  
+        return __builder => 
+            {  
+                if (name == "PreviousPage")
+                { 
+                    <ToolbarItem PrefixIcon="e-icons e-chevron-up" 
+                          		Text="Previous Page" 
+                                TooltipText="Previous Page" 
+                                Id="previousPage" 
+                                Align="ItemAlign.Left"> 
+                    </ToolbarItem> 
+                }  
+                else if(name == "NextPage")
+                { 
+                    <ToolbarItem PrefixIcon="e-icons e-chevron-down" 
+                                Text="Next Page" 
+                                TooltipText="Next Page" 
+                                Id="nextPage" 
+                                Align="ItemAlign.Left"> 
+                    </ToolbarItem> 
+                }  
+                else if(name == "Save")
+                { 
+                    <ToolbarItem PrefixIcon="e-icons e-save" 
+                                Text="Save" 
+                                TooltipText="Save Document" 
+                                Id="save" 
+                                Align="ItemAlign.Right"> 
+                    </ToolbarItem>
+                }  
+                else if(name == "Download")
+                { 
+                    <ToolbarItem PrefixIcon="e-icons e-download" 
+                                Text="Download"
+                                TooltipText="Download" 
+                                Id="download" 
+                                Align="ItemAlign.Right"> 
+                    </ToolbarItem> 
+                }  
+            };            
+    }  
+
+    // Click for the custom toolbaritems in the primary toolbar
+    public async void ClickAction(ClickEventArgs Item) 
+    {  
+        if (Item.Item.Id == "previousPage") 
+        {
+            //Navigate to previous page of the PDF document.
+            await Viewer.GoToPreviousPageAsync(); 
+        }  
+        else if (Item.Item.Id == "nextPage") 
+        {
+            //Navigate to next page page of the PDF document.
+            await Viewer.GoToNextPageAsync(); 
+        }  
+        else if(Item.Item.Id == "save")  
+        {
+            //Gets the loaded PDF document with the changes.
+            byte[] data = await Viewer.GetDocumentAsync();
+            //Save the PDF document to a MemoryStream. 
+            stream = new MemoryStream(data);
+            //Load a PDF document from the MemoryStream. 
+            await Viewer.LoadAsync(stream); 
+        } 
+        else if (Item.Item.Id == "download") 
+        {
+            //Downloads the PDF document
+            await Viewer.DownloadAsync(); 
+        } 
+    }  
+} 
+
+```
+
+![Blazor PDFViewer with Custom Toolbar](./images/primary-toolbar-customization-with-save-option.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Custom%20Toolbar/Primary%20Custom%20Toolbar/Without-Default-Options).
+
+## How to customize the Primary Toolbar with default options
+
+You can implement the both [ToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_ToolbarItems) and [CustomToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_CustomToolbarItems). The [CustomToolbarItems](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_CustomToolbarItems) list allows you to specify items with their respective index positions, which are then incorporated into the ToolbarItems list accordingly. 
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer; 
+@using Syncfusion.Blazor.Navigations;
+
+<SfPdfViewer2 @ref="@Viewer" DocumentPath="@DocumentPath" Height="100%" Width="100%">  
+         <PdfViewerToolbarSettings CustomToolbarItems="@CustomToolbarItems" ToolbarItems="@ToolbarItems" />   
+         <PdfViewerEvents ToolbarClicked="ClickAction"></PdfViewerEvents>              
+</SfPdfViewer2>  
+
+@code { 
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf"; 
+    SfPdfViewer2 Viewer; 
+    MemoryStream stream; 
+
+    // List provide the position and element for the custom toolbar items
+    public List<PdfToolbarItem> CustomToolbarItems = new List<PdfToolbarItem>() 
+    {  
+        new PdfToolbarItem (){ Index = 1, Template = @GetTemplate("PreviousPage")}, 
+        new PdfToolbarItem (){ Index = 2, Template = @GetTemplate("NextPage")}, 
+        new PdfToolbarItem (){ Index = 4, Template = @GetTemplate("Save")}, 
+        new PdfToolbarItem (){ Index = 7, Template = @GetTemplate("Download")} 
+    }; 
+
+    // GetTemaplate and ClickAction function as same as the previous example
+
+    // Default toolbar items list provided for the toolbaritems
+    public List<Syncfusion.Blazor.SfPdfViewer.ToolbarItem> ToolbarItems = new List<Syncfusion.Blazor.SfPdfViewer.ToolbarItem>() 
+    { 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.OpenOption, 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.SelectionTool, 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.SearchOption,
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.PrintOption 
+    }; 
+} 
+
+```
+![Blazor PDFViewer with Custom Toolbar](./images/primary-toolbar-customization-with-default-toolbaritems.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Custom%20Toolbar/Primary%20Custom%20Toolbar/With-Default-Options).
+
+## How modify the toolbar Icons in the Primary Toolbar
+
+You can customize the appearance of the toolbar icons. The below code illustrates how to create custom toolbar with custom toolbar icon.
+
+```cshtml
+
+@using Syncfusion.Blazor.SfPdfViewer; 
+@using Syncfusion.Blazor.Navigations; 
+
+<SfPdfViewer2 @ref="@Viewer" DocumentPath="@DocumentPath" Height="100%" Width="100%">  
+    <PdfViewerToolbarSettings CustomToolbarItems="@CustomToolbarItems" ToolbarItems="@ToolbarItems" />   
+    <PdfViewerEvents ToolbarClicked="ClickAction"></PdfViewerEvents>              
+</SfPdfViewer2>  
+
+@code { 
+    private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf"; 
+    SfPdfViewer2 Viewer; 
+    MemoryStream stream; 
+
+    // List provide the position and element for the custom toolbar items
+    public List<PdfToolbarItem> CustomToolbarItems = new List<PdfToolbarItem>() 
+    {  
+        new PdfToolbarItem (){ Index = 1, Template = @GetTemplate("PreviousPage")}, 
+        new PdfToolbarItem (){ Index = 2, Template = @GetTemplate("NextPage")}, 
+        new PdfToolbarItem (){ Index = 4, Template = @GetTemplate("Save")}, 
+        new PdfToolbarItem (){ Index = 7, Template = @GetTemplate("Download")} 
+    }; 
+
+    // GetTemaplate and ClickAction function as same as the previous example
+
+    // Default toolbar items list provided for the toolbaritems
+    public List<Syncfusion.Blazor.SfPdfViewer.ToolbarItem> ToolbarItems = new List<Syncfusion.Blazor.SfPdfViewer.ToolbarItem>() 
+    { 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.OpenOption, 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.SelectionTool, 
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.SearchOption,
+        Syncfusion.Blazor.SfPdfViewer.ToolbarItem.PrintOption 
+    };
+} 
+
+<style> 
+    .e-icons.e-chevron-up::before {
+        content: '\e87a';
+    }
+
+    .e-icons.e-chevron-down::before {
+        content: '\e70d';
+    }
+
+    .e-icons.e-download::before {
+        content: '\e7a0';
+    }
+
+    .e-icons.e-save::before {
+        content: '\e7a8'
+    }
+</style> 
+
+```
+![Blazor PDFViewer with Custom Toolbar](./images/primary-toolbar-customization-icon-change.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Toolbar/Custom%20Toolbar/Primary%20Custom%20Toolbar/Icon-Style-Change).
+
+N> This is applicable only for custom toolbar.
+
+## How to customize the Annotation Toolbar
+
+The [`PdfViewerToolbarSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html) in [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) allows customization of the Annotation Toolbar by specifying which annotation tools should be displayed. The [`AnnotationToolbarItems`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_AnnotationToolbarItems) property accepts a list of [`AnnotationToolbarItem`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.AnnotationToolbarItem.html) values, ensuring that only the selected tools are available while hiding others. This helps create a simplified and user-friendly toolbar based on the application's needs.
+
+The following example demonstrates how to customize the Annotation Toolbar by specifying a selected set of tools using [`AnnotationToolbarItem`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.AnnotationToolbarItem.html).
+
+```cshtml
+<!-- Container for the PDF Viewer -->
+<div class="Pdf-viewer-container">
+    <!-- SfPdfViewer2 component with Annotation Toolbar enabled -->
+    <SfPdfViewer2 @ref="PdfViewerInstance" EnableFormDesigner="true" 
+                  DocumentPath="wwwroot/data/Form_Designer.pdf"
+                  Height="650px"
+                  Width="100%">
+                  
+                  <!-- Configuring the Annotation Toolbar items -->
+                  <PdfViewerToolbarSettings AnnotationToolbarItems="AnnotationToolbarItems"></PdfViewerToolbarSettings>
+    </SfPdfViewer2>
+</div>
+
+@code {
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Define a list of annotation toolbar items to be displayed and usable
+    List<AnnotationToolbarItem> AnnotationToolbarItems { get; set; } = new List<AnnotationToolbarItem>() 
+    {
+        AnnotationToolbarItem.UnderlineTool,
+        AnnotationToolbarItem.StampAnnotationTool,
+        AnnotationToolbarItem.FreeTextAnnotationTool,
+        AnnotationToolbarItem.FontSizeAnnotationTool,
+        AnnotationToolbarItem.CloseTool
+    };
+}
+```
+Refer to the image below for the desktop view.
+
+![Blazor PDFViewer with Custom Toolbar](./images/Annotation_Toolbar_Customization_Desktop.png)
+
+Refer to the image below for the mobile view.
+
+![Blazor PDFViewer with Custom Toolbar](./images/Annotation_Toolbar_Customization_Mobile.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/CustomAnnotationToolbar.razor).
+
+## How to customize the Form Designer Toolbar
+
+The [`PdfViewerToolbarSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html) component in [SfPdfViewer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.html) enables customization of the Form Designer Toolbar by defining the available form design tools. The [`FormDesignerToolbarItems`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerToolbarSettings.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerToolbarSettings_FormDesignerToolbarItems) property takes a list of [`FormDesignerToolbarItem`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormDesignerToolbarItem.html) values, allowing you to display only the necessary tools while hiding others. This ensures a more focused and user-friendly form designing experience.
+
+The following example demonstrates how to customize the Form Designer Toolbar by configuring specific tools using [`FormDesignerToolbarItem`](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.FormDesignerToolbarItem.html).
+
+```cshtml
+<SfPdfViewer2 @ref="PdfViewerInstance" EnableFormDesigner="true" 
+                  DocumentPath="wwwroot/data/Form_Designer.pdf"
+                  Height="650px"
+                  Width="100%">
+                  
+                  <!-- Configuring the Form Designer Toolbar items -->
+                  <PdfViewerToolbarSettings FormDesignerToolbarItems="FormDesignerToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+
+@code {
+    // Reference to the SfPdfViewer2 instance
+    SfPdfViewer2 PdfViewerInstance { get; set; }
+
+    // Define a list of form designer toolbar items to be displayed and usable
+    List<FormDesignerToolbarItem> FormDesignerToolbarItems { get; set; } = new List<FormDesignerToolbarItem>() 
+    {
+        FormDesignerToolbarItem.TextBox,   
+        FormDesignerToolbarItem.CheckBox,  
+        FormDesignerToolbarItem.ListBox,   
+        FormDesignerToolbarItem.Delete    
+    };
+}
+```
+
+Refer to the image below for the desktop view.
+
+![Blazor PDFViewer with Custom Toolbar](./images/Form_Designer_Toolbar_Customization_Desktop.png)
+
+Refer to the image below for the mobile view.
+
+![Blazor PDFViewer with Custom Toolbar](./images/Form_Designer_Toolbar_Customization_Mobile.png)
+
+[View sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/blob/master/Form%20Designer/Components/Pages/CustomFormDesignerToolbar.razor).
+
+## How to customize the  Redaction Toolbar
+
+The **Redaction Toolbar** in the PDF Viewer allows users to mark and permanently redact sensitive content from a PDF document. This guide explains how to enable and customize the Redaction Toolbar for both desktop and mobile platforms, and how to control its visibility dynamically.
+
+### Enabling the Redaction Toolbar on Desktop
+
+To enable the Redaction Toolbar on desktop platforms, include the required `ToolbarItems` in the `SfPdfViewer2` component as shown below:
+
+#### Code Example
+
+```cshtml
+@page "/"
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="Annotations.pdf">
+    <PdfViewerToolbarSettings ToolbarItems="ToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+
+@code {
+    private List<ToolbarItem> ToolbarItems = new List<ToolbarItem>();
+    protected override void OnInitialized()
+    {
+        ToolbarItems = new List<ToolbarItem>()
+        {
+            ToolbarItem.OpenOption,
+            ToolbarItem.PageNavigationTool,
+            ToolbarItem.MagnificationTool,
+            ToolbarItem.SelectionTool,
+            ToolbarItem.PanTool,
+            ToolbarItem.UndoRedoTool,
+            ToolbarItem.CommentTool,
+            ToolbarItem.SubmitForm,
+            ToolbarItem.SearchOption,
+            ToolbarItem.AnnotationEditTool,
+            ToolbarItem.Redaction,              // Enables Redaction toolbar
+            ToolbarItem.FormDesigner,
+            ToolbarItem.PrintOption,
+            ToolbarItem.DownloadOption
+        };
+    }
+}
+```
+Refer to the image below for the desktop view.
+![Enable Redaction Toolbar for Desktop](./annotation/redaction-annotations-images/enable-redaction-toolbar-for-desktop.png)
+
+### Enabling the Redaction Toolbar on Mobile
+
+To enable the Redaction Toolbar in mobile view, use the `MobileToolbarItems` property as shown below:
+
+#### Code Example
+
+```cshtml
+@page "/"
+
+<SfPdfViewer2 Height="100%" Width="100%" DocumentPath="Annotations.pdf">
+    <PdfViewerToolbarSettings MobileToolbarItems="MobileToolbarItems"></PdfViewerToolbarSettings>
+</SfPdfViewer2>
+
+@code {
+    private List<MobileToolbarItem> MobileToolbarItems = new List<MobileToolbarItem>();
+    protected override void OnInitialized()
+    {
+        MobileToolbarItems = new List<MobileToolbarItem>()
+        {
+            MobileToolbarItem.Open,
+            MobileToolbarItem.UndoRedo,
+            MobileToolbarItem.EditAnnotation,
+            MobileToolbarItem.Redaction,        // Enables Redaction toolbar
+            MobileToolbarItem.FormDesigner,
+            MobileToolbarItem.Search
+        };
+    }
+}
+```
+
+Refer to the image below for the mobile view.
+
+![Mobile Redaction Toolbar](./annotation/redaction-annotations-images/mobile-redaction-toolbar.png)
+
+## Showing or Hiding the Redaction Toolbar
+
+The Redaction Toolbar in the Blazor PDF Viewer provides tools for applying redactions to PDF documents. Its visibility can be controlled either through the built-in toolbar interface or programmatically using the `ShowRedactionToolbar` API.
+
+### Displaying the Redaction Toolbar Using the Toolbar Icon
+
+When `ToolbarItem.Redaction` or `MobileToolbarItem.Redaction` is enabled, clicking the redaction icon in the main toolbar toggles the visibility of the Redaction Toolbar.
+
+Refer to the Image below for details.
+![Show Redaction Toolbar](./annotation/redaction-annotations-images/redaction-icon-toolbar.png)
+
+### Displaying the Redaction Toolbar Programmatically
+
+The visibility of the Redaction Toolbar can also be controlled programmatically by invoking the `ShowRedactionToolbar` method of the SfPdfViewer component. This approach is suitable for scenarios where toolbar visibility must be managed based on application logic, user permissions, or contextual requirements.
+
+The following example demonstrates how to toggle the visibility of the Redaction Toolbar using a button:
+
+```cshtml
+private void ToggleRedactionToolbar()
+{
+    isRedactionToolbarVisible = !isRedactionToolbarVisible;
+    SfPdfViewer2.ShowRedactionToolbar(isRedactionToolbarVisible);
+}
+```
+
+Refer to the Image below for details.
+![Show Redaction Toolbar](./annotation/redaction-annotations-images/show-redaction-toolbar.png)
+
+## See also
+
+* [Adding the shape annotation in PDF viewer](./annotation/shape-annotation)
+* [Adding the redaction annotation in PDF viewer](./annotation/redaction-annotation)
+* [Form designer in PDF viewer](./form-designer/overview)
diff --git a/Document-Processing/PDF/PDF-Viewer2/overview.md b/Document-Processing/PDF/PDF-Viewer2/overview.md
new file mode 100644
index 000000000..18cda380b
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer2/overview.md
@@ -0,0 +1,13 @@
+---
+title: PDF Viewer Component | Syncfusion
+description:  View, edit and print PDF files in Blazor applications without Adobe dependencies.
+platform: document-processing
+control: general
+documentation: UG
+keywords: PDF, SDK, view, edit, read
+---
+
+# Welcome to Syncfusion PDF Viewer Component
+
+Syncfusion PDF Viewer component is a GUI component used to view, edit and print PDF files in Blazor applications that works without Adobe dependencies. It eases you developers to just integrate this viewer component to achieve the required PDF document viewing, editing functionalities and concentrate on core logics of your application.
+
