public IList<PDFPoint> Points { get; }
public java.util.List<PDFPoint> getPoints();
public:
property IList<PDFPoint>^ Points {
IList<PDFPoint>^ get();
}
Points # get (PDFPencilAnnotation)
An IList of PDFPoint structures that contain the list of points, in PDF units (1/72 of an inch and bottom-left), of the polyline annotation.
You can create point list from scratch by adding points to the list. The points control the curve path to be created. When creating an annotation pencil, a set of points connected as straight lines will be created and saved in the PDF document instead of given original points. The position is in PDF units (1/72 of an inch and bottom-left). To go to the top of the page, you must go to "0, PageHeight". You can use the PDFDocumentPage.ConvertPoint helper method to convert from pixel or inches to PDF units and back.
The Type property contains a list of the point types (MoveTo or LineTo). These can be used to create disjointed lines if needed. If this list is omitted or is empty, then each segment is treated as if it was a line to the next point (in other words, treated as if the pencil object contains a list of all LineTo items).
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Pdf;
using Leadtools.WinForms;
using Leadtools.Drawing;
public void PDFPencilAnnotationExample()
{
string pdfSrcFileName = Path.Combine(LEAD_VARS.ImagesDir, @"Leadtools.pdf");
string pdfDestFileName = Path.Combine(LEAD_VARS.ImagesDir, @"LEAD_Annotations.pdf");
PDFFile pdfFile = new PDFFile(pdfSrcFileName);
List<PDFAnnotation> Annotations = new List<PDFAnnotation>();
PDFPencilAnnotation pencil = new PDFPencilAnnotation();
List<PDFPoint> points = new List<PDFPoint>();
PDFPen pen = new PDFPen();
// Assign pen properties
// Create dashed red pen with width of 2
pen.Color = RasterColor.FromKnownColor(RasterKnownColor.Red);
pen.PenStyle = PDFPen.Dashed;
pen.Width = 2;
pencil.Pen = pen;
pencil.Points.Add(new PDFPoint(250, 400));
pencil.Points.Add(new PDFPoint(300, 350));
pencil.Points.Add(new PDFPoint(300, 200));
pencil.Points.Add(new PDFPoint(300, 100));
pencil.Points.Add(new PDFPoint(250, 150));
pencil.Points.Add(new PDFPoint(100, 100));
Annotations.Add(pencil);
pdfFile.WriteAnnotations(Annotations, pdfDestFileName);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import org.junit.*;
import org.junit.runner.*;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.assertTrue;
import leadtools.*;
import leadtools.pdf.*;
public void pdfPencilAnnotationExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String pdfSrcFileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf");
String pdfDestFileName = combine(LEAD_VARS_IMAGES_DIR, "LEAD_Annotations.pdf");
PDFFile pdfFile = new PDFFile(pdfSrcFileName);
ArrayList Annotations = new ArrayList<PDFAnnotation>();
PDFPencilAnnotation pencil = new PDFPencilAnnotation();
ArrayList points = new ArrayList<PDFPoint>();
PDFPen pen = new PDFPen();
// assigning pencil properties and creating dashed red pen with a width of 2:
pen.setColor(RasterColor.fromKnownColor(RasterKnownColor.RED));
pen.setPenStyle(PDFPen.DASHED);
pen.setWidth(2);
pencil.setPen(pen);
pencil.getPoints().add(new PDFPoint(350, 400));
pencil.getPoints().add(new PDFPoint(300, 350));
pencil.getPoints().add(new PDFPoint(300, 200));
pencil.getPoints().add(new PDFPoint(300, 100));
pencil.getPoints().add(new PDFPoint(250, 150));
pencil.getPoints().add(new PDFPoint(100, 100));
Annotations.add(pencil);
pdfFile.writeAnnotations(Annotations, pdfDestFileName);
System.out.println("Annotations written and file saved to: " + pdfDestFileName);
assertTrue(new File(pdfDestFileName).exists());
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document