AcroForm 만들기 - Java로 채울 수 있는 PDF 만들기
Contents
[
Hide
]
Aspose.PDF for Java를 사용하면 처음부터 광범위한 AcroForm 필드 유형을 만들 수 있습니다.
텍스트 상자 필드 만들기
새 PDF 양식에 한 줄 텍스트 입력 필드를 추가해야 할 때 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. - 대상 직사각형이 있는
TextBoxField를 만들고 모양을 구성하세요. - 양식에 필드를 추가하고 문서를 저장하세요.
public static void addTextBoxField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Rectangle rectangle = new Rectangle(10, 600, 110, 620, true);
TextBoxField textBoxField = new TextBoxField(page, rectangle);
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
textBoxField.setDefaultAppearance(new DefaultAppearance("Arial", 10, Color.getDarkBlue().toRgb()));
Border border = new Border(textBoxField);
border.setWidth(1);
border.setStyle(BorderStyle.Dashed);
border.setDash(new Dash(3, 3));
textBoxField.setBorder(border);
textBoxField.getCharacteristics().setBorder(Color.getRed());
textBoxField.getCharacteristics().setBackground(Color.getYellow().toRgb());
document.getForm().add(textBoxField, 1);
document.save(outputFile.toString());
}
}
여러 위젯이 포함된 텍스트 상자 필드 만들기
동일한 텍스트 필드 값이 페이지의 여러 위치에 표시되어야 하는 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. - 필드 위젯에 대한 여러 직사각형과 모양을 정의하세요.
TextBoxField를 생성하고 각 위젯을 구성한 후 문서를 저장하세요.
public static void addTextBoxFieldNt(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Rectangle[] rects = {
new Rectangle(10, 600, 110, 620, true),
new Rectangle(10, 630, 110, 650, true),
new Rectangle(10, 660, 110, 680, true)
};
DefaultAppearance[] defaultAppearances = {
new DefaultAppearance("Arial", 10, Color.getDarkBlue().toRgb()),
new DefaultAppearance("Helvetica", 12, Color.getDarkGreen().toRgb()),
new DefaultAppearance(FontRepository.findFont("Calibri"), 14, Color.getDarkMagenta().toRgb())
};
TextBoxField textBoxField = new TextBoxField(page, rects);
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Some text");
int index = 0;
for (WidgetAnnotation widget : textBoxField) {
widget.setDefaultAppearance(defaultAppearances[index]);
index++;
}
Border border = new Border(textBoxField);
border.setWidth(1);
border.setStyle(BorderStyle.Dashed);
border.setDash(new Dash(3, 3));
textBoxField.setBorder(border);
textBoxField.getCharacteristics().setBorder(Color.getRed());
textBoxField.getCharacteristics().setBackground(Color.getYellow().toRgb());
document.getForm().add(textBoxField);
document.save(outputFile.toString());
}
}
라디오 버튼 필드 생성
양식에서 사용자가 사전 정의된 세트에서 하나의 옵션을 선택할 수 있도록 해야 하는 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. RadioButtonField를 만들고 필요한 옵션을 추가하세요.- 양식에 필드를 추가하고 PDF를 저장하세요.
public static void addRadioButton(Path outputFile) {
try (Document document = new Document()) {
document.getPages().add();
RadioButtonField radio = new RadioButtonField(document.getPages().get_Item(1));
radio.addOption("Option 1", new Rectangle(100, 640, 120, 680, true));
radio.addOption("Option 2", new Rectangle(140, 640, 160, 680, true));
document.getForm().add(radio);
document.save(outputFile.toString());
}
}
콤보 상자 필드 만들기
사용자가 드롭다운 목록에서 하나의 값을 선택해야 하는 경우 이 예를 사용합니다.
- 새 PDF
Document를 만들고 페이지를 추가하세요. ComboBoxField를 만들고 선택 가능한 옵션을 추가하세요.- 기본 선택을 설정하고 문서를 저장하세요.
public static void addComboBox(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
ComboBoxField combo = new ComboBoxField(page, new Rectangle(100, 640, 150, 656, true));
combo.addOption("Red");
combo.addOption("Yellow");
combo.addOption("Green");
combo.addOption("Blue");
combo.setSelected(3);
document.getForm().add(combo);
document.save(outputFile.toString());
}
}
체크박스 필드 생성
양식에 동의 또는 기능 선택과 같은 참 또는 거짓 옵션이 필요한 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. CheckboxField를 생성하고 모양을 구성하세요.- 양식에 확인란을 추가하고 출력 파일을 저장하세요.
public static void addCheckboxFieldToPdf(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
CheckboxField checkbox = new CheckboxField(page, new Rectangle(50, 620, 100, 650, true));
checkbox.getCharacteristics().setBackground(Color.getAqua().toRgb());
checkbox.setStyle(BoxStyle.Circle);
document.getForm().add(checkbox);
document.save(outputFile.toString());
}
}
목록 상자 필드 만들기
양식이 표시 목록에 사용 가능한 여러 선택 항목을 표시해야 하는 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. ListBoxField를 만들고 사용 가능한 옵션을 추가하세요.- 양식에 필드를 추가하고 문서를 저장하세요.
public static void addListBoxFieldToPdf(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
ListBoxField listBox = new ListBoxField(page, new Rectangle(50, 650, 100, 700, true));
listBox.setPartialName("list");
listBox.addOption("Red");
listBox.addOption("Green");
listBox.addOption("Blue");
document.getForm().add(listBox);
document.save(outputFile.toString());
}
}
서명 필드 만들기
문서에서 디지털 서명을 위해 표시 영역을 예약해야 하는 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. - 필요한 직사각형에
SignatureField를 만드세요. - 양식에 필드를 추가하고 출력 PDF를 저장하세요.
public static void addSignatureField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
SignatureField signatureField = new SignatureField(page, new Rectangle(100, 700, 200, 800, true));
signatureField.setPartialName("Signature1");
document.getForm().add(signatureField);
document.save(outputFile.toString());
}
}
바코드 필드 생성
양식이 바코드 필드 내부에 기계 판독 가능 데이터를 표시해야 하는 경우 이 예를 사용하세요.
- 새 PDF
Document를 만들고 페이지를 추가하세요. BarcodeField를 생성하고 바코드 값을 추가하세요.- 양식에 필드를 추가하고 문서를 저장하세요.
public static void addBarcodeField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
BarcodeField barcode = new BarcodeField(page, new Rectangle(100, 700, 200, 740, true));
barcode.setPartialName("Barcode1");
barcode.addBarcode("1234567890");
document.getForm().add(barcode);
document.save(outputFile.toString());
}
}