iTextSharp.text.pdf.PdfAction.SetOCGstate C# (CSharp) Метод

SetOCGstate() публичный статический Метод

public static SetOCGstate ( List state, bool preserveRB ) : PdfAction
state List
preserveRB bool
Результат PdfAction
        public static PdfAction SetOCGstate(List<Object> state, bool preserveRB)
        {
            PdfAction action = new PdfAction();
            action.Put(PdfName.S, PdfName.SETOCGSTATE);
            PdfArray a = new PdfArray();
            for (int k = 0; k < state.Count; ++k) {
                Object o = state[k];
                if (o == null)
                    continue;
                if (o is PdfIndirectReference)
                    a.Add((PdfIndirectReference)o);
                else if (o is PdfLayer)
                    a.Add(((PdfLayer)o).Ref);
                else if (o is PdfName)
                    a.Add((PdfName)o);
                else if (o is String) {
                    PdfName name = null;
                    String s = (String)o;
                    if (Util.EqualsIgnoreCase(s, "on"))
                        name = PdfName.ON;
                    else if (Util.EqualsIgnoreCase(s, "off"))
                        name = PdfName.OFF;
                    else if (Util.EqualsIgnoreCase(s, "toggle"))
                        name = PdfName.TOGGLE;
                    else
                        throw new ArgumentException(MessageLocalization.GetComposedMessage("a.string.1.was.passed.in.state.only.on.off.and.toggle.are.allowed", s));
                    a.Add(name);
                }
                else
                    throw new ArgumentException(MessageLocalization.GetComposedMessage("invalid.type.was.passed.in.state.1", o.GetType().ToString()));
            }
            action.Put(PdfName.STATE, a);
            if (!preserveRB)
                action.Put(PdfName.PRESERVERB, PdfBoolean.PDFFALSE);
            return action;
        }