Remplir et lire des formulaires XFA à l'aide de C #

Adobe a introduit des formulaires interactifs et dynamiques appelés formulaires XFA. XFA signifie XML Forms Architecture. Le formulaire XFA est similaire à un fichier HTML. Il contient des champs à remplir et détermine la mise en page ou l’apparence sous forme de formulaire intégré dans les documents PDF. Dans cet article, nous allons apprendre comment remplir et lire des formulaires XFA à l’aide de C#.

Les sujets suivants seront traités dans cet article :

API C# pour lire et remplir des formulaires XFA

Pour travailler avec les formulaires XFA PDF, nous utiliserons l’API Aspose.PDF for .NET. Il nous permet de générer, modifier, convertir, restituer, sécuriser et imprimer documents pris en charge sans utiliser Adobe Acrobat. Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Pdf

Remplir des formulaires XFA avec C#

Nous pouvons remplir les formulaires XFA par programmation en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier de formulaire XFA à l’aide de la classe Document.
  2. Obtenez les noms des champs de formulaire XFA chargés.
  3. Définissez les valeurs des champs.
  4. Enfin, appelez la méthode Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment remplir un formulaire XFA à l’aide de C#.

// Cet exemple de code montre comment remplir un formulaire XFA.
// Charger le formulaire XFA
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");

// Obtenir les noms des champs de formulaire XFA
string[] names = doc.Form.XFA.FieldNames;

// Définir des valeurs de champ
doc.Form.XFA[names[0]] = "12345";
doc.Form.XFA[names[1]] = "24/02/2022";
doc.Form.XFA[names[2]] = "Company Name";
doc.Form.XFA[names[3]] = "Company Address";
doc.Form.XFA[names[4]] = "Company City";
doc.Form.XFA[names[5]] = "Canada";
doc.Form.XFA[names[6]] = "Alberta";
doc.Form.XFA[names[7]] = "T9S";
doc.Form.XFA[names[8]] = "+112345567";
doc.Form.XFA[names[10]] = "Mr. John Smith";
doc.Form.XFA[names[11]] = "Delivered to Company Name";
doc.Form.XFA[names[12]] = "Delivery Company Address";
doc.Form.XFA[names[13]] = "Delivery City";
doc.Form.XFA[names[17]] = "+123456789";
doc.Form.XFA[names[19]] = "Mr. Will Smith";
doc.Form.XFA[names[22]] = "57251";

// Enregistrer le formulaire
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");
Remplissez les formulaires XFA à l'aide de C #.

Remplissez les formulaires XFA à l’aide de C #.

Lire des formulaires XFA à l’aide de C#

Nous pouvons lire le formulaire XFA rempli en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier Excel en utilisant la classe Document.
  2. Obtenez les noms des champs de formulaire XFA chargés.
  3. Dans une boucle, obtenez les détails du champ à l’aide de la méthode GetFieldTemplate().
  4. Enfin, affichez les attributs de champ.

L’exemple de code suivant montre comment lire le formulaire XFA rempli à l’aide de C#.

// Cet exemple de code montre comment lire un formulaire XFA rempli.
// Charger le formulaire XFA
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");

// Obtenir les noms des champs de formulaire XFA
string[] names = doc.Form.XFA.FieldNames;

for (int count=0; count<names.Length; count++)
{
    // Get field details
    var field = doc.Form.XFA.GetFieldTemplate(names[count]);
    string fieldName = doc.Form.XFA.GetFieldTemplate(names[count]).InnerText;
    string fieldValue = doc.Form.XFA[names[count]];

    if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0")
    {
        Console.WriteLine("Field Name : " + field.Attributes["name"].Value);
        Console.WriteLine("Field Description : " + fieldName);
        Console.WriteLine("Field Value : " + fieldValue);
        Console.WriteLine();
    }
}
Lisez le formulaire XFA rempli à l'aide de C#.

Lisez le formulaire XFA rempli à l’aide de C#.

Obtenez une licence gratuite

Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris ** comment remplir les formulaires XFA ** sans utiliser Adobe Writer. Nous avons également vu comment lire le formulaire XFA rempli par programmation. En outre, vous pouvez en savoir plus sur Aspose.PDF pour l’API .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également