i am trying to create check box and tried with the following code using itext
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.GrayColor;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfFormField;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.RadioCheckField;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class RadioGroupMultiPage1
{
public static final String DEST = "C:\\CheckBox.pdf";
/** Possible values of a Choice field. */
public static final String[] LANGUAGES = {"English", "German", "French", "Spanish", "Dutch"};
public static void main(String[] args) throws DocumentException, IOException
{
File file = new File(DEST);
file.getParentFile().mkdirs();
new RadioGroupMultiPage1().createPdf(DEST);
}
public void createPdf(String dest) throws IOException, DocumentException
{
// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
// step 3
document.open();
// step 4
PdfContentByte cb = writer.getDirectContent();
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
// create a radio field spanning different pages
PdfFormField radiogroup = PdfFormField.createRadioButton(writer, true);
radiogroup.setFieldName("language");
Rectangle rect = new Rectangle(40, 806, 60, 788);
RadioCheckField radio;
PdfFormField radiofield;
for (int page = 0; page < LANGUAGES.length;)
{
radio = new RadioCheckField(writer, rect, null, LANGUAGES[page]);
radio.setBackgroundColor(new GrayColor(0.8f));
radiofield = radio.getRadioField();
radiofield.setPlaceInPage(++page);
radiogroup.addKid(radiofield);
}
writer.addAnnotation(radiogroup);
// add the content
for (int i = 0; i < LANGUAGES.length; i++)
{
cb.beginText();
cb.setFontAndSize(bf, 18);
cb.showTextAligned(Element.ALIGN_LEFT, LANGUAGES[i], 70, 790, 0);
cb.endText();
document.newPage();
}
// step 5
document.close();
}
}
but it is creating only text and i dont even get to see the check box or it is not creating.
I am trying to create something like the following image. also it would be great help if some one helps me as how to read the values back if the check box is selected.
Aucun commentaire:
Enregistrer un commentaire