Bilder können verwendet werden, um eine Vielzahl von Dingen zu zeigen, die von Produktfotos bis hin zu Arbeitsabläufen und Flussdiagrammen reichen. PDF Dateien können je nach Art der enthaltenen Informationen Bilder enthalten. Zum Beispiel enthält eine Stuhlinstallationsanleitung Bilder des Stuhls, die zeigen, wie man ihn zusammenbaut. Es kann Szenarien geben, in denen Sie Bilder in PDF Dateien programmgesteuert bearbeiten müssen. Für solche Fälle lernen Sie in diesem Artikel, wie Sie mit C++ mit Bildern in PDF Dateien arbeiten.
- C++-API zum Arbeiten mit Bildern in PDF Dateien
- Fügen Sie mit C++ ein Bild zu einer PDF Datei hinzu
- Extrahieren Sie Bilder aus einer PDF Datei mit C++
- Entfernen Sie ein Bild aus einer PDF Datei mit C++
- Ersetzen Sie ein Bild in einer PDF Datei mit C++
C++-API zum Arbeiten mit Bildern in PDF Dateien
Aspose.PDF for C++ ist eine robuste C++ Bibliothek, mit der Sie PDF Dateien erstellen, lesen und ändern können. Darüber hinaus unterstützt die API das Arbeiten mit Bildern in PDF Dokumenten. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt downloads herunterladen.
PM> Install-Package Aspose.PDF.Cpp
Fügen Sie mit C++ ein Bild zu einer PDF Datei hinzu
Im Folgenden finden Sie die Schritte zum Hinzufügen eines Bildes zu einer PDF Datei.
- Laden Sie die PDF Datei mit der Klasse Document.
- Rufen Sie die Seite ab, auf der Sie das Bild hinzufügen möchten, indem Sie die Methode Document->getPages()->idxget(int32t index) verwenden.
- Erstellen Sie eine Instanz der Klasse Rectangle.
- Fügen Sie das Bild mithilfe von Page->AddImage(System::String imagePath, System::SharedPtr) zur Seite hinzu.Aspose::Pdf::Rectangle Rechteck) Methode.
- Speichern Sie die PDF Datei mit der methode Document->Save(System::String outputFileName).
Der folgende Beispielcode zeigt, wie Sie mit C++ ein Bild zu einer PDF Datei hinzufügen.
// Laden Sie die PDF Datei
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Rufen Sie die erste Seite auf
auto page = pdfDocument->get_Pages()->idx_get(1);
// Erstellen Sie eine Instanz der Rectangle Klasse
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);
// Bild zur Seite hinzufügen
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Speichern Sie die PDF Datei
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Extrahieren Sie Bilder aus einer PDF Datei mit C++
Um Bilder aus einer PDF Datei zu extrahieren, führen Sie die folgenden Schritte aus.
- Laden Sie die PDF Datei mit der Klasse Document.
- Extrahieren Sie das Bild mit der methode Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index).
- Erstellen Sie eine Instanz der Klasse FileStream, um das Ausgabebild zu speichern.
- Speichern Sie das Bild mit XImage->Save(System::SharedPtrSystem::IO::Stream Stream, System::SharedPtrSystem::Drawing::Imaging::ImageFormat Format) Methode.
- Schließen Sie den Stream.
Der folgende Beispielcode veranschaulicht, wie ein Bild mit C++ aus einer PDF Datei extrahiert wird.
// Laden Sie die PDF Datei
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Extrahieren Sie ein bestimmtes Bild
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Erstellen Sie ein Stream objekt, um das Ausgabebild zu speichern
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Speichern Sie das Ausgabebild
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Schließen Sie den Stream
outputImage->Close();
Entfernen Sie ein Bild aus einer PDF Datei mit C++
Im Folgenden finden Sie die Schritte zum Entfernen eines Bildes aus einer PDF Datei mit C++.
- Laden Sie die PDF Datei mit der Klasse Document.
- Löschen Sie ein bestimmtes Bild mit der methode Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index).
- Speichern Sie die PDF Datei mit der methode Document->Save(System::String outputFileName).
Der folgende Beispielcode zeigt, wie ein bestimmtes Bild mit C++ aus einer PDF Datei gelöscht wird.
// Laden Sie die PDF Datei
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Löschen Sie ein bestimmtes Bild
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Speichern Sie die PDF Datei
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Ersetzen Sie ein Bild in einer PDF Datei mit C++
Um ein vorhandenes Bild in einer PDF Datei zu ersetzen, gehen Sie wie folgt vor.
- Laden Sie die PDF Datei mit der Klasse Document.
- Öffnen Sie das neue Bild mit der Klasse FileStream.
- Ersetzen Sie das alte Bild mit Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream stream) methode.
- Schließen Sie den Stream.
- Speichern Sie die PDF Datei mit der methode Document->Save(System::String outputFileName).
Der folgende Code zeigt, wie ein Bild in einer PDF Datei mit C++ ersetzt wird.
// Laden Sie die PDF Datei
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Öffnen Sie das neue Image mit FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Ersetzen Sie das alte Bild
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Schließen Sie den Stream
newImage->Close();
// Speichern Sie die PDF Datei
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
Holen Sie sich eine kostenlose Lizenz
Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C++ mit Bildern in PDF Dateien arbeiten. Insbesondere haben Sie gelernt, wie Sie mit Aspose.PDF for C++ API Bilder aus PDF Dateien hinzufügen, extrahieren, ersetzen und entfernen. Die API bietet eine Reihe zusätzlicher Funktionen für die Arbeit mit PDF Dateien, die Sie im Detail erkunden können, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.