Java tutorial
import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.pdf.PdfArray; import com.lowagie.text.pdf.PdfDictionary; import com.lowagie.text.pdf.PdfLayer; import com.lowagie.text.pdf.PdfLayerMembership; import com.lowagie.text.pdf.PdfName; import com.lowagie.text.pdf.PdfOCProperties; import com.lowagie.text.pdf.PdfObject; import com.lowagie.text.pdf.PdfString; import com.lowagie.text.pdf.PdfWriter; public class LayersGroupPDF { public static void main(String[] args) { Document document = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("LayersGroupPDF.pdf")); writer.setPdfVersion(PdfWriter.VERSION_1_5); writer.setViewerPreferences(PdfWriter.PageModeUseOC); document.open(); PdfLayer l1 = new PdfLayer("Layer 1", writer); PdfLayer l2 = new PdfLayer("Layer 2", writer); PdfLayer l3 = new PdfLayer("Layer 3", writer); PdfLayerMembership m1 = new PdfLayerMembership(writer); m1.addMember(l1); m1.addMember(l2); m1.addMember(l3); PdfOCProperties p = writer.getOCProperties(); PdfArray order = new PdfArray(); order.add(l1.getRef()); PdfArray group = new PdfArray(); group.add(new PdfString("A group of two", PdfObject.TEXT_UNICODE)); group.add(l2.getRef()); group.add(l3.getRef()); order.add(group); PdfDictionary d = new PdfDictionary(); d.put(PdfName.ORDER, order); p.put(PdfName.D, d); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); } }