UTILISATION D'IRONPDF

Comment recadrer un fichier PDF en C#

Chaknith Bin
Chaknith Bin
avril 19, 2023
Mise à jour mars 3, 2024
Partager:

Recadrer et découper des pages PDF est toujours une tâche difficile pour les développeurs en C#. Il n'est pas simple de dessiner un cadre de rognage autour de la zone souhaitée dans un document PDF et de n'enregistrer que cette partie. Heureusement, il existe une solution : la bibliothèque IronPDF pour .NET en C#.

La bibliothèque IronPDF for .NET

IronPDF .NET PDF Library est une bibliothèque C# .NET qui permet aux développeurs de créer, modifier et manipuler des fichiers PDF. Il est très populaire parmi les développeurs C# en raison de sa capacité à générer des fichiers PDF, ce qui leur permet de travailler avec des fichiers PDF sans qu'Adobe Acrobat soit installé. IronPDF for .NET permet également la conversion entre différents formats comme la conversion de HTML en PDF, la conversion d'URL en PDF, et la conversion d'images en PDF.

Il prend également en charge l'ajout de En-têtes et Pieds de page Personnalisés, de Signatures Numériques dans les PDFs, d'annotations et de l'Ajout/Suppression de Pièces Jointes dans les PDFs, de mots de passe utilisateur et propriétaire, ainsi que d'autres options de sécurité. IronPDF dispose d'un moteur Chromium rapide pour une expérience de rendu supérieure. Il offre également un support complet du multithreading et des capacités asynchrones.

Conditions préalables

Avant de commencer, Visual Studio 2022 (la dernière version) doit être téléchargé et installé. Visual Studio est nécessaire pour créer des applications C#. L'installation mettra en place l'environnement .NET, après quoi le système local sera prêt à réaliser un convertisseur PDF vers JPG. Vous pouvez télécharger Visual Studio sur cette page de téléchargements Visual Studio.

Installation d'IronPDF

Il y a plusieurs façons d'installer IronPDF :

  1. Vous pouvez télécharger IronPDF à partir de la solution NuGet Package Manager dans votre projet C#, créé à l'aide de Visual Studio. Accédez au gestionnaire de paquets NuGet via Outils ou en cliquant avec le bouton droit de la souris sur l'explorateur de solutions. Recherchez le paquet IronPDF et installez-le.

  2. Une autre façon d'installer IronPDF est de le télécharger directement depuis la page NuGet d'IronPDF.

Découpage d'un fichier PDF à l'aide d'IronPDF en C# ;

La procédure suivante, étape par étape, vous aidera à découper une page PDF. Ce n'est pas simple, mais nous pouvons utiliser certaines méthodes pour réaliser cette tâche. Commençons !

Étape 1 : Charger le document PDF

Pour charger un fichier PDF à partir d'un emplacement local dans ce projet, IronPDF fournit une méthode FromFile présente dans la classe PdfDocument. L'exemple de code suivant montre comment ouvrir un fichier PDF existant :

PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
$vbLabelText   $csharpLabel

Le document chargé est le suivant :

Comment rogner un fichier PDF en C#, Figure 1 : Un fichier de code-barres PDF d'exemple

Un fichier PDF d'exemple de code-barres

Étape 2 : Charger une page spécifique d'un document PDF

Maintenant que le fichier est ouvert pour la modification, créez un objet PdfDocument séparé et stockez la page spécifique qui doit être rognée en utilisant la méthode CopyPage. Il suffit de transmettre l'index de la page qui doit être recadrée. Ici, l'exemple de code recadre la première page du document PDF.

PdfDocument loadedPage = pdfDocument.CopyPage(0);
PdfDocument loadedPage = pdfDocument.CopyPage(0);
Dim loadedPage As PdfDocument = pdfDocument.CopyPage(0)
$vbLabelText   $csharpLabel

Étape 3 : Convertir la page PDF chargée en une image

La méthode Convertir une page PDF en image haute résolution permet d'enregistrer la page PDF dans un fichier image haute résolution. Le code suivant aide à convertir la page sélectionnée en image pour recadrage.

loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles("C:\Image\Page_to_be_Cropped.png")
$vbLabelText   $csharpLabel

La page est maintenant convertie en un fichier image. Le résultat est une image PNG de haute qualité.

Comment couper un fichier PDF en C#, Figure 2 : Le fichier image PNG de haute qualité en sortie

Le fichier image PNG de haute qualité en sortie

La page spécifique est maintenant séparée du document original et prête à être recadrée.

Étape 4 : Récupérer les dimensions de la page chargée

Pour recadrer le PDF, il est nécessaire de créer un cadre de recadrage d'une certaine largeur et d'une certaine hauteur. À cet effet, un nouveau document sera créé en utilisant la classe ChromePdfRenderer. Il permet de personnaliser la taille des pages du PDF en fonction des besoins, et les données sont réparties uniformément sur les pages.

Avant de créer un ChromePdfRenderer, obtenez d'abord les dimensions de la page chargée à l'étape 2. Ensuite, utilisez ces dimensions lors de la définition de la taille de page personnalisée pour créer une boîte de découpe. L'exemple de code suivant vous aidera à obtenir la largeur et la hauteur de la page :

PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
Dim pages As PdfPagesCollection = loadedPage.Pages
Dim pdfPage As PdfPage = pages(0)
' Dimensions retrieved in mm
Dim width As Single = pdfPage.Width
Dim height As Single = pdfPage.Height
$vbLabelText   $csharpLabel

Tout d'abord, récupérez le nombre total de pages dans le fichier PDF chargé en utilisant PdfPagesCollection. Passez ensuite cette page à une instance de PdfPage pour obtenir les valeurs de dimension de la page à partir des propriétés Width et Height de la page. Terminé ! Passons maintenant à l'étape suivante, qui consiste à créer une zone de recadrage personnalisée.

Étape 5 : Définir la taille de page personnalisée du PDF

Le code suivant permet de créer un format de papier PDF personnalisé qui fonctionnera comme une zone de rognage, afin de recadrer le contenu dans différents segments de page.

ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
Dim pdfRenderer As New ChromePdfRenderer()
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4)

pdfRenderer.RenderingOptions.ForcePaperSize = True
$vbLabelText   $csharpLabel

Dans le code ci-dessus, un ChromePdfRenderer est créé, utilisé pour créer un nouveau document PDF. Ensuite, la valeur de la propriété PdfPaperSize est définie sur Custom. Enfin, une marge de page personnalisée est définie à l'aide des dimensions récupérées à l'étape 4.

Réglez la largeur sur la largeur de la page originale et diminuez la hauteur d'un quart de la longueur de la page originale. Cela permet à la page de fonctionner comme une boîte média en forme de rectangle pour le contenu.

Remarque : Vous pouvez utiliser ForcePaperSize = true pour vous assurer que la taille personnalisée est appliquée. Pour définir des marges personnalisées, veuillez visiter ce Guide de personnalisation des marges PDF.

Étape 6 : Créer un nouveau document à l'aide de HTML

Cette dernière étape permettra de créer un nouveau document à l'aide du PDF à taille de page personnalisée et de l'image enregistrée à partir de la page chargée.

var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
Dim croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", "C:\Image\")
$vbLabelText   $csharpLabel

Maintenant, sauvegardons le document en utilisant la méthode SaveAs.

croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

Sortie

Comment Rogner un Fichier PDF en C#, Figure 3 : Le fichier PDF rogné

Le fichier PDF rogné

Dans le résultat, vous pouvez voir qu'une seule image est maintenant divisée en cinq pages grâce à la création d'un cadre de découpe personnalisé. Vous pouvez copier une page spécifique dont vous avez besoin en utilisant le code suivant :

croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

Conclusion

Cet article a démontré comment rogner des documents PDF en créant un rectangle virtuel de rognage en termes de pages à l'aide d'IronPDF for .NET Framework. La méthode RasterizeToImageFiles aide à convertir la page en une image qui est ensuite utilisée pour créer un document PDF parfaitement fidèle aux pixels.

IronPDF propose également d'autres outils PDF qui permettent de faire pivoter les pages PDF, de modifier le texte PDF, de définir des marges, de formater les PDF, de les convertir, etc. Pour en savoir plus sur IronPDF for .NET et accéder à des fonctionnalités supplémentaires pour manipuler des fichiers PDF avec IronPDF ou pour personnaliser la taille du papier PDF.

La bibliothèque .NET IronPDF est gratuite pour le développement mais doit être licenciée pour un usage commercial. Téléchargez la puissante bibliothèque IronPDF pour .NET à partir de ce téléchargement ZIP d'IronPDF et essayez-la !

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
PDF Converter .NET (Tutoriel du développeur)
SUIVANT >
Comment créer un fichier PDF en ASP .NET ?