Compila il modulo PDF Java

In questi tempi moderni, molti dati vengono raccolti utilizzando moduli e in questo contesto vale la pena menzionare i moduli PDF compilabili. Sono un modo efficiente per raccogliere e organizzare le informazioni. Inoltre, i moduli PDF compilabili vengono ora utilizzati come standard da diverse istituzioni. Ad esempio, alcuni tribunali o una società di approvvigionamento possono utilizzare in modo efficiente moduli PDF compilabili per standardizzare le proprie procedure. Per la creazione di tali applicazioni, Aspose.PDF per l’API Java è l’API più adatta. Curioso di sapere perché? Esaminiamo i seguenti casi d’uso in cui lavoreremo con i moduli PDF in modo programmatico.

Installazione

Puoi andare alla sezione Nuove versioni dove puoi configurare l’API per arricchire le tue applicazioni Java e consentire loro di elaborare documenti PDF, oppure puoi definire la dipendenza nella tua applicazione Maven come sotto:

Archivio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Dipendenza:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

Dopo aver configurato correttamente l’API, passiamo ai seguenti casi d’uso:

Crea moduli PDF compilabili utilizzando Java

È possibile creare moduli PDF compilabili in applicazioni Java seguendo i passaggi seguenti:

  1. Crea un file PDF con una pagina vuota
  2. Aggiungi il campo TextBox e il campo RadioButton nella pagina
  3. Salva il file PDF di output

Il frammento di codice seguente mostra come creare un modulo PDF compilabile da zero utilizzando Java:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// Aggiungi campi modulo alla prima pagina del documento PDF            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//Aggiungi pulsanti di opzione a coordinate di posizione specifiche in PDF
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//Imposta qui la posizione
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

Compila, modifica o elimina campi modulo in PDF esistenti utilizzando Java

Abbiamo imparato a creare un nuovo file PDF compilabile da zero. Procediamo agli scenari in cui vengono elaborati i documenti PDF esistenti:

i) Compila un campo modulo in un file PDF esistente utilizzando Java

Come abbiamo creato il modulo PDF nell’esempio sopra, procediamo con lo stesso documento e riempiamo i campi del modulo in modo programmatico utilizzando Java. Puoi compilare il modulo creato con i passaggi seguenti:

  1. Carica file di input
  2. Inserisci i valori nel campo Casella di testo.
  3. Compila i campi RadioButton selezionando un’opzione
  4. Salva il modulo PDF

Il frammento di codice seguente mostra come compilare moduli compilabili utilizzando Java:

// Apri documento
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// Ottieni i campi
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// Compila i valori dei campi del modulo
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// Ottieni campo pulsante di opzione
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// Specificare l'indice del pulsante di opzione dal gruppo
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// Salva documento aggiornato
pdfDocument.save(dataDir);

ii) Modificare un campo modulo nel documento PDF utilizzando Java

A volte è necessario modificare o aggiornare i valori dei campi in un modulo PDF. Puoi facilmente modificare un modulo PDF compilabile con i passaggi seguenti:

  1. Inizializza il PDF di input
  2. Ottieni un riferimento al campo del modulo con il suo nome
  3. Modifica il modulo PDF
  4. Salva il modulo PDF modificato

Il frammento di codice seguente mostra come aggiornare o modificare un file PDF compilabile utilizzando Java:

// Apri documento
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Prendi un campo
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// Modifica il valore del campo
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// Salva documento aggiornato
pdfDocument.save(dataDir);

iii) Elimina un campo modulo in un file PDF esistente utilizzando Java

Puoi rimuovere o eliminare facilmente un campo modulo nelle tue applicazioni Java. Puoi seguire i passaggi seguenti:

  1. Inizializza un modulo PDF
  2. Elimina il campo del modulo utilizzando il suo nome
  3. Salva il modulo PDF aggiornato

Di seguito il frammento di codice mostra come eliminare un campo modulo dal modulo PDF utilizzando Java:

// Apri documento
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Elimina un campo particolare per nome
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// Salva documento modificato
pdfDocument.save(dataDir);

Conserva i diritti estesi dei moduli PDF utilizzando Java

Potresti notare che alcuni moduli PDF hanno diritti estesi. Sono utilizzati per evitare modifiche al contenuto originale ed è consentita solo la compilazione di moduli. I diritti estesi dei file PDF possono essere interessati quando

Riempi un tale modulo e lo salvi in diverse posizioni del disco. Pertanto, è necessario salvare tali file in modo incrementale con i passaggi seguenti:

  1. Inizializza il modulo PDF
  2. Compila i campi
  3. Salva il documento PDF compilato

Il frammento di codice seguente mostra come preservare i diritti estesi durante la compilazione del modulo PDF, utilizzando Java:

// Istanzia Istanza del documento
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Ottieni valori da tutti i campi
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // Se il nome completo del campo contiene nameBox1, eseguire l'operazione
    if (formField.getFullName().contains("nameBox1"))
    {
        // Trasmetti il campo del modulo come TextBox
        TextBoxField textBoxField = (TextBoxField) formField;
        // Modifica il valore del campo
        textBoxField.setValue("Preserve Extended Features");
    }
}
// Salva il documento aggiornato
pdfDocument.save();

Usa JavaScript nel modulo PDF usando Java

Puoi compilare i campi del modulo PDF compilabili utilizzando Javascript con Aspose.PDF per Java. Dovresti seguire i seguenti passaggi:

  1. Carica documento PDF
  2. Aggiungi un campo in una posizione specifica della pagina
  3. Imposta JavaScript e apri l’azione per il documento Salva file PDF

Il seguente frammento di codice mostra come utilizzare JavaScript nei moduli PDF compilabili:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = nuovo bordo();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// Aggiungi campo al documento
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

Conclusione

Abbiamo imparato come creare moduli PDF compilabili, nonché compilare o modificare i campi del modulo utilizzando l’ambiente Java. Inoltre, abbiamo anche esplorato la conservazione dei diritti estesi nei documenti PDF oltre all’utilizzo di JavaScript su un’azione del documento PDF. In caso di dubbi o problemi, non esitare a contattarci al Forum di supporto gratuito.

Guarda anche