Java tutorial
import java.io.FileOutputStream; import java.util.ArrayList; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Phrase; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfLayer; import com.lowagie.text.pdf.PdfWriter; public class MainClass { public static void main(String[] args) throws Exception { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf")); writer.setPdfVersion(PdfWriter.VERSION_1_5); document.open(); PdfLayer a1 = new PdfLayer("answer 1", writer); a1.setOn(false); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); PdfContentByte cb = writer.getDirectContent(); cb.beginText(); cb.setTextMatrix(50, 790); cb.setLeading(24); cb.setFontAndSize(bf, 18); cb.newlineShowText("This is a question?"); cb.beginLayer(a1); cb.setRGBColorFill(0xFF, 0x00, 0x00); cb.newlineShowText("This is the answer"); cb.resetRGBColorFill(); cb.endLayer(); cb.endText(); ArrayList stateOn = new ArrayList(); stateOn.add("ON"); stateOn.add(a1); PdfAction actionOn = PdfAction.setOCGstate(stateOn, true); ArrayList stateOff = new ArrayList(); stateOff.add("OFF"); stateOff.add(a1); PdfAction actionOff = PdfAction.setOCGstate(stateOff, true); ArrayList stateToggle = new ArrayList(); stateToggle.add("Toggle"); stateToggle.add(a1); PdfAction actionToggle = PdfAction.setOCGstate(stateToggle, true); Phrase p = new Phrase("Change the state of the answers:"); Chunk on = new Chunk(" on ").setAction(actionOn); p.add(on); Chunk off = new Chunk("/ off ").setAction(actionOff); p.add(off); Chunk toggle = new Chunk("/ toggle").setAction(actionToggle); p.add(toggle); document.add(p); document.close(); } }