Les images peuvent être utilisées pour montrer une variété de choses allant des photographies de produits aux flux de travail et aux organigrammes. Les fichiers PDF peuvent contenir des images en fonction du type d’informations dont ils disposent. Par exemple, un guide d’installation de chaise comprendra des images de la chaise montrant comment l’assembler. Il peut y avoir des scénarios dans lesquels vous devez manipuler des images dans des fichiers PDF par programme. Dans de tels cas, cet article vous apprendra comment travailler avec des images dans des fichiers PDF à l’aide de C++.
- API C++ pour travailler avec des images dans des fichiers PDF
- Ajouter une image à un fichier PDF en utilisant C++
- Extraire des images d’un fichier PDF à l’aide de C++
- Supprimer une image d’un fichier PDF à l’aide de C++
- Remplacer une image dans un fichier PDF à l’aide de C++
API C++ pour travailler avec des images dans des fichiers PDF
Aspose.PDF for C++ est une bibliothèque C++ robuste qui vous permet de créer, lire et modifier des fichiers PDF. De plus, l’API prend en charge le travail avec des images dans des documents PDF. 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
Ajouter une image à un fichier PDF en utilisant C++
Voici les étapes pour ajouter une image à un fichier PDF.
- Chargez le fichier PDF à l’aide de la classe Document.
- Récupérez la page où vous souhaitez ajouter l’image à l’aide de la méthode Document->getPages()->idxget(int32t index).
- Créez une instance de la classe Rectangle.
- Ajoutez l’image à la page en utilisant Page->AddImage(System::String imagePath, System::SharedPtrAspose::Pdf::Rectangle rectangle) méthode.
- Enregistrez le fichier PDF en utilisant la méthode Document->Save(System::String outputFileName).
L’exemple de code suivant montre comment ajouter une image à un fichier PDF à 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 Rectangle
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// Ajouter une image à la page
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Extraire des images d’un fichier PDF à l’aide de C++
Pour extraire des images d’un fichier PDF, suivez les étapes ci-dessous.
- Chargez le fichier PDF à l’aide de la classe Document.
- Extrayez l’image à l’aide de la méthode Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index).
- Créez une instance de la classe FileStream pour enregistrer l’image de sortie.
- Enregistrez l’image en utilisant XImage->Save(System::SharedPtrSystem::IO::Stream flux, System :: SharedPtrSystem::Drawing::Imaging::ImageFormat format) méthode.
- Fermez le flux.
L’exemple de code suivant montre comment extraire une image d’un fichier PDF à l’aide de C++.
// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Extraire une image particulière
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Créer un objet de flux pour enregistrer l'image de sortie
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Enregistrer l'image de sortie
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Fermer le flux
outputImage->Close();
Supprimer une image d’un fichier PDF à l’aide de C++
Voici les étapes pour supprimer une image d’un fichier PDF à l’aide de C++.
- Chargez le fichier PDF à l’aide de la classe Document.
- Supprimez une image particulière à l’aide de la méthode Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index).
- Enregistrez le fichier PDF en utilisant la méthode Document->Save(System::String outputFileName).
L’exemple de code suivant montre comment supprimer une image particulière d’un fichier PDF à l’aide de C++.
// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Supprimer une image particulière
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Remplacer une image dans un fichier PDF à l’aide de C++
Pour remplacer une image existante dans un fichier PDF, suivez les étapes ci-dessous.
- Chargez le fichier PDF à l’aide de la classe Document.
- Ouvrez la nouvelle image à l’aide de la classe FileStream.
- Remplacez l’ancienne image en utilisant Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream flux) méthode.
- Fermez le flux.
- Enregistrez le fichier PDF en utilisant la méthode Document->Save(System::String outputFileName).
Le code suivant montre comment remplacer une image dans un fichier PDF à l’aide de C++.
// Charger le fichier PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Ouvrez la nouvelle image avec FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Remplacer l'ancienne image
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Fermer le flux
newImage->Close();
// Enregistrez le fichier PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
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 à travailler avec des images dans des fichiers PDF à l’aide de C++. Plus précisément, vous avez appris à ajouter, extraire, remplacer et supprimer des images de fichiers PDF à l’aide de l’API Aspose.PDF for C++. L’API fournit un ensemble de fonctionnalités supplémentaires pour travailler avec des fichiers PDF que vous pouvez explorer en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.