// ===========================================================================
public void Write(Stream stream)
{
// step 1
using (Document document = new Document()) {
// step 2
PdfWriter writer = PdfWriter.GetInstance(document, stream);
writer.PdfVersion = PdfWriter.VERSION_1_6;
// step 3
document.Open();
// step 4
PdfContentByte cb = writer.DirectContent;
PdfLayer dog = new PdfLayer("layer 1", writer);
PdfLayer tiger = new PdfLayer("layer 2", writer);
PdfLayer lion = new PdfLayer("layer 3", writer);
PdfLayerMembership cat = new PdfLayerMembership(writer);
PdfVisibilityExpression ve1 = new PdfVisibilityExpression(
PdfVisibilityExpression.OR
);
ve1.Add(tiger);
ve1.Add(lion);
cat.VisibilityExpression = ve1;
PdfLayerMembership no_cat = new PdfLayerMembership(writer);
PdfVisibilityExpression ve2 = new PdfVisibilityExpression(
PdfVisibilityExpression.NOT
);
ve2.Add(ve1);
no_cat.VisibilityExpression = ve2;
cb.BeginLayer(dog);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, new Phrase("dog"),
50, 775, 0);
cb.EndLayer();
cb.BeginLayer(tiger);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, new Phrase("tiger"),
50, 750, 0);
cb.EndLayer();
cb.BeginLayer(lion);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, new Phrase("lion"),
50, 725, 0);
cb.EndLayer();
cb.BeginLayer(cat);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, new Phrase("cat"),
50, 700, 0);
cb.EndLayer();
cb.BeginLayer(no_cat);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT,
new Phrase("no cat"), 50, 700, 0);
cb.EndLayer();
}
}