Denna korta handledning beskriver processen för att extrahera data från PDF-formulär med Java. Den innehåller detaljer om hur du konfigurerar IDE, en steg-för-steg-lista för att skriva programmet och en exempelkod som visar hur du exporterar data från PDF-formulär med Java. Detaljer presenteras för att komma åt alla eller valda fält i formuläret och bearbeta dem efter behov.
Steg för att extrahera data från PDF-formulärfält med Java
- Konfigurera IDE för att använda Aspose.PDF for Java för att extrahera formulärdata
- Skapa en PDF-fil med textfält och exempeldata
- Ladda PDF-filen med formulär och inmatningsfält till Document-objektet
- Få tillgång till samlingen av fält i formuläret från det laddade dokumentet
- Gå igenom alla fält och hämta det fullständiga namnet och värdet för att visa på konsolen
Dessa steg förklarar hur man extraherar formulärfält från PDF med Java. Skapa en PDF-fil med formulärfält och exempeldata eller ladda en befintlig fil med formulärdata. Få tillgång till fältsamlingen från formuläregenskapen i dokumentet, gå igenom alla fält och visa de önskade egenskaperna.
Exempelkod för att extrahera data från ifyllningsbara PDF-formulär med Java
import com.aspose.pdf.*; | |
public class Main { | |
public static void main(String[] args) throws Exception { | |
// Load Aspose PDF license | |
License license = new License(); | |
license.setLicense("license.lic"); | |
// Generate PDF with input fields | |
createPdfWithFields(); | |
// Open and process the generated PDF file | |
Document pdfDocument = new Document("UserForm.pdf"); | |
// Retrieve and display form fields | |
Field[] formFields = pdfDocument.getForm().getFields(); | |
for (Field formField : formFields) { | |
System.out.println("Field Name: " + formField.getFullName()); | |
System.out.println("Field Content: " + formField.getValue()); | |
} | |
// Release resources | |
pdfDocument.close(); | |
} | |
private static void createPdfWithFields() { | |
// Instantiate new PDF document | |
Document pdfFile = new Document(); | |
for (int pageIndex = 1; pageIndex <= 3; pageIndex++) { | |
Page newPage = pdfFile.getPages().add(); | |
for (int fieldIndex = 1; fieldIndex <= 4; fieldIndex++) { | |
// Define a text input field | |
TextBoxField inputField = new TextBoxField(newPage, | |
new Rectangle(120, fieldIndex * 90, 320, (fieldIndex + 1) * 90)); | |
inputField.setPartialName("inputField_" + pageIndex + "_" + fieldIndex); | |
inputField.setValue("Data Entry " + pageIndex + "-" + fieldIndex); | |
// Attach field to the document form | |
pdfFile.getForm().add(inputField, pageIndex); | |
} | |
} | |
// Save document to disk | |
pdfFile.save("UserForm.pdf"); | |
// Free resources | |
pdfFile.close(); | |
} | |
} |
Denna kod har visat hur man extraherar data från PDF-formulär med Java. Du kan komma åt olika egenskaper från formuläret, såsom fältets alternativa namn, mappningsnamn, innehåll, partiellt namn, aktivt tillstånd, markerat tillståndsnamn, sidindex, etc. För att endast komma åt valda fält, använd fältindex, till exempel formFields[1].getValue()
för att komma åt värdet för det första fältet.
I den här artikeln har vi bearbetat formulär i en PDF-fil. För att extrahera teckensnitt från en PDF-fil, se artikeln Extrahera teckensnitt från PDF med Java.