Importer et exporter des données de formulaire
Aspose.PDF for Java prend en charge plusieurs formats d’échange de données courants pour les formulaires interactifs.
Importer des données de formulaire à partir de XML
Utilisez cet exemple lorsque les valeurs du formulaire sont stockées dans un fichier XML et doivent être appliquées à un formulaire PDF.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux d’entrée XML et importez les données dans le formulaire.
- Enregistrez le document PDF mis à jour.
public static void importDataFromXml(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importXml(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Exporter les données du formulaire vers XML
Utilisez cet exemple lorsque vous devez stocker les valeurs AcroForm actuelles au format XML.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux de sortie du fichier XML.
- Exportez les données du formulaire au format XML.
public static void exportDataToXml(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportXml(stream);
} finally {
form.close();
}
}
Importer les données du formulaire depuis FDF
Utilisez cet exemple lorsque les valeurs du formulaire arrivent au format d’échange FDF.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux d’entrée FDF et importez les données.
- Enregistrez le document PDF rempli.
public static void importDataFromFdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importFdf(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Exporter les données du formulaire vers FDF
Utilisez cet exemple lorsque les valeurs du formulaire PDF doivent être partagées sous forme de fichier FDF.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux de sortie du fichier FDF.
- Exportez les données du formulaire au format FDF.
public static void exportDataToFdf(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportFdf(stream);
} finally {
form.close();
}
}
Importer des données de formulaire depuis XFDF
Utilisez cet exemple lorsque les données du formulaire sont fournies au format XFDF et doivent être fusionnées dans un PDF.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux d’entrée XFDF et importez les valeurs.
- Enregistrez le document PDF mis à jour.
public static void importDataFromXfdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importXfdf(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Exporter les données du formulaire vers XFDF
Utilisez cet exemple lorsque vous avez besoin d’un fichier d’échange XML pour les valeurs AcroForm.
- Créez une façade Form et liez le PDF source.
- Ouvrez le flux de sortie du fichier XFDF.
- Exportez les valeurs actuelles du formulaire vers XFDF.
public static void exportDataToXfdf(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportXfdf(stream);
} finally {
form.close();
}
}
Extraire les champs du formulaire vers JSON
Utilisez cet exemple lorsque les valeurs du formulaire doivent être exportées vers une représentation JSON légère.
- Ouvrez le PDF avec la façade Form.
- Parcourez les noms de champs et sérialisez leurs valeurs dans du texte JSON.
- Écrivez le contenu JSON dans le fichier cible.
public static void extractFormFieldsToJson(Path inputFile, Path outputFile) throws Exception {
Form form = new Form(inputFile.toString());
try {
StringBuilder json = new StringBuilder();
json.append("{\n");
String[] fieldNames = form.getFieldNames();
for (int i = 0; i < fieldNames.length; i++) {
String fieldName = fieldNames[i];
json.append(" \"").append(escapeJson(fieldName)).append("\": \"")
.append(escapeJson(form.getField(fieldName))).append("\"");
if (i < fieldNames.length - 1) {
json.append(",");
}
json.append("\n");
}
json.append("}\n");
Files.writeString(outputFile, json.toString());
} finally {
form.close();
}
}
Réutiliser l’assistant d’extraction JSON
Utilisez cet exemple lorsque vous souhaitez une méthode wrapper dédiée qui délègue à la routine d’exportation JSON principale.
- Appelez l’assistant d’extraction JSON existant avec le PDF source et le chemin de sortie.
- Réutilisez la même logique d’extraction sans dupliquer le code de sérialisation.
public static void extractFormFieldsToJsonDoc(Path inputFile, Path outputFile) throws Exception {
extractFormFieldsToJson(inputFile, outputFile);
}