VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging.Pdf.UI.Annotations Namespace / PdfAnnotationTool Class
Members Example



In This Topic
    PdfAnnotationTool Class
    In This Topic
    Visual tool that allows to view, fill and edit the annotations and interactive form fields of PDF document.
    Object Model
    PdfAnnotationTool ClassPdfActionExecutorBase ClassIInteractionController InterfacePdfAnnotationList ClassPdfAnnotation ClassPdfAnnotationViewCollection ClassPdfAnnotationView ClassBringToBackItemUIAction ClassBringToFrontItemUIAction ClassIObjectClipboard InterfaceCopyItemUIAction ClassCutItemUIAction ClassDeleteItemUIAction ClassDeselectAllItemsUIAction ClassImageCollectionDocumentSet ClassPdfAnnotationView ClassPdfInteractiveFormField ClassPdfDocumentInteractiveForm ClassPdfJsDoc ClassPdfPage ClassPdfAnnotation ClassPdfAnnotationView ClassImageViewer ClassPdfInteractiveFormEditorManager ClassPdfJsApp ClassPasteItemWithOffsetUIAction ClassRectangularSelectionTool ClassSelectAllItemsUIAction Class
    Syntax
    Example
    This example shows how to create a PDF annotation tool.
    ''' <summary>
    ''' Creates the PDF annotation tool.
    ''' </summary>
    ''' <param name="viewer">The image viewer.</param>
    Public Shared Function CreatePdfAnnotationTool(viewer As Vintasoft.Imaging.UI.ImageViewer) As Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
    	' create Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
    	Dim annotationTool As New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool(True)
    	annotationTool.InteractionMode = Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationInteractionMode.Markup
                
    	' create an application action executor
    	Dim applicationActionExecutor As New Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor()
    	' add executor for PdfGotoAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.PdfGotoActionExecutor(viewer))
    	' add executor for PdfNamedAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.PdfNamedActionExecutor(viewer))
    	' add executor for PdfResetFormAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolResetFormActionExecutor(annotationTool))
    	' add executor for PdfAnnotationHideAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolAnnotationHideActionExecutor(annotationTool))
    	' add executor for PdfUriAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfUriActionExecutor());// PdfDemosCommonCode
    	' add executor for PdfLaunchAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfLaunchActionExecutor());// PdfDemosCommonCode
    	' add executor for PdfSubmitFormAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfSubmitActionExecutor(viewer));// PdfDemosCommonCode
    	' add the default executor (for PdfResetFormAction and PdfAnnotationHideAction)
    	' to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.PdfActionExecutor())
                
    	' set the application action executor as action executor of PDF annotation tool
    	annotationTool.ActionExecutor = applicationActionExecutor
                
    	Return annotationTool
    End Function
    ''' <summary>
    ''' Creates the PDF annotation tool with JavaScript support.
    ''' </summary>
    ''' <param name="viewer">The image viewer.</param>
    Public Shared Function CreatePdfAnnotationToolWithJavaScriptSupport(viewer As Vintasoft.Imaging.UI.ImageViewer) As Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
    	' create PDF JavaScript application
    	Dim jsApp As New Vintasoft.Imaging.Pdf.UI.JavaScript.WinFormsPdfJsApp()
    	' add PDF documents, which are associated with images in viewer, 
    	' to the document set of PDF JavaScript application
    	jsApp.RegisterImageViewer(viewer)
    	' create PdfJavaScriptActionExecutor for PDF JavaScript application
    	jsApp.ActionExecutor = New Vintasoft.Imaging.Pdf.JavaScript.PdfJavaScriptActionExecutor(jsApp, New Vintasoft.Imaging.Pdf.JavaScriptApi.PdfJsConsole())
                
    	' create Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
    	Dim annotationTool As New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool(jsApp, True)
    	annotationTool.InteractionMode = Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationInteractionMode.Markup
                
    	' create an application action executor
    	Dim applicationActionExecutor As New Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor()
    	' add executor for PdfJavaScriptAction to the application action executor
    	applicationActionExecutor.Items.Add(jsApp.ActionExecutor)
    	' add executor for PdfGotoAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.PdfGotoActionExecutor(viewer))
    	' add executor for PdfNamedAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.PdfNamedActionExecutor(viewer))
    	' add executor for PdfResetFormAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolResetFormActionExecutor(annotationTool))
    	' add executor for PdfAnnotationHideAction to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolAnnotationHideActionExecutor(annotationTool))
    	' add executor for PdfUriAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfUriActionExecutor());
    	' add executor for PdfLaunchAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfLaunchActionExecutor());
    	' add executor for PdfSubmitFormAction to the application action executor,
    	' executor is located in WpfPdfDemosCommonCode
    	'applicationActionExecutor.Items.Add(new PdfSubmitActionExecutor(viewer));
    	' add the default executor (for PdfResetFormAction and PdfAnnotationHideAction)
    	' to the application action executor
    	applicationActionExecutor.Items.Add(New Vintasoft.Imaging.Pdf.PdfActionExecutor())
                
    	' set the application action executor as action executor of PDF annotation tool
    	annotationTool.ActionExecutor = applicationActionExecutor
                
    	' create a document-level actions executor
    	Dim documentLevelActionsExecutor As New Vintasoft.Imaging.Pdf.PdfDocumentLevelActionsExecutor(jsApp)
    	' set the application action executor as action executor of the document-level actions executor
    	documentLevelActionsExecutor.ActionExecutor = applicationActionExecutor
                
    	Return annotationTool
    End Function
    /// <summary>
    /// Creates the PDF annotation tool.
    /// </summary>
    /// <param name="viewer">The image viewer.</param>
    public static Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool CreatePdfAnnotationTool(
        Vintasoft.Imaging.UI.ImageViewer viewer)
    {
        // create Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
        Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool annotationTool = new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool(true);
        annotationTool.InteractionMode = Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationInteractionMode.Markup;
                
        // create an application action executor
        Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor applicationActionExecutor = 
            new Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor();
        // add executor for PdfGotoAction to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.UI.PdfGotoActionExecutor(viewer));
        // add executor for PdfNamedAction to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.UI.PdfNamedActionExecutor(viewer));
        // add executor for PdfResetFormAction to the application action executor
        applicationActionExecutor.Items.Add(
            new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolResetFormActionExecutor(annotationTool));
        // add executor for PdfAnnotationHideAction to the application action executor
        applicationActionExecutor.Items.Add(
            new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolAnnotationHideActionExecutor(annotationTool));
        // add executor for PdfUriAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfUriActionExecutor());// PdfDemosCommonCode
        // add executor for PdfLaunchAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfLaunchActionExecutor());// PdfDemosCommonCode
        // add executor for PdfSubmitFormAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfSubmitActionExecutor(viewer));// PdfDemosCommonCode
        // add the default executor (for PdfResetFormAction and PdfAnnotationHideAction)
        // to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.PdfActionExecutor());
                
        // set the application action executor as action executor of PDF annotation tool
        annotationTool.ActionExecutor = applicationActionExecutor;
                
        return annotationTool;
    }
    /// <summary>
    /// Creates the PDF annotation tool with JavaScript support.
    /// </summary>
    /// <param name="viewer">The image viewer.</param>
    public static Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool CreatePdfAnnotationToolWithJavaScriptSupport(Vintasoft.Imaging.UI.ImageViewer viewer)
    {
        // create PDF JavaScript application
        Vintasoft.Imaging.Pdf.UI.JavaScript.WinFormsPdfJsApp jsApp = 
            new Vintasoft.Imaging.Pdf.UI.JavaScript.WinFormsPdfJsApp();
        // add PDF documents, which are associated with images in viewer, 
        // to the document set of PDF JavaScript application
        jsApp.RegisterImageViewer(viewer);
        // create PdfJavaScriptActionExecutor for PDF JavaScript application
        jsApp.ActionExecutor = new Vintasoft.Imaging.Pdf.JavaScript.PdfJavaScriptActionExecutor(
            jsApp, new Vintasoft.Imaging.Pdf.JavaScriptApi.PdfJsConsole());
                
        // create Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool
        Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool annotationTool = 
            new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool(jsApp, true);
        annotationTool.InteractionMode = Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationInteractionMode.Markup;
                
        // create an application action executor
        Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor applicationActionExecutor = 
            new Vintasoft.Imaging.Pdf.PdfActionCompositeExecutor();
        // add executor for PdfJavaScriptAction to the application action executor
        applicationActionExecutor.Items.Add(jsApp.ActionExecutor);
        // add executor for PdfGotoAction to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.UI.PdfGotoActionExecutor(viewer));
        // add executor for PdfNamedAction to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.UI.PdfNamedActionExecutor(viewer));
        // add executor for PdfResetFormAction to the application action executor
        applicationActionExecutor.Items.Add(
            new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolResetFormActionExecutor(annotationTool));
        // add executor for PdfAnnotationHideAction to the application action executor
        applicationActionExecutor.Items.Add(
            new Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationToolAnnotationHideActionExecutor(annotationTool));
        // add executor for PdfUriAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfUriActionExecutor());
        // add executor for PdfLaunchAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfLaunchActionExecutor());
        // add executor for PdfSubmitFormAction to the application action executor,
        // executor is located in WpfPdfDemosCommonCode
        //applicationActionExecutor.Items.Add(new PdfSubmitActionExecutor(viewer));
        // add the default executor (for PdfResetFormAction and PdfAnnotationHideAction)
        // to the application action executor
        applicationActionExecutor.Items.Add(new Vintasoft.Imaging.Pdf.PdfActionExecutor());
                
        // set the application action executor as action executor of PDF annotation tool
        annotationTool.ActionExecutor = applicationActionExecutor;
                
        // create a document-level actions executor
        Vintasoft.Imaging.Pdf.PdfDocumentLevelActionsExecutor documentLevelActionsExecutor =
           new Vintasoft.Imaging.Pdf.PdfDocumentLevelActionsExecutor(jsApp);
        // set the application action executor as action executor of the document-level actions executor
        documentLevelActionsExecutor.ActionExecutor = applicationActionExecutor;
                
        return annotationTool;
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.UI.VisualTools.VisualTool
          Vintasoft.Imaging.UI.VisualTools.UserInteraction.UserInteractionVisualTool
             Vintasoft.Imaging.Pdf.UI.Annotations.PdfAnnotationTool

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also