Attach a file to a PDF in C#

Nutrient .NET SDK (formerly GdPicture.NET) enables you to attach a file to a PDF in the form of an annotation.

To attach a file to a PDF, follow the steps below.

  1. Create a GdPicturePDF object.
  2. Specify the origin of the coordinate system with the SetOrigin method. It requires the PdfOrigin enumeration, which accepts the following values:
  • PdfOriginTopLeft
  • PdfOriginTopRight
  • PdfOriginBottomRight
  • PdfOriginBottomLeft
  1. Set the measurement unit used to specify the dimensions of the annotation. The SetMeasurementUnit method takes a member of the PdfMeasurementUnit enumeration as an argument. It accepts the following values:

    • PdfMeasurementUnitCentimeter
    • PdfMeasurementUnitMillimeter
    • PdfMeasurementUnitInch
    • PdfMeasurementUnitPoint
    • PdfMeasurementUnitUndefined
  2. Open the file you want to attach in the form of a byte array.

    The file you want to attach must be a binary file.

  3. Select the PDF page where you want to add the annotation using the SelectPage method.

  4. Use the AddFileAttachmentAnnot method. It accepts the following parameters:

  • Left — X coordinate of the top-left corner.
  • Top — Y coordinate of the top-left corner.
  • Width — Width of the annotation icon.
  • Height — Height of the annotation icon.
  • Data — The content of the file associated with the annotation object, which is expressed as a binary value.
  • FileName — Name of the attached file.
  • Title — Title of the annotation.
  • Description — Annotation description.
  • color:
    • Red, Green, Blue — RGB values (from 0 to 255).
    • Cyan, Magenta, Yellow, Black — CMYK values (from 0 to 255).
    • Color object — For more information, refer to the color object guide.
  • Opacity — Opacity value of the annotation, where 0 means full transparency and 1 means fully visible. Use the f suffix to convert the double value to float (0.75f).
  • AnnotIcon — Icon type displayed. This uses the PdfFileAttachmentAnnotIcon enumeration. The possible values are the following:
    • None
    • Graph
    • Tag
    • Paperclip
    • PushPin

To add an image file as an annotation to the last page of a PDF, use the following code:

using GdPicturePDF gdpicturePDF = new GdPicturePDF();
string filename = @"C:\temp\source.jpg";
gdpicturePDF.LoadFromFile(@"C:\temp\source.pdf");
// Set the origin of the coordinate system to the bottom-left corner.
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginBottomLeft);
// Set the measurement unit to centimeters.
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
// Load the image file as a binary array.
byte[] data = File.ReadAllBytes(filename);
// Select the page to attach the file to.
gdpicturePDF.SelectPage(gdpicturePDF.GetPageCount());
// Add an annotation with the image file.
int annotID = gdpicturePDF.AddFileAttachmentAnnot(Left: 5, Top: 5,
Width: 2, Height: 4, data, filename, "Attachment", "Attachment for review",
Color.DarkBlue, 0.75f, PdfFileAttachmentAnnotIcon.Paperclip);
gdpicturePDF.SaveToFile(@"C:\temp\output.pdf");