Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Caret Annotation is a symbol that indicates text editing. Caret Annotation is also markup annotation, so the Caret class derives from the Markup class and also provides functions to get or set properties of the Caret Annotation and reset the flow of the Caret Annotation appearance.
The following code snippet also work with Aspose.PDF.Drawing library.
Steps with which we create Caret annotation:
The following code snippet shows how to add Caret Annotation to a PDF file:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddCaretAnnotations()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample.pdf"))
{
// Create Caret Annotation for text insertion
var caretAnnotation1 = new Aspose.Pdf.Annotations.CaretAnnotation(document.Pages[1], new Aspose.Pdf.Rectangle(299.988, 713.664, 308.708, 720.769))
{
Title = "Aspose User",
Subject = "Inserted text 1",
Flags = Aspose.Pdf.Annotations.AnnotationFlags.Print,
Color = Aspose.Pdf.Color.Blue
};
// Create Caret Annotation for text replacement
var caretAnnotation2 = new Aspose.Pdf.Annotations.CaretAnnotation(document.Pages[1], new Aspose.Pdf.Rectangle(361.246, 727.908, 370.081, 735.107))
{
Flags = Aspose.Pdf.Annotations.AnnotationFlags.Print,
Subject = "Inserted text 2",
Title = "Aspose User",
Color = Aspose.Pdf.Color.Blue
};
// Create StrikeOut Annotation
var strikeOutAnnotation = new Aspose.Pdf.Annotations.StrikeOutAnnotation(document.Pages[1],
new Rectangle(318.407, 727.826, 368.916, 740.098))
{
Color = Aspose.Pdf.Color.Blue,
QuadPoints = new[] {
new Point(321.66, 739.416),
new Point(365.664, 739.416),
new Point(321.66, 728.508),
new Point(365.664, 728.508)
},
Subject = "Cross-out",
InReplyTo = caretAnnotation2,
ReplyType = Aspose.Pdf.Annotations.ReplyType.Group
};
document.Pages[1].Annotations.Add(caretAnnotation1);
document.Pages[1].Annotations.Add(caretAnnotation2);
document.Pages[1].Annotations.Add(strikeOutAnnotation);
// Save PDF document
document.Save(dataDir + "AddCaretAnnotations_out.pdf");
}
}
Please try using the following code snippet to Get Caret Annotation in PDF document:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GetCaretAnnotation()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_caret.pdf"))
{
// Get Caret annotations from the first page
var caretAnnotations = document.Pages[1].Annotations
.Where(a => a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Caret)
.Cast<Aspose.Pdf.Annotations.CaretAnnotation>();
// Iterate through the annotations and print their details
foreach (var ca in caretAnnotations)
{
Console.WriteLine($"{ca.Rect}");
}
}
}
The following code snippet shows how Delete Caret Annotation from a PDF file.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DeleteCaretAnnotation()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_caret.pdf"))
{
// Get Caret annotations from the first page
var caretAnnotations = document.Pages[1].Annotations
.Where(a => a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Caret)
.Cast<Aspose.Pdf.Annotations.CaretAnnotation>();
// Delete each Caret annotation
foreach (var ca in caretAnnotations)
{
document.Pages[1].Annotations.Delete(ca);
}
// Save PDF document after deleting annotations
document.Save(dataDir + "DeleteCaretAnnotation_out.pdf");
}
}
Aspose.PDF for .NET supports the feature to add as well as manipulate Annotations in an existing PDF file. Recently some of our customers posted a required to redact (remove text, image, etc elements from) a certain page region of PDF document. In order to fulfill this requirement, a class named RedactionAnnotation is provided, which can be used to redact certain page regions or it can be used to manipulate existing RedactionAnnotations and redact them (i.e. flatten annotation and remove the text under it).
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RedactPage()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Create RedactionAnnotation instance for a specific page region
var annot = new Aspose.Pdf.Annotations.RedactionAnnotation(document.Pages[1], new Aspose.Pdf.Rectangle(200, 500, 300, 600));
annot.FillColor = Aspose.Pdf.Color.Green;
annot.BorderColor = Aspose.Pdf.Color.Yellow;
annot.Color = Aspose.Pdf.Color.Blue;
// Text to be printed on the redact annotation
annot.OverlayText = "REDACTED";
annot.TextAlignment = Aspose.Pdf.HorizontalAlignment.Center;
// Repeat Overlay text over the redact Annotation
annot.Repeat = true;
// Add annotation to the annotations collection of the first page
document.Pages[1].Annotations.Add(annot);
// Flattens annotation and redacts page contents (i.e., removes text and image under the redacted annotation)
annot.Redact();
// Save the result document
document.Save(dataDir + "RedactPage_out.pdf");
}
}
Aspose.Pdf.Facades namespace also has a class named PdfAnnotationEditor which provides the feature to manipulate existing Annotations inside PDF file. This class contains a method named RedactArea(..) which provides the capability to remove certain page regions.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RedactPageWithFacadesApproach()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Create an instance of PdfAnnotationEditor
using (var editor = new Aspose.Pdf.Facades.PdfAnnotationEditor())
{
// Redact a specific page region
editor.RedactArea(1, new Aspose.Pdf.Rectangle(100, 100, 20, 70), System.Drawing.Color.White);
// Bind PDF document
editor.BindPdf(dataDir + "input.pdf");
// Save the result document
editor.Save(dataDir + "FacadesApproach_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.