Convertir des PDF en images à l'aide de C#

Vous devrez peut-être partager les pages de documents PDF sous forme de fichiers image avec d’autres. En tant que développeur C#, vous pouvez facilement convertir des fichiers PDF en PNG, JPG, TIFF ou BMP par programmation dans vos applications .NET. Dans cet article, vous apprendrez comment convertir un PDF en images à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C# de conversion de PDF en image

Pour convertir PDF en images, j’utiliserai Aspose.PDF pour .NET API. Il s’agit d’une puissante API de gestion de fichiers PDF qui vous permet de manipuler des documents PDF à partir de vos applications .NET. Il vous permet de créer, modifier, convertir, rendre, sécuriser et imprimer des documents sans utiliser Adobe Acrobat.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package Aspose.Pdf

Convertir des PDF en images PNG à l’aide de C#

Vous pouvez convertir des fichiers PDF en images PNG par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Document avec le chemin du fichier PDF d’entrée.
  • Parcourez toutes les pages du PDF à l’aide de la collection Document.Pages et procédez comme suit:
    • Créez une instance de la classe Resolution et définissez sa valeur.
    • Créez une instance de la classe PngDevice et transmettez les objets Width, Height et Resolution.
    • Appelez la méthode Process(Page, String) avec le numéro de page et le chemin de l’image PNG de sortie pour convertir la page en PNG.

L’exemple de code suivant montre comment convertir des pages PDF en images PNG à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Define Resolution
    Resolution resolution = new Resolution(300);

    // Create Png device with specified attributes
    // Width, Height, Resolution
    PngDevice PngDevice = new PngDevice(500, 700, resolution);

    // Convert a particular page and save the image to stream
    PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}
Convertir des PDF en images PNG à l'aide de C#

Convertir des PDF en images PNG à l’aide de C#

La classe Document représente le document PDF. Il fournit plusieurs propriétés et méthodes pour exécuter diverses fonctionnalités. La collection Document.Pages est une collection de pages de document et la numérotation des pages commence à partir de 1 dans la collection. La classe Resolution définit la résolution de l’image. La classe PngDevice permet d’enregistrer des pages du document PDF dans des images PNG. Cette classe fournit les méthodes suivantes pour enregistrer des pages dans des images PNG:

Convertir des images PDF en images JPG à l’aide de C#

Vous pouvez convertir des fichiers PDF en images JPG par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Document avec le chemin du fichier d’entrée.
  • Parcourez toutes les pages du PDF à l’aide de la collection Document.Pages et procédez comme suit:
    • Créez une instance de la classe Resolution et définissez sa valeur.
    • Créez une instance de la classe JpegDevice et transmettez les objets Width, Height et Resolution.
    • Appelez la méthode Process(Page, String) avec le numéro de page et le chemin de l’image JPG de sortie pour convertir la page en JPG.

L’exemple de code suivant montre comment convertir des pages PDF en images JPG à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Define Resolution
    Resolution resolution = new Resolution(300);
    
    // Create Jpeg device with specified attributes
    // Width, Height, Resolution
    JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);

    // Convert a particular page and save the image to stream
    JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}
Convertir des images PDF en images JPG à l'aide de C#

Convertir des images PDF en images JPG à l’aide de C#

Conversion PDF en BMP avec C#

Vous pouvez convertir des fichiers PDF en images BMP par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Document avec le chemin du fichier d’entrée.
  • Parcourez toutes les pages du PDF à l’aide de la collection Document.Pages et procédez comme suit:
    • Créez une instance de la classe Resolution et définissez sa valeur.
    • Créez une instance de la classe BmpDevice et transmettez les objets Width, Height et Resolution.
    • Appelez la méthode Process(Page, String) avec le numéro de page et le chemin de l’image BMP de sortie pour convertir la page en BMP.

L’exemple de code suivant montre comment convertir des pages PDF en images BMP à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Define Resolution
    Resolution resolution = new Resolution(300);
    
    // Create PNG device with specified attributes
    // Width, Height, Resolution
    BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);

    // Convert a particular page and save the image to stream
    BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}
Conversion PDF en BMP avec C#

Conversion PDF en BMP avec C#

Conversion PDF en TIFF avec C#

Vous pouvez convertir des fichiers PDF en TIFF par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Document avec le chemin du fichier d’entrée.
  • Initialisez une instance de la classe Resolution et définissez sa valeur.
  • Créez une instance de la classe TiffSettings.
  • Définissez diverses propriétés telles que Compression, Depth, Shape et SkipBlankPages, etc.
  • Créez une instance de la classe TiffDevice avec les objets Resolution et TiffSettings.
  • Appelez la méthode Process(Document, String) avec l’objet Document et le chemin du fichier TIFF de sortie pour convertir le document en TIFF.

L’exemple de code suivant montre comment convertir un fichier PDF en TIFF à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Définir la résolution
Resolution resolution = new Resolution(300);

// Créer un objet TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
    Compression = CompressionType.None,
    Depth = ColorDepth.Default,
    Shape = ShapeType.Portrait,
    SkipBlankPages = false
};

// Créer un périphérique TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);

// Convertir une page particulière et enregistrer l'image à diffuser
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");
Conversion PDF en TIFF avec C#

Conversion PDF en TIFF avec C#

La classe TiffSettings fournit plusieurs paramètres pour convertir un PDF en TIFF. Vous pouvez définir la luminosité, la compression, le type de coordonnées, la profondeur, les marges, la forme et les pages vides lors de la conversion de PDF en TIFF.

Extraire des images de documents PDF à l’aide de C

Vous pouvez extraire toutes les images de n’importe quel fichier PDF par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Document avec le chemin du fichier d’entrée.
  • Pour chaque page, créez une instance XImage pour chaque image de la collection Page.Resources.Images.
  • Créez une instance de la classe FileStream avec le chemin du fichier image de sortie.
  • Appelez la méthode Save() avec l’objet FileStream pour enregistrer l’image
  • Enfin, fermez le FileStream en utilisant la méthode Close().

L’exemple de code suivant montre comment extraire des images d’un document PDF à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Parcourir les pages en boucle
foreach (var page in pdfDocument.Pages)
{
    int imageCounter = 1;
    // Loop through all images
    foreach (XImage image in page.Resources.Images)
    {
        // Create file stream for image
        FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);

        // Save output image
        image.Save(outputImage);

        // Close stream
        outputImage.Close();

        imageCounter++;
    }
}
Extraire des images de documents PDF à l'aide de C #

Extraire des images de documents PDF à l’aide de C#

La classe XImage représente l’image X-Object. Il fournit plusieurs propriétés et méthodes pour travailler avec des images. La classe XImage fournit les méthodes suivantes pour enregistrer l’objet image:

La collection Page.Resources.Images représente la collection d’images pour la page spécifique.

Obtenez une licence gratuite

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

Conclusion

Dans cet article, vous avez appris comment convertir des pages de fichiers PDF en images à l’aide de C#. Vous avez également appris comment convertir PDF en PNG, PDF en JPG, PDF en BMP et PDF en TIFF par programmation. De plus, vous avez appris comment extraire des images d’un fichier PDF à l’aide de C#. L’API offre également des options de compression, la création et la manipulation de tableaux, des fonctions de graphique et d’image, une fonctionnalité étendue d’hyperliens, des tâches de tampon et de filigrane, des contrôles de sécurité étendus et une gestion personnalisée des polices. 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