Publicando formulários em PDF via Java

Aspose.PDF for Java suporta a criação de botões de envio baseados em facade e baseados em DOM.

Adicionar um botão de envio com FormEditor

  1. Crie um FormEditor fachada para o documento PDF de origem.
  2. Adicione o objeto do botão de envio configurado através da FormEditor fachada.
  3. Salve o documento PDF atualizado.
public static void addSubmitButton(Path inputFile, Path outputFile) {
    FormEditor editor = new FormEditor();
    editor.bindPdf(inputFile.toString());
    try {
        editor.addSubmitBtn("submitbutton", 1, "Submit", "http://localhost/testing/show",
                100, 450, 150, 475);
        editor.save(outputFile.toString());
    } finally {
        editor.close();
    }
}

Adicionar uma ação de envio manualmente

  1. Abra o PDF de origem em um objeto Document.
  2. Crie o SubmitFormAction e URL FileSpecification.
  3. Crie o ButtonField no alvo Page e atribua a ação de envio.
  4. Salve o PDF atualizado Document.
public static void addSubmitAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        SubmitFormAction submitAction = new SubmitFormAction();
        submitAction.setUrl(new FileSpecification("http://localhost:3000/submit"));
        submitAction.setFlags(SubmitFormAction.EXPORT_FORMAT | SubmitFormAction.SUBMIT_COORDINATES);

        ButtonField submitButton = new ButtonField(document.getPages().get_Item(1), new Rectangle(10, 10, 100, 40));
        submitButton.setPartialName("SubmitButton");
        submitButton.setValue("Submit");
        submitButton.getPdfActions().add(submitAction);

        document.getForm().add(submitButton, 1);
        document.save(outputFile.toString());
    }
}