VintaSoft Imaging .NET SDK 11.0
Vintasoft.Imaging.Pdf.Wpf.UI Namespace / WpfPdfContentEditorTool Class
Members Example



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
    WpfPdfContentEditorTool ClassIWpfInteractionController InterfaceBringToBackItemUIAction ClassBringToFrontItemUIAction ClassIObjectClipboard InterfaceCopyItemUIAction ClassPdfPage ClassCutItemUIAction ClassDeleteItemUIAction ClassDeselectAllItemsUIAction ClassFontProgramsControllerBase ClassWpfImageViewer ClassPasteItemWithOffsetUIAction ClassGraphicsFigure ClassGraphicsFigurePoints ClassWpfGraphicsFigureView ClassUndoManager Class
    Syntax
    'Declaration
     
    <DefaultPropertyAttribute("Content")>
    <ContentPropertyAttribute("Content")>
    <LocalizabilityAttribute(LocalizationCategory.None, Readability=Readability.Unreadable)>
    <StyleTypedPropertyAttribute(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)>
    <XmlLangPropertyAttribute("Language")>
    <UsableDuringInitializationAttribute(True)>
    <RuntimeNamePropertyAttribute("Name")>
    <UidPropertyAttribute("Uid")>
    <TypeDescriptionProviderAttribute(MS.Internal.ComponentModel.DependencyObjectProvider)>
    <NameScopePropertyAttribute("NameScope", System.Windows.NameScope)>
    Public Class WpfPdfContentEditorTool 
       Inherits Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool
       Implements Vintasoft.Imaging.UIActions.ISupportUIActions 
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
    [StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)]
    [XmlLangProperty("Language")]
    [UsableDuringInitialization(true)]
    [RuntimeNameProperty("Name")]
    [UidProperty("Uid")]
    [TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]
    [NameScopeProperty("NameScope", System.Windows.NameScope)]
    public class WpfPdfContentEditorTool : Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool, Vintasoft.Imaging.UIActions.ISupportUIActions  
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
    [StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)]
    [XmlLangProperty("Language")]
    [UsableDuringInitialization(true)]
    [RuntimeNameProperty("Name")]
    [UidProperty("Uid")]
    [TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]
    [NameScopeProperty("NameScope", System.Windows.NameScope)]
    public __gc class WpfPdfContentEditorTool : public Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool, Vintasoft.Imaging.UIActions.ISupportUIActions  
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
    [StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)]
    [XmlLangProperty("Language")]
    [UsableDuringInitialization(true)]
    [RuntimeNameProperty("Name")]
    [UidProperty("Uid")]
    [TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]
    [NameScopeProperty("NameScope", System.Windows.NameScope)]
    public ref class WpfPdfContentEditorTool : public Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool, Vintasoft.Imaging.UIActions.ISupportUIActions  
    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