VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.Pdf.UI Namespace / PdfTextMarkupTool Class
    Класс PdfTextMarkupTool
    В этом разделе
    Визуальный инструмент, который позволяет размечать (выделять, зачеркивать, подчеркивать, волнистой линией) текст с помощью PdfTextMarkupAnnotation на PDF странице.
    Объектная модель
    PdfTextMarkupAnnotationAppearanceGenerator TextSelectionTool ImageViewer PdfTextMarkupTool
    Синтаксис
    'Declaration
    
    Public Class PdfTextMarkupTool
       Inherits Vintasoft.Imaging.UI.VisualTools.VisualTool
    
    
    public class PdfTextMarkupTool : Vintasoft.Imaging.UI.VisualTools.VisualTool
    
    
    public __gc class PdfTextMarkupTool : public Vintasoft.Imaging.UI.VisualTools.VisualTool*
    
    
    public ref class PdfTextMarkupTool : public Vintasoft.Imaging.UI.VisualTools.VisualTool^
    
    
    Ремарки

    Для этого визуального инструмента требуется TextSelectionTool, т.е. просмотрщик изображений должно использовать CompositeVisualTool, который содержит TextSelectionTool и PdfTextMarkupTool.

    Пример

    Вот C#/VB.NET код, который демонстрирует, как использовать инструмент разметки текста PDF для выделения текста на PDF странице.

    
    ''' <summary>
    ''' Sets the PdfTextMarkupTool as current tool of specified image viewer.
    ''' </summary>
    ''' <param name="imageViewer">The image viewer.</param>
    Public Shared Sub SetPdfTextMarkupTool(imageViewer As Vintasoft.Imaging.UI.ImageViewer)
        ' create an instance of the PdfTextMarkupTool class
        Dim textMarkupTool As New Vintasoft.Imaging.Pdf.UI.PdfTextMarkupTool()
    
        ' set text markup mode to "Highlight"
        textMarkupTool.MarkupMode = Vintasoft.Imaging.Pdf.UI.PdfTextMarkupToolMode.Highlight
    
        ' set color of markup annotation to "Orange"
        textMarkupTool.HighlightColor = System.Drawing.Color.Orange
    
        ' subscribe to the MarkupAnnotationCreated event
        AddHandler textMarkupTool.MarkupAnnotationCreated, AddressOf TextMarkupTool_MarkupAnnotationCreated
    
        ' get TextSelectionTool from image viewer
        Dim textSelectionTool As Vintasoft.Imaging.UI.VisualTools.TextSelectionTool = GetTextSelectionTool(imageViewer)
    
        ' set the PdfTextMarkupTool+TextSelectionTool as visual tool of the image viewer
        imageViewer.VisualTool = New Vintasoft.Imaging.UI.VisualTools.CompositeVisualTool(textMarkupTool, textSelectionTool)
    End Sub
    
    ''' <summary>
    ''' Returns the text selection tool for specified image viewer.
    ''' </summary>
    ''' <param name="imageViewer">The image viewer.</param>
    ''' <returns>The text selection tool.</returns>
    Private Shared Function GetTextSelectionTool(imageViewer As Vintasoft.Imaging.UI.ImageViewer) As Vintasoft.Imaging.UI.VisualTools.TextSelectionTool
        ' search a TextSelectionTool in visual tools of the image viewer
        Dim textSelectionTool As Vintasoft.Imaging.UI.VisualTools.TextSelectionTool = Vintasoft.Imaging.UI.VisualTools.VisualTool.FindVisualTool(Of Vintasoft.Imaging.UI.VisualTools.TextSelectionTool)(imageViewer.VisualTool)
        If textSelectionTool IsNot Nothing Then
            Return textSelectionTool
        End If
    
        ' create an instance of text selection tool
        Return New Vintasoft.Imaging.UI.VisualTools.TextSelectionTool()
    End Function
    
    ''' <summary>
    ''' Handles the MarkupAnnotationCreated event of the PdfTextMarkupTool visual tool.
    ''' </summary>
    Private Shared Sub TextMarkupTool_MarkupAnnotationCreated(sender As Object, e As Vintasoft.Imaging.Pdf.UI.PdfMarkupAnnotationEventArgs)
        ' set user name as title of text markup annotation
        e.MarkupAnnotation.Title = System.Environment.UserName
    End Sub
    
    
    
    /// <summary>
    /// Sets the PdfTextMarkupTool as current tool of specified image viewer.
    /// </summary>
    /// <param name="imageViewer">The image viewer.</param>
    public static void SetPdfTextMarkupTool(Vintasoft.Imaging.UI.ImageViewer imageViewer)
    {
        // create an instance of the PdfTextMarkupTool class
        Vintasoft.Imaging.Pdf.UI.PdfTextMarkupTool textMarkupTool = new Vintasoft.Imaging.Pdf.UI.PdfTextMarkupTool();
    
        // set text markup mode to "Highlight"
        textMarkupTool.MarkupMode = Vintasoft.Imaging.Pdf.UI.PdfTextMarkupToolMode.Highlight;
    
        // set color of markup annotation to "Orange"
        textMarkupTool.HighlightColor = System.Drawing.Color.Orange;
    
        // subscribe to the MarkupAnnotationCreated event
        textMarkupTool.MarkupAnnotationCreated += TextMarkupTool_MarkupAnnotationCreated;
    
        // get TextSelectionTool from image viewer
        Vintasoft.Imaging.UI.VisualTools.TextSelectionTool textSelectionTool = GetTextSelectionTool(imageViewer);
    
        // set the PdfTextMarkupTool+TextSelectionTool as visual tool of the image viewer
        imageViewer.VisualTool = new Vintasoft.Imaging.UI.VisualTools.CompositeVisualTool(textMarkupTool, textSelectionTool);
    }
    
    /// <summary>
    /// Returns the text selection tool for specified image viewer.
    /// </summary>
    /// <param name="imageViewer">The image viewer.</param>
    /// <returns>The text selection tool.</returns>
    private static Vintasoft.Imaging.UI.VisualTools.TextSelectionTool GetTextSelectionTool(Vintasoft.Imaging.UI.ImageViewer imageViewer)
    {
        // search a TextSelectionTool in visual tools of the image viewer
        Vintasoft.Imaging.UI.VisualTools.TextSelectionTool textSelectionTool =
            Vintasoft.Imaging.UI.VisualTools.VisualTool.FindVisualTool<Vintasoft.Imaging.UI.VisualTools.TextSelectionTool>(imageViewer.VisualTool);
        if (textSelectionTool != null)
            return textSelectionTool;
    
        // create an instance of text selection tool
        return new Vintasoft.Imaging.UI.VisualTools.TextSelectionTool();
    }
    
    /// <summary>
    /// Handles the MarkupAnnotationCreated event of the PdfTextMarkupTool visual tool.
    /// </summary>
    private static void TextMarkupTool_MarkupAnnotationCreated(object sender, Vintasoft.Imaging.Pdf.UI.PdfMarkupAnnotationEventArgs e)
    {
        // set user name as title of text markup annotation
        e.MarkupAnnotation.Title = System.Environment.UserName;
    }
    
    

    Иерархия наследования

    System.Object
       Vintasoft.Imaging.UI.VisualTools.VisualTool
          Vintasoft.Imaging.Pdf.UI.PdfTextMarkupTool

    Требования

    Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    Смотрите также