Yes you can -- Here are the basic steps:
1. Create a LayerCollection, add a layer per page, add annotations to the appropriate layer
2. Read each page from the PDF, burn the annotation to it
3. Print the image
If you do step one, use the attached code to do step 2 with this code (some cs files you need are attached):
using System;
using Atalasoft.Imaging.Extras;
using Atalasoft.Annotate.UI;
using Atalasoft.Imaging;
using Atalasoft.Imaging.Codec;
using Atalasoft.Imaging.Codec.Pdf;
using System.Drawing;
using Atalasoft.Annotate;
namespace BurnAnnotOnPDF
{
class Program
{
static void Main(string[] args)
{
// register the PDF Reader
RegisteredDecoders.Decoders.Add(new PdfDecoder());
// create annotations
LayerCollection coll = new LayerCollection();
LayerAnnotation l = new LayerAnnotation();
coll.Add(l);
TextAnnotation t = new TextAnnotation("hello");
t.Data.Location = new PointF(10f, 10f);
t.Data.Size = new SizeF(50f, 50f);
((TextData)t.Data).Fill = new AnnotationBrush(Color.Yellow);
l.Items.Add(t);
// use burned image source to get them
BurnedFileImageSource imgSource = new BurnedFileImageSource(@"answer sheet.pdf", coll);
TiffEncoder asTiff = new TiffEncoder();
asTiff.Append = false;
while (imgSource.HasMoreImages())
{
AtalaImage img = imgSource.AcquireNext();
img.Save("annotated.tiff", asTiff, null); // save to a tiff, you could print it here
asTiff.Append = true;
}
}
}
}