public virtual void OcgStateTest() { PdfName stateName = PdfName.ON; PdfDictionary ocgDict1 = new PdfDictionary(); ocgDict1.Put(PdfName.Type, PdfName.OCG); ocgDict1.Put(PdfName.Name, new PdfName("ocg1")); PdfDictionary ocgDict2 = new PdfDictionary(); ocgDict2.Put(PdfName.Type, PdfName.OCG); ocgDict2.Put(PdfName.Name, new PdfName("ocg2")); IList <PdfDictionary> dicts = new List <PdfDictionary>(); dicts.Add(ocgDict1); dicts.Add(ocgDict2); IList <PdfActionOcgState> ocgStates = new List <PdfActionOcgState>(); ocgStates.Add(new PdfActionOcgState(stateName, dicts)); String fileName = "ocgStateTest.pdf"; PdfDocument document = CreateDocument(new PdfWriter(destinationFolder + fileName), false); document.GetPage(1).SetAdditionalAction(PdfName.O, PdfAction.CreateSetOcgState(ocgStates)); document.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + fileName, sourceFolder + "cmp_" + fileName, destinationFolder, "diff_")); }
private static Cell CreateHeaderCell(int c, List <PdfLayer> options) { IList <PdfDictionary> dictList = new List <PdfDictionary>(); dictList.Add(options[c].GetPdfObject()); IList <PdfActionOcgState> list = new List <PdfActionOcgState>(); list.Add(new PdfActionOcgState(PdfName.ON, dictList)); // Create an action to set option content group state. PdfAction action = PdfAction.CreateSetOcgState(list, true); Link link = new Link("Column " + (c + 1), action); Cell cell = new Cell().Add(new Paragraph(link)); return(cell); }