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 :
- En termes de sécurité, l’aplatissement d’un document PDF peut empêcher les modifications non autorisées ou la falsification. L’aplatissement d’un PDF fusionne tous les champs de formulaire dans la couche d’arrière-plan, ce qui rend difficile la modification du contenu.
- L’aplatissement d’un PDF permet de réduire sa taille de fichier en supprimant les informations inutiles, telles que les champs de formulaire, les annotations et les calques. Cela peut faciliter le partage, l’envoi par courrier électronique ou le stockage du document, en particulier s’il est volumineux ou complexe.
- L’aplatissement d’un fichier PDF permet de s’assurer qu’il s’imprime correctement, surtout s’il contient des graphiques complexes, des images ou des champs de formulaire. En outre, l’aplatissement du document supprime tout effet de transparence et fusionne tous les calques en un seul, ce qui permet d’éviter les erreurs d’impression et d’améliorer la qualité globale de l’impression.
- L’aplatissement d’un document PDF le rend facile à utiliser car il n’est pas nécessaire d’interagir avec les éléments interactifs, ce qui simplifie la visualisation, l’impression ou le partage.
- Si vous devez sauvegarder un document PDF pour un usage ultérieur et l’archiver, l’aplatissement d’un document peut garantir qu’il sera lisible et accessible pendant de nombreuses années. L’aplatissement élimine le besoin de logiciels ou de plugins spécialisés, car le document sera un fichier PDF statique et non interactif.
- et plus encore.
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 :
- 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. - 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. - 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 :
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.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 ?
- 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é. - 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. - 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 !