VintaSoft Imaging .NET SDK 10.0
Vintasoft.Imaging.Pdf.Tree.Annotations Namespace / PdfPolylineAnnotation Class
Members Example



In This Topic
    PdfPolylineAnnotation Class
    In This Topic
    Represents a PDF annotation that displays a polyline.
    Object Model
    PdfPolylineAnnotation ClassPdfAction ClassPdfAnnotationAdditionalActions ClassPdfAnnotationAppearanceGenerator ClassAffineMatrix ClassPdfAnnotationAppearances ClassPdfFileReferenceSpecificationList ClassPdfFileReferenceSpecification ClassPdfBasicObject ClassPdfAnnotationBorderStyle ClassPdfDocument ClassPdfIndirectReference ClassPdfOptionalContentGroup ClassPdfPage ClassPdfPopupAnnotation ClassPdfAnnotation Class
    Syntax
    'Declaration
     
    Public NotInheritable Class PdfPolylineAnnotation 
       Inherits PdfPolygonalAnnotation
    public sealed class PdfPolylineAnnotation : PdfPolygonalAnnotation 
    public __gc __sealed class PdfPolylineAnnotation : public PdfPolygonalAnnotation 
    public ref class PdfPolylineAnnotation sealed : public PdfPolygonalAnnotation 
    Example
    Here is an example that shows how to create a PDF polyline annotation:
    ''' <summary>
    ''' Creates the PDF documenet with polyline annotation.
    ''' </summary>
    ''' <param name="outputPdfFilename">The output PDF filename.</param>
    Public Shared Sub CreatePdfPolylineAnnotation(outputPdfFilename As String)
    	Using document As New Vintasoft.Imaging.Pdf.PdfDocument(outputPdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14)
    		Dim page As Vintasoft.Imaging.Pdf.Tree.PdfPage
                
    		' Add new page
    		page = document.Pages.Add(Vintasoft.Imaging.PaperSizeKind.A4)
    		page.Annotations = New Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationList(document)
    		Dim annotationRectangle As System.Drawing.RectangleF = page.MediaBox
    		annotationRectangle.Inflate(-200, -300)
                
    		' Points
    		Dim random As New System.Random()
    		Dim polylgonalAnnotationPoints As System.Drawing.PointF() = New System.Drawing.PointF(9) {}
    		polylgonalAnnotationPoints(0) = annotationRectangle.Location
    		For i As Integer = 1 To polylgonalAnnotationPoints.Length - 1
    			polylgonalAnnotationPoints(i) = New System.Drawing.PointF(annotationRectangle.X + annotationRectangle.Width * CSng(random.NextDouble()), annotationRectangle.Y + annotationRectangle.Height * CSng(random.NextDouble()))
    		Next
                
    		' Polyline annotation
    		Dim polyline As New Vintasoft.Imaging.Pdf.Tree.Annotations.PdfPolylineAnnotation(page)
    		polyline.Rectangle = System.Drawing.RectangleF.Inflate(annotationRectangle, 30, 30)
    		polyline.Points = polylgonalAnnotationPoints
    		polyline.BorderWidth = 3
    		polyline.InteriorColor = System.Drawing.Color.Red
    		polyline.Color = System.Drawing.Color.Green
    		polyline.StartPointLineEndingStyle = Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationLineEndingStyle.ClosedArrow
    		polyline.EndPointLineEndingStyle = Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationLineEndingStyle.Diamond
    		polyline.UpdateAppearance()
    		page.Annotations.Add(polyline)
                
    		document.SaveChanges()
    	End Using
    End Sub
    /// <summary>
    /// Creates the PDF documenet with polyline annotation.
    /// </summary>
    /// <param name="outputPdfFilename">The output PDF filename.</param>
    public static void CreatePdfPolylineAnnotation(string outputPdfFilename)
    {
        using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument(
            outputPdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14))
        {
            Vintasoft.Imaging.Pdf.Tree.PdfPage page;
                
            // Add new page
            page = document.Pages.Add(Vintasoft.Imaging.PaperSizeKind.A4);
            page.Annotations = new Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationList(document);
            System.Drawing.RectangleF annotationRectangle = page.MediaBox;
            annotationRectangle.Inflate(-200, -300);
                
            // Points
            System.Random random = new System.Random();
            System.Drawing.PointF[] polylgonalAnnotationPoints = new System.Drawing.PointF[10];
            polylgonalAnnotationPoints[0] = annotationRectangle.Location;
            for (int i = 1; i < polylgonalAnnotationPoints.Length; i++)
            {
                polylgonalAnnotationPoints[i] = new System.Drawing.PointF(
                    annotationRectangle.X + annotationRectangle.Width * (float)random.NextDouble(),
                    annotationRectangle.Y + annotationRectangle.Height * (float)random.NextDouble());
            }
                
            // Polyline annotation
            Vintasoft.Imaging.Pdf.Tree.Annotations.PdfPolylineAnnotation polyline = 
                new Vintasoft.Imaging.Pdf.Tree.Annotations.PdfPolylineAnnotation(page);
            polyline.Rectangle = System.Drawing.RectangleF.Inflate(annotationRectangle, 30, 30);
            polyline.Points = polylgonalAnnotationPoints;
            polyline.BorderWidth = 3;
            polyline.InteriorColor = System.Drawing.Color.Red;
            polyline.Color = System.Drawing.Color.Green;
            polyline.StartPointLineEndingStyle = 
                Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationLineEndingStyle.ClosedArrow;
            polyline.EndPointLineEndingStyle = 
                Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationLineEndingStyle.Diamond;
            polyline.UpdateAppearance();
            page.Annotations.Add(polyline);
                
            document.SaveChanges();
        }
    }
    Inheritance Hierarchy
    Requirements

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

    See Also