Save a file from the annotation manager in C#
To XMP
Nutrient .NET SDK (formerly GdPicture.NET) lets you export GdPicture/XMP annotations with the SaveAnnotationsToXMP method and the SaveAnnotationsToXMPEx method.
You can use these methods to:
- Save annotations from an image
- Save annotations from one specific page of a multipage document
- Save annotations from all pages of a multipage document
Saving annotations from an image
To save annotations from an image to XML (file or stream), use SaveAnnotationsToXMP.
using GdPicture14;using GdPicture14.Annotations;using System;using System.Drawing;
using AnnotationManager annotationManager = new AnnotationManager();
GdPictureStatus status = annotationManager.InitFromFile(@"C:\temp\source.jpg");if (status != GdPictureStatus.OK){ Console.WriteLine($"InitFromFile failed: {status}"); return;}
AnnotationRubberStamp stamp = annotationManager.AddRubberStampAnnot( Color.Red, 0.5f, 0.5f, 2, 1, "APPROVED");
if (stamp == null){ Console.WriteLine("AddRubberStampAnnot failed."); return;}
stamp.Rotation = 20;
status = annotationManager.SaveAnnotationsToPage();if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToPage failed: {status}"); return;}
status = annotationManager.SaveAnnotationsToXMP(@"C:\temp\output.xml");if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToXMP failed: {status}");}Imports GdPicture14Imports GdPicture14.AnnotationsImports System.Drawing
Using annotationManager As New AnnotationManager() Dim status As GdPictureStatus = annotationManager.InitFromFile("C:\temp\source.jpg") If status <> GdPictureStatus.OK Then Console.WriteLine($"InitFromFile failed: {status}") Return End If
Dim stamp As AnnotationRubberStamp = annotationManager.AddRubberStampAnnot( Color.Red, 0.5F, 0.5F, 2, 1, "APPROVED")
If stamp Is Nothing Then Console.WriteLine("AddRubberStampAnnot failed.") Return End If
stamp.Rotation = 20
status = annotationManager.SaveAnnotationsToPage() If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToPage failed: {status}") Return End If
status = annotationManager.SaveAnnotationsToXMP("C:\temp\output.xml") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToXMP failed: {status}") End IfEnd UsingSaving annotations from a specific page
To save annotations from one page of a multipage document, select the page first, and then call SaveAnnotationsToXMP.
Use the SelectPage method to choose the page in multipage formats like PDF or TIFF.
using GdPicture14;using GdPicture14.Annotations;using System;using System.Drawing;
using AnnotationManager annotationManager = new AnnotationManager();
GdPictureStatus status = annotationManager.InitFromFile(@"C:\temp\source.pdf");if (status != GdPictureStatus.OK){ Console.WriteLine($"InitFromFile failed: {status}"); return;}
status = annotationManager.SelectPage(1);if (status != GdPictureStatus.OK){ Console.WriteLine($"SelectPage failed: {status}"); return;}
AnnotationRubberStamp stamp = annotationManager.AddRubberStampAnnot(Color.Red, 0.5f, 0.5f, 2, 1, "APPROVED");if (stamp == null){ Console.WriteLine("AddRubberStampAnnot failed."); return;}
stamp.Rotation = 20;
status = annotationManager.SaveAnnotationsToPage();if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToPage failed: {status}"); return;}
status = annotationManager.SaveAnnotationsToXMP(@"C:\temp\output.xml");if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToXMP failed: {status}");}Imports GdPicture14Imports GdPicture14.AnnotationsImports System.Drawing
Using annotationManager As New AnnotationManager() Dim status As GdPictureStatus = annotationManager.InitFromFile("C:\temp\source.pdf") If status <> GdPictureStatus.OK Then Console.WriteLine($"InitFromFile failed: {status}") Return End If
status = annotationManager.SelectPage(1) If status <> GdPictureStatus.OK Then Console.WriteLine($"SelectPage failed: {status}") Return End If
Dim stamp As AnnotationRubberStamp = annotationManager.AddRubberStampAnnot(Color.Red, 0.5F, 0.5F, 2, 1, "APPROVED") If stamp Is Nothing Then Console.WriteLine("AddRubberStampAnnot failed.") Return End If
stamp.Rotation = 20
status = annotationManager.SaveAnnotationsToPage() If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToPage failed: {status}") Return End If
status = annotationManager.SaveAnnotationsToXMP("C:\temp\output.xml") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToXMP failed: {status}") End IfEnd UsingSaving annotations from all pages
To save annotations from all pages of a multipage document, use SaveAnnotationsToXMPEx.
using GdPicture14;using GdPicture14.Annotations;using System;using System.Drawing;
using AnnotationManager annotationManager = new AnnotationManager();
GdPictureStatus status = annotationManager.InitFromFile(@"C:\temp\source.pdf");if (status != GdPictureStatus.OK){ Console.WriteLine($"InitFromFile failed: {status}"); return;}
status = annotationManager.SelectPage(1);if (status != GdPictureStatus.OK){ Console.WriteLine($"SelectPage failed: {status}"); return;}
AnnotationRubberStamp stamp = annotationManager.AddRubberStampAnnot(Color.Red, 0.5f, 0.5f, 2, 1, "APPROVED");if (stamp == null){ Console.WriteLine("AddRubberStampAnnot failed."); return;}
stamp.Rotation = 20;
status = annotationManager.SaveAnnotationsToPage();if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToPage failed: {status}"); return;}
status = annotationManager.SaveAnnotationsToXMPEx(@"C:\temp\output.xml");if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAnnotationsToXMPEx failed: {status}");}Imports GdPicture14Imports GdPicture14.AnnotationsImports System.Drawing
Using annotationManager As New AnnotationManager() Dim status As GdPictureStatus = annotationManager.InitFromFile("C:\temp\source.pdf") If status <> GdPictureStatus.OK Then Console.WriteLine($"InitFromFile failed: {status}") Return End If
status = annotationManager.SelectPage(1) If status <> GdPictureStatus.OK Then Console.WriteLine($"SelectPage failed: {status}") Return End If
Dim stamp As AnnotationRubberStamp = annotationManager.AddRubberStampAnnot(Color.Red, 0.5F, 0.5F, 2, 1, "APPROVED") If stamp Is Nothing Then Console.WriteLine("AddRubberStampAnnot failed.") Return End If
stamp.Rotation = 20
status = annotationManager.SaveAnnotationsToPage() If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToPage failed: {status}") Return End If
status = annotationManager.SaveAnnotationsToXMPEx("C:\temp\output.xml") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAnnotationsToXMPEx failed: {status}") End IfEnd Using