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
- Convertir des pages PDF en images PNG à l’aide de C++
- Convertir une seule page PDF en une image 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.
- Chargez le fichier PDF à l’aide de la classe Document.
- Parcourez les pages du fichier PDF.
- Dans la boucle, créez une instance de la classe FileStream pour l’image de sortie.
- Créez une instance de la classe Resolution.
- Créez une instance de la classe PngDevice.
- Utilisation du Processus (System :: SharedPtr page, System::SharedPtrSystem::IO::Stream output) de la classe PngDevice, enregistrez l’image de la page PDF.
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.
- Chargez le fichier PDF à l’aide de la classe Document.
- Récupérez la page que vous souhaitez convertir en utilisant la méthode Document->getPages()->idxget(int32t index).
- Créez une instance de la classe FileStream pour l’image de sortie.
- Instancie un objet de la classe Resolution.
- Créez une instance de la classe PngDevice.
- Utilisation du Processus (System :: SharedPtr page, System::SharedPtrSystem::IO::Stream output) de la classe PngDevice, enregistrez l’image de la page PDF.
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.