HTML JPG PDF XML DOCX
  Product Family
PDF

Add Annotations in PDF via .NET SDK

API for insert annotations in PDF documents with .NET

Get Started

How to insert new annotations in PDF documents using Cloud .NET SDK

In order to work with annotations in PDF documents via Cloud .NET SDK , we’ll use Aspose.PDF Cloud .NET SDK This Cloud SDK allows you to easily build cloud-based PDF creator, editor & converter apps in C#, ASP.NET, or other .NET languages for various cloud platforms. Open NuGet package manager, search for Aspose.PDF Cloud and install. You may also use the following command from the Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Pdf-Cloud
     

Steps to add annotations using .NET SDK

Aspose.PDF Cloud developers can easily load & append annotations to PDF documents in just a few lines of code.

  1. Uploads the PDF.
  2. Creates a styled text box (with fonts, colors, alignment).
  3. Submits the annotation to the specified page.
  4. Downloads the modified document for local use.
 

This sample code shows adding annotations to PDF document


    public static async Task AddTextAnnotation()
    {
        const string localPdfDocument = @"C:\Samples\sample.pdf";
        const string storageFileName = "sample.pdf";
        const string localFolder = @"C:\\Samples";
        const string resultFileName = "output_add_text_annotation.pdf";
        const int pageNumber = 1;
    
        // Get your AppSid and AppSecret from https://dashboard.aspose.cloud (free registration required).            
        var pdfApi = new PdfApi(AppSecret, AppSid);
    
        var filesOnStorage = await pdfApi.GetFilesListAsync("");
        if (filesOnStorage.Value.All(f => f.Name != storageFileName))
        {
            using var file = File.OpenRead(localPdfDocument);
            var uploadResult = await pdfApi.UploadFileAsync(storageFileName, file);
            Console.WriteLine(uploadResult.Uploaded[0]);
        }
    
        List<TextAnnotation> annotations = new List<TextAnnotation>
        {
            new TextAnnotation(
                Rect: new Rectangle(100, 450, 450,500),
                Color: new Color( A: 0xFF, R: 0x00, G: 0xFF, B: 0x00),
                Flags: new List<AnnotationFlags>() { AnnotationFlags.Default },
                HorizontalAlignment: HorizontalAlignment.Left,
                RichText:                       "NEW TEXT ANNOTATION 2",
                Subject:                        "Text Box Subject 2",
                Contents:                       "Text annotation sample contents 2",
                Title:                          "This is a text annotation 2",
                ZIndex: 1,
                Icon: TextIcon.Key,
                Modified: "03/27/2025 00:00:00.000 AM"
            )
        };
    
        AsposeResponse response = await pdfApi.PostPageTextAnnotationsAsync(storageFileName, pageNumber, annotations);
    
        if (response == null)
            Console.WriteLine("NewTextAnnotation(): Unexpected error!");
        else if (response.Code < 200 || response.Code > 299)
            Console.WriteLine("NewTextAnnotation(): Failed to append text annotation to the document.");
        else
        {
            await (await pdfApi.DownloadFileAsync(storageFileName))
                .CopyToAsync(File.Create(Path.Combine(localFolder, resultFileName)));
            Console.WriteLine("NewTextAnnotation(): annotation added to the document '{0}.", resultFileName);
        }
    }