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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux d’entrée XML et importez les données dans le formulaire.
  3. 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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux de sortie du fichier XML.
  3. 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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux d’entrée FDF et importez les données.
  3. 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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux de sortie du fichier FDF.
  3. 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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux d’entrée XFDF et importez les valeurs.
  3. 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.

  1. Créez une façade Form et liez le PDF source.
  2. Ouvrez le flux de sortie du fichier XFDF.
  3. 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.

  1. Ouvrez le PDF avec la façade Form.
  2. Parcourez les noms de champs et sérialisez leurs valeurs dans du texte JSON.
  3. É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.

  1. Appelez l’assistant d’extraction JSON existant avec le PDF source et le chemin de sortie.
  2. 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);
}