Convertir des pages PDF en images PNG à l'aide de C++

PDF est un format populaire pour le partage et l’impression de documents en raison de sa mise en page cohérente. Cependant, vous pourriez vous retrouver dans des situations où vous souhaitez générer une image de couverture du fichier PDF ou intégrer ses pages sur une page Web. Dans de tels cas, la conversion du fichier PDF au format image s’avérera utile. À cette fin, cet article vous apprendra comment convertir des pages PDF en images PNG à l’aide de C++.

API C++ pour convertir des pages PDF en images PNG

Aspose.PDF for C++ est une bibliothèque C++ qui vous permet de créer, lire et mettre à jour des documents PDF. De plus, l’API prend en charge la conversion de pages PDF en images PNG. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section downloads.

PM> Install-Package Aspose.PDF.Cpp

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

Voici les étapes pour convertir des pages PDF en images PNG.

L’exemple de code suivant montre comment enregistrer les pages d’un fichier PDF en tant qu’images PNG à l’aide de C++.

// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// Parcourir les pages PDF
for (auto page : pdfDocument->get_Pages())
{
	// Créer une instance de la classe FileStream
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Créer une instance de la classe Resolution
	auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

	// Créer une instance de la classe PngDevice
	auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

	// Enregistrer la page en tant qu'image
	pngDevice->Process(page, imageStream);

	// Fermer le flux
	imageStream->Close();
}

Convertir une seule page PDF en une image PNG à l’aide de C++

Voici les étapes pour convertir une seule page d’un fichier PDF en une image PNG.

L’exemple de code suivant montre comment convertir une seule page PDF en une image PNG à l’aide de C++.

// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// Récupérer la première page
auto page = pdfDocument->get_Pages()->idx_get(1);

// Créer une instance de la classe FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

// Créer une instance de la classe Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

// Créer une instance de la classe PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

// Enregistrer la page en tant qu'image
pngDevice->Process(page, imageStream);

// Fermer le flux
imageStream->Close();

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 à convertir les pages d’un fichier PDF en images PNG à l’aide de C++. Vous pouvez convertir toutes les pages ou les pages sélectionnées des fichiers PDF en images PNG. Aspose.PDF for C++ est une API robuste avec de nombreuses fonctionnalités supplémentaires pour automatiser vos flux de travail liés au PDF. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également