internal static String ConvertFlagsToString(PdfAnnotation pdfAnnotation) { IList <String> flagsList = new List <String>(); StringBuilder stb = new StringBuilder(); if (pdfAnnotation.HasFlag(PdfAnnotation.INVISIBLE)) { flagsList.Add(XfdfConstants.INVISIBLE); } if (pdfAnnotation.HasFlag(PdfAnnotation.HIDDEN)) { flagsList.Add(XfdfConstants.HIDDEN); } if (pdfAnnotation.HasFlag(PdfAnnotation.PRINT)) { flagsList.Add(XfdfConstants.PRINT); } if (pdfAnnotation.HasFlag(PdfAnnotation.NO_ZOOM)) { flagsList.Add(XfdfConstants.NO_ZOOM); } if (pdfAnnotation.HasFlag(PdfAnnotation.NO_ROTATE)) { flagsList.Add(XfdfConstants.NO_ROTATE); } if (pdfAnnotation.HasFlag(PdfAnnotation.NO_VIEW)) { flagsList.Add(XfdfConstants.NO_VIEW); } if (pdfAnnotation.HasFlag(PdfAnnotation.READ_ONLY)) { flagsList.Add(XfdfConstants.READ_ONLY); } if (pdfAnnotation.HasFlag(PdfAnnotation.LOCKED)) { flagsList.Add(XfdfConstants.LOCKED); } if (pdfAnnotation.HasFlag(PdfAnnotation.TOGGLE_NO_VIEW)) { flagsList.Add(XfdfConstants.TOGGLE_NO_VIEW); } foreach (String flag in flagsList) { stb.Append(flag).Append(","); } String result = stb.ToString(); return(result.Length > 0 ? result.JSubstring(0, result.Length - 1) : null); }