Aplatir un PDF– Flatten PDF – Exemples en C#

Le format PDF (Portable Document Format) est un format de fichier populaire largement utilisé pour l’échange et le stockage de documents numériques. Ce format polyvalent permet de créer des documents complexes contenant divers éléments, notamment du texte, des images, des formulaires, etc. Cependant, dans certaines situations, il peut être nécessaire d’aplatir un document PDF, c’est-à-dire de le convertir en un fichier statique et non interactif qui peut être facilement partagé, imprimé ou archivé. Cet article explique ce que signifie aplatir un PDF et comment le faire à l’aide de la bibliothèque Aspose.HTML for .NET.

Que signifie aplatir un PDF – Flatten PDF?

L’aplatissement d’un fichier PDF consiste à fusionner toutes les couches du document en une seule couche d’arrière-plan. Ce processus “aplatit” effectivement le document en supprimant tous les éléments interactifs tels que les champs de formulaire à remplir et le texte modifiable. Le résultat est un PDF statique qui ne peut plus être modifié ou dont l’apparence ne peut plus être altérée, ce qui le rend idéal pour le partage, l’impression ou l’archivage.

Pourquoi aplatir un PDF ?

L’aplatissement d’un document PDF est un processus qui peut présenter plusieurs avantages, en fonction de vos besoins spécifiques. Plusieurs raisons peuvent vous inciter à aplatir un fichier PDF :

Que vos objectifs soient liés à la sécurité, à la taille des fichiers, à l’impression, à l’archivage ou à la facilité d’utilisation, l’aplatissement d’un PDF peut vous fournir les résultats dont vous avez besoin.

Comment aplatir un PDF en C# ?

L’aplatissement d’un document PDF est un processus utile pour assurer la stabilité et la sécurité d’un document, ainsi que pour améliorer sa compatibilité avec les imprimantes ou les applications logicielles. En convertissant des fichiers HTML ou MHTML en PDF aplatis à l’aide du code C#, nous pouvons facilement créer des documents PDF statiques et non interactifs.

Aspose.HTML for .NET propose la propriété FormFieldBehaviour de la classe PdfSaveOptions pour aplatir les documents PDF après leur conversion à partir de HTML ou MHTML. Cette propriété permet de spécifier le comportement des champs de formulaire dans un document PDF. Si la valeur est FormFieldBehaviour.Flattened, tous les champs de formulaire du document PDF seront aplatis.

Conversion de HTML en PDF et aplatissement de PDF

Pour aplatir un fichier PDF à l’aide de Aspose.HTML for .NET, vous devez d’abord convertir un fichier HTML en document PDF. Le fichier HTML peut contenir des formulaires interactifs qui doivent être convertis en PDF et aplatis. Voici un exemple de conversion de HTML en PDF et d’utilisation de la propriété FormFieldBehaviour pour aplatir le PDF :

 1// Flatten PDF during HTML to PDF conversion using C#
 2
 3// Prepare a path to an HTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
 5
 6// Initialize an HTML document from the file
 7using HTMLDocument document = new HTMLDocument(sourcePath);
 8
 9// Prepare PDF save options
10PdfSaveOptions options = new PdfSaveOptions
11{
12    // Flatten all form fields
13    FormFieldBehaviour = FormFieldBehaviour.Flattened
14};
15
16// Prepare a path to the result file
17string resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
18
19// Convert HTML to PDF
20Converter.ConvertHTML(document, options, resultPath);

De cette manière, vous pouvez facilement convertir un fichier HTML en un PDF aplati à l’aide de C#. Ce processus est simple et peut être réalisé avec quelques lignes de code. Examinons les étapes que nous avons suivies :

  1. Utilisez l’un des constructeurs de la classe HTMLDocument pour charger un fichier HTML. Dans l’exemple, le constructeur HTMLDocument(sourcePath) charge le document HTML à partir d’un système de fichiers local.
  2. Créez une instance de la classe PdfSaveOptions qui est utilisée pour spécifier les options d’enregistrement d’un document PDF. Dans ce cas, la propriété FormFieldBehaviour de PdfSaveOptions est définie sur FormFieldBehaviour.Flattened, ce qui signifie que tous les champs de formulaire du document HTML seront aplatis lors de la création du document PDF.
  3. Appeler la méthode ConvertHTML() pour convertir le HTML en PDF en utilisant les options spécifiées, et le document PDF résultant est enregistré dans resultPath.

Conversion de MHTML en PDF et aplatissement de PDF

L’exemple C# suivant montre comment convertir un document MHTML situé à sourcePath en un document PDF aplati et l’enregistrer à outputPath :

 1// Flatten PDF during MHTML to PDF conversion using C#
 2
 3// Prepare a path to an MHTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
 5
 6// Initialize PDF save options
 7PdfSaveOptions options = new PdfSaveOptions
 8{
 9    // Flatten all form fields
10    FormFieldBehaviour = FormFieldBehaviour.Flattened
11};
12
13// Prepare a path to the result file
14string resultPath = Path.Combine(OutputDir, "document-flattened.pdf");
15
16// Convert MHTML to PDF
17Converter.ConvertMHTML(sourcePath, options, resultPath);

Pour convertir du MHTML en PDF en spécifiant la propriété FormFieldBehaviour, vous devez suivre quelques étapes :

  1. Initialiser une instance de la classe PdfSaveOptions et spécifier les options d’enregistrement du document PDF. Dans cet exemple, la propriété FormFieldBehaviour de PdfSaveOptions est fixée à FormFieldBehaviour.Flattened, ce qui signifie que tous les champs de formulaire du document MHTML seront aplatis lors de la création du document PDF.

  2. Utilisez la méthode ConvertMHTML() pour convertir du MHTML en PDF, qui prend en paramètre le chemin d’accès à la source, les options et le chemin d’accès à la sortie.

Quelle est la différence entre les fichiers PDF enregistrés avec et sans la propriété FormFieldBehaviour ?

  1. Si la propriété FormFieldBehaviour est réglée sur FormFieldBehaviour.Flattened, les champs de formulaire du document PDF seront fusionnés en une seule couche du document. Cela aplatit effectivement les champs de formulaire, les rendant non interactifs et impossibles à modifier. Le résultat est un document PDF statique qui ne peut pas être modifié.
  2. En revanche, si la propriété FormFieldBehaviour est définie sur FormFieldBehaviour.Interactive, les champs de formulaire du document PDF resteront interactifs. Cela signifie que les utilisateurs peuvent remplir les champs du formulaire et y apporter des modifications.
  3. Dans Aspose.HTML for .NET, la valeur par défaut de la propriété FormFieldBehaviour est FormFieldBehaviour.Interactive. Si la propriété FormFieldBehaviour n’est pas explicitement définie, les champs de formulaire du document PDF resteront interactifs, ce qui permettra aux utilisateurs de les remplir et de les modifier.

Vous pouvez télécharger les exemples C# complets et les fichiers de données sur GitHub.

Aspose.HTML propose des Convertisseurs gratuits en ligne pour convertir des fichiers HTML, XHTML, MHTML, EPUB, XML et Markdown dans divers formats populaires. Vous pouvez facilement convertir HTML en PDF, HTML en JPG, SVG en PDF, MHTML en PDF, ou MD en HTML. Il suffit de sélectionner le fichier, de choisir le format à convertir et le tour est joué. C’est rapide et entièrement gratuit !

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.