/// <summary>Creates a Set-OCG-State action (section 12.6.4.12 of ISO 32000-1).</summary> /// <param name="states"> /// states a list of /// <see cref="PdfActionOcgState"/> /// state descriptions /// </param> /// <param name="preserveRb"> /// If true, indicates that radio-button state relationships between optional content groups /// should be preserved when the states are applied /// </param> /// <returns>created action</returns> public static iText.Kernel.Pdf.Action.PdfAction CreateSetOcgState(IList <PdfActionOcgState> states, bool preserveRb ) { PdfArray stateArr = new PdfArray(); foreach (PdfActionOcgState state in states) { stateArr.AddAll(state.GetObjectList()); } return(new iText.Kernel.Pdf.Action.PdfAction().Put(PdfName.S, PdfName.SetOCGState).Put(PdfName.State, stateArr ).Put(PdfName.PreserveRB, PdfBoolean.ValueOf(preserveRb))); }
protected internal virtual PdfArray GetFormFields(PdfArray array) { PdfArray fields = new PdfArray(); foreach (PdfObject field in array) { PdfArray kids = ((PdfDictionary)field).GetAsArray(PdfName.Kids); fields.Add(field); if (kids != null) { fields.AddAll(GetFormFields(kids)); } } return(fields); }
private PdfArray GetFormFields(PdfArray array) { PdfArray fields = new PdfArray(); // explicit iteration to resolve indirect references on get(). // TODO DEVSIX-591 for (int i = 0; i < array.Size(); i++) { PdfDictionary field = array.GetAsDictionary(i); PdfArray kids = field.GetAsArray(PdfName.Kids); fields.Add(field); if (kids != null) { fields.AddAll(GetFormFields(kids)); } } return(fields); }