VintaSoft Imaging .NET SDK 12.0
In This Topic
    WpfPdfContentEditorTool Class
    In This Topic
    A visual tool that allows to edit content of PDF page in WPF image viewer.
    Object Model
    Vintasoft.Imaging.Fonts.FontProgramsControllerBase Vintasoft.Imaging.Undo.UndoManager Vintasoft.Imaging.Pdf.Tree.PdfPage Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigure Vintasoft.Imaging.Pdf.Wpf.UI.WpfGraphicsFigureView Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigurePoints Vintasoft.Imaging.UIActions.CopyItemUIAction Vintasoft.Imaging.UIActions.CutItemUIAction Vintasoft.Imaging.UIActions.PasteItemWithOffsetUIAction Vintasoft.Imaging.UIActions.DeleteItemUIAction Vintasoft.Imaging.UIActions.DeselectAllItemsUIAction Vintasoft.Imaging.UIActions.BringToBackItemUIAction Vintasoft.Imaging.UIActions.BringToFrontItemUIAction Vintasoft.Imaging.Utils.IObjectClipboard Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.IWpfInteractionController Vintasoft.Imaging.Wpf.UI.WpfImageViewer Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool
    Syntax
    'Declaration
    
    <DefaultPropertyAttribute("Content")>
    <ContentPropertyAttribute("Content")>
    <LocalizabilityAttribute(None)>
    <StyleTypedPropertyAttribute("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")>
    <XmlLangPropertyAttribute("Name = Language")>
    <UsableDuringInitializationAttribute("Usable = True")>
    <RuntimeNamePropertyAttribute("Name = Name")>
    <UidPropertyAttribute()>
    <TypeDescriptionProviderAttribute("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")>
    <NameScopePropertyAttribute("Name = NameScope", "Type = System.Windows.NameScope")>
    Public Class WpfPdfContentEditorTool
       Inherits WpfUserInteractionVisualTool
    
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(None)]
    [StyleTypedProperty("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")]
    [XmlLangProperty("Name = Language")]
    [UsableDuringInitialization("Usable = True")]
    [RuntimeNameProperty("Name = Name")]
    [UidProperty()]
    [TypeDescriptionProvider("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")]
    [NameScopeProperty("Name = NameScope", "Type = System.Windows.NameScope")]
    public class WpfPdfContentEditorTool : WpfUserInteractionVisualTool
    
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(None)]
    [StyleTypedProperty("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")]
    [XmlLangProperty("Name = Language")]
    [UsableDuringInitialization("Usable = True")]
    [RuntimeNameProperty("Name = Name")]
    [UidProperty()]
    [TypeDescriptionProvider("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")]
    [NameScopeProperty("Name = NameScope", "Type = System.Windows.NameScope")]
    public __gc class WpfPdfContentEditorTool : public WpfUserInteractionVisualTool
    
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(None)]
    [StyleTypedProperty("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")]
    [XmlLangProperty("Name = Language")]
    [UsableDuringInitialization("Usable = True")]
    [RuntimeNameProperty("Name = Name")]
    [UidProperty()]
    [TypeDescriptionProvider("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")]
    [NameScopeProperty("Name = NameScope", "Type = System.Windows.NameScope")]
    public ref class WpfPdfContentEditorTool : public WpfUserInteractionVisualTool
    
    Example

    This example shows how to add ellipse to a PDF document, which is loaded in image viewer.

    
    Public Partial Class WindowWithPdfEditorTool
        Inherits System.Windows.Window
        '...
        Private _imageViewer As Vintasoft.Imaging.Wpf.UI.WpfImageViewer
        Private _contentEditorTool As Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool
        '...
    
        Public Sub New()
            '...
            ' initialize Vintasoft.Imaging.Pdf.Office.UI assembly
            Vintasoft.Imaging.PdfOfficeWpfUIAssembly.Init()
    
            ' create visual tool that allows to edit content on PDF page
            _contentEditorTool = New Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool()
            ' create visual tool that allows to edit text in text content on PDF page
            Dim visualEditorTextTool As New Vintasoft.Imaging.Office.OpenXml.Wpf.UI.VisualTools.UserInteraction.WpfOfficeDocumentVisualEditorTextTool()
    
            ' specify that content editor tool should add and edit content on PDF page
            _contentEditorTool.AppendMode = False
            ' specify that content editor tool should highlight content figures
            _contentEditorTool.FiguresHighlight = True
            ' specify that visual tool should work only with content of specified types
            _contentEditorTool.InteractiveContentType = Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Text Or Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Image Or Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Form Or Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.StrokePath Or Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.FillPath
    
            ' create the composite visual tool and set it as a current tool of image viewer
            _imageViewer.VisualTool = New Vintasoft.Imaging.Wpf.UI.VisualTools.WpfCompositeVisualTool(visualEditorTextTool, _contentEditorTool)
        End Sub
    
        '...
    
        Private Sub drawEllipseToolStripButton_Click(sender As Object, e As System.Windows.RoutedEventArgs)
            ' start building an ellipse
            _contentEditorTool.StartBuildEllipse(New Vintasoft.Imaging.Pdf.Drawing.PdfPen(System.Drawing.Color.Red, 5), New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Green))
        End Sub
    End Class
    
    
    
    public partial class WindowWithPdfEditorTool : System.Windows.Window
    {
        //...
        Vintasoft.Imaging.Wpf.UI.WpfImageViewer _imageViewer;
        Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool _contentEditorTool;
        //...
    
        public WindowWithPdfEditorTool()
        {
            //...
            // initialize Vintasoft.Imaging.Pdf.Office.UI assembly
            Vintasoft.Imaging.PdfOfficeWpfUIAssembly.Init();
    
            // create visual tool that allows to edit content on PDF page
            _contentEditorTool = new Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool();
            // create visual tool that allows to edit text in text content on PDF page
            Vintasoft.Imaging.Office.OpenXml.Wpf.UI.VisualTools.UserInteraction.WpfOfficeDocumentVisualEditorTextTool visualEditorTextTool =
                new Vintasoft.Imaging.Office.OpenXml.Wpf.UI.VisualTools.UserInteraction.WpfOfficeDocumentVisualEditorTextTool();
    
            // specify that content editor tool should add and edit content on PDF page
            _contentEditorTool.AppendMode = false;
            // specify that content editor tool should highlight content figures
            _contentEditorTool.FiguresHighlight = true;
            // specify that visual tool should work only with content of specified types
            _contentEditorTool.InteractiveContentType =
                Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Text |
                Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Image |
                Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Form |
                Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.StrokePath |
                Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.FillPath;
    
            // create the composite visual tool and set it as a current tool of image viewer
            _imageViewer.VisualTool = new Vintasoft.Imaging.Wpf.UI.VisualTools.WpfCompositeVisualTool(visualEditorTextTool, _contentEditorTool);
        }
    
        //...
    
        private void drawEllipseToolStripButton_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // start building an ellipse
            _contentEditorTool.StartBuildEllipse(
                new Vintasoft.Imaging.Pdf.Drawing.PdfPen(System.Drawing.Color.Red, 5),
                new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Green));
        }
    }
    
    

    Inheritance Hierarchy

    System.Object
       System.Windows.Threading.DispatcherObject
          System.Windows.DependencyObject
             System.Windows.Media.Visual
                System.Windows.UIElement
                   System.Windows.FrameworkElement
                      System.Windows.Controls.Control
                         System.Windows.Controls.ContentControl
                            Vintasoft.Imaging.Wpf.UI.VisualTools.WpfVisualTool
                               Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool
                                  Vintasoft.Imaging.Pdf.Wpf.UI.WpfPdfContentEditorTool

    Requirements

    Target Platforms: .NET 6; .NET 5; .NET Core 3.1; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also