I dessa moderna tider samlas mycket data in med hjälp av formulär och ifyllbara PDF-formulär är värda att nämna i sammanhanget. De är ett effektivt sätt att samla in och ordna information. Dessutom används nu ifyllbara PDF-formulär som standard av olika institutioner. Till exempel kan en domstol eller ett upphandlingsföretag effektivt använda ifyllbara PDF-formulär för att standardisera sina förfaranden. För att skapa sådana applikationer är Aspose.PDF för Java API det mest lämpliga API:et. Nyfiken på varför? Låt oss utforska följande användningsfall där vi kommer att arbeta med PDF-formulär programmatiskt.
Installation
Du kan gå till avsnittet New Releases där du kan konfigurera API:et för att berika dina Java-applikationer och göra det möjligt för dem att bearbeta PDF-dokument, eller så kan du definiera beroendet i din Maven-applikation enligt:
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.7</version>
</dependency>
Efter att ha lyckats konfigurera API:t, låt oss gå vidare till följande användningsfall:
- Skapa ifyllbara PDF-formulär med Java
- Fyll i ett formulärfält i befintlig PDF-fil med Java
- Ändra ett formulärfält i PDF-dokument med Java
- Ta bort ett formulärfält i befintlig PDF-fil med Java
- Bevara utökade rättigheter för PDF-formulär med Java
- Använd JavaScript i PDF-format med Java
Skapa ifyllbara PDF-formulär med Java
Du kan skapa ett ifyllbart PDF-formulär i Java-applikationer genom att följa stegen nedan:
- Skapa en PDF-fil med en tom sida
- Lägg till fältet TextBox och fältet RadioButton på sidan
- Spara den utgående PDF-filen
Kodavsnittet nedan visar hur du skapar ett ifyllbart PDF-formulär från början med 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));
// Lägg till formulärfält på första sidan i PDF-dokumentet
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);
//Lägg till radioknappar vid specifika positionskoordinater i PDF
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//Ställ in position här
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");
Fyll, ändra eller ta bort formulärfält i befintlig PDF med Java
Vi har lärt oss att skapa en ny ifyllbar PDF-fil från grunden. Låt oss gå vidare till scenarier där befintliga PDF-dokument bearbetas:
i) Fyll i ett formulärfält i befintlig PDF-fil med Java
Liksom vi har skapat PDF-formuläret i exemplet ovan, låt oss fortsätta med samma dokument och fylla i formulärfälten programmatiskt med Java. Du kan fylla i det skapade formuläret med följande steg:
- Ladda indatafil
- Fyll i värden i fältet TextBox
- Fyll i fälten RadioButton genom att välja ett alternativ
- Spara PDF-formulär
Kodavsnittet nedan visar hur du fyller ifyllbara formulär med Java:
// Öppna dokumentet
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");
// Få fälten
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// Fyll i formulärfältens värden
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");
// Hämta alternativknappsfält
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// Ange indexet för alternativknappen från gruppen
radioField.setSelected(1);
dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// Spara uppdaterat dokument
pdfDocument.save(dataDir);
ii) Ändra ett formulärfält i PDF-dokument med Java
Ibland behöver vi redigera eller uppdatera fältvärden i ett PDF-formulär. Du kan enkelt redigera ett ifyllbart PDF-formulär med stegen nedan:
- Initiera indata-PDF
- Få en referens till formulärfältet med dess namn
- Redigera PDF-formuläret
- Spara redigerat PDF-formulär
Kodavsnittet nedan visar hur man uppdaterar eller redigerar en ifyllbar PDF-fil med Java:
// Öppna dokumentet
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Skaffa ett fält
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// Ändra fältvärdet
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// Spara uppdaterat dokument
pdfDocument.save(dataDir);
iii) Ta bort ett formulärfält i befintlig PDF-fil med Java
Du kan enkelt ta bort eller ta bort ett formulärfält i dina Java-applikationer. Du kan följa stegen nedan:
- Initiera ett PDF-formulär
- Ta bort formulärfältet med dess namn
- Spara uppdaterat PDF-formulär
Nedan kodavsnitt visar hur man tar bort ett formulärfält från PDF-formulär med Java:
// Öppna dokumentet
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Ta bort ett visst fält efter namn
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// Spara ändrat dokument
pdfDocument.save(dataDir);
Bevara utökade rättigheter för PDF-formulär med Java
Du kanske märker att vissa PDF-formulär har utökade rättigheter. De används för att undvika ändringar i originalinnehållet och endast ifyllning av formulär är tillåtet. Utökade rättigheter för PDF-filer kan påverkas när
Du fyller i ett sådant formulär och sparar det på olika platser på disken. Därför måste vi spara sådana filer stegvis med följande steg:
- Initiera PDF-formulär
- Fyll i fälten
- Spara det ifyllda PDF-dokumentet
Kodavsnittet nedan visar hur du bevarar utökade rättigheter när du fyller i PDF-formulär med Java:
// Instantiera dokumentinstans
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Få värden från alla fält
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
// Om fältets fullständiga namn innehåller nameBox1, utför åtgärden
if (formField.getFullName().contains("nameBox1"))
{
// Cast formulärfält som TextBox
TextBoxField textBoxField = (TextBoxField) formField;
// Ändra fältvärdet
textBoxField.setValue("Preserve Extended Features");
}
}
// Spara det uppdaterade dokumentet
pdfDocument.save();
Använd JavaScript i PDF-format med Java
Du kan fylla i de ifyllbara PDF-formulärfälten med Javascript med Aspose.PDF för Java. Du bör följa följande steg:
- Ladda PDF-dokument
- Lägg till ett fält på specifik sidplats
- Ställ in JavaScript och öppna åtgärden för dokumentet Spara PDF-fil
Följande kodavsnitt visar hur du använder JavaScript i ifyllbara PDF-formulär:
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 = new Border();
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));
// Lägg till fält i dokumentet
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");
Slutsats
Vi har lärt oss hur man skapar ifyllbara PDF-formulär, samt fyller eller redigerar formulärfälten med hjälp av Java-miljön. Dessutom har vi också utforskat hur vi kan bevara de utökade rättigheterna i PDF-dokument förutom att använda JavaScript på en PDF-dokumentåtgärd. Om du har några problem eller problem, var god kontakta oss på Free Support Forum.