
Obrazy mogą służyć do pokazania różnych rzeczy, od zdjęć produktów po przepływy pracy i schematy blokowe. Pliki PDF mogą zawierać obrazy w zależności od rodzaju zawartych w nich informacji. Na przykład przewodnik instalacji krzesła będzie zawierał zdjęcia krzesła pokazujące, jak je zmontować. Mogą istnieć scenariusze, w których trzeba programowo manipulować obrazami w plikach PDF. W takich przypadkach ten artykuł nauczy Cię, jak pracować z obrazami w plikach PDF przy użyciu języka C++. W szczególności omówimy, jak dodawać, zamieniać, wyodrębniać i usuwać obrazy w pliku PDF za pomocą C++.
- C++ API do dodawania, aktualizowania, usuwania i zastępowania obrazów PDF
- Dodaj obraz do pliku PDF za pomocą C++
- Wyodrębnij obrazy z pliku PDF za pomocą C++
- Usuń obraz z pliku PDF za pomocą C++
- Zastąp obraz w pliku PDF za pomocą C++
C++ API do dodawania, aktualizowania, usuwania i zastępowania obrazów PDF
Aspose.PDF for C++ to solidna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików PDF. Ponadto API obsługuje pracę z obrazami w dokumentach PDF. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji downloads.
PM> Install-Package Aspose.PDF.Cpp
Dodaj obraz do pliku PDF w C++
Poniżej przedstawiono kroki dodawania obrazu do pliku PDF.
- Załaduj plik PDF przy użyciu klasy Document.
- Pobierz stronę, na której chcesz dodać obraz, używając metody Document->getPages()->idxget(int32t index).
- Utwórz instancję klasy Rectangle.
- Dodaj obraz do strony za pomocą Page->AddImage(System::String imagePath, System::SharedPtrAspose::Pdf::Rectangle prostokąt) metoda.
- Zapisz plik PDF za pomocą metody Document->Save(System::String outputFileName).
Poniższy przykładowy kod pokazuje, jak dodać obraz do pliku PDF przy użyciu języka C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Pobierz pierwszą stronę
auto page = pdfDocument->get_Pages()->idx_get(1);
// Utwórz instancję klasy 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);
// Dodaj obraz do strony
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Wyodrębnij obrazy z pliku PDF w C++
Aby wyodrębnić obrazy z pliku PDF w C++, wykonaj czynności podane poniżej.
- Załaduj plik PDF przy użyciu klasy Document.
- Wyodrębnij obraz za pomocą metody Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index).
- Utwórz instancję klasy FileStream, aby zapisać obraz wyjściowy.
- Zapisz obraz za pomocą polecenia XImage->Save(System::SharedPtrSystem::IO::Stream strumień, System::SharedPtrSystem::Drawing::Imaging::ImageFormat format) metoda.
- Zamknij strumień.
Poniższy przykładowy kod pokazuje, jak wyodrębnić obraz z pliku PDF w języku C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Wyodrębnij określony obraz
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Utwórz obiekt strumienia, aby zapisać obraz wyjściowy
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Zapisz obraz wyjściowy
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Zamknij strumień
outputImage->Close();
Usuń obraz z pliku PDF za pomocą C++
Poniżej przedstawiono kroki, aby usunąć obraz z pliku PDF w C++.
- Załaduj plik PDF przy użyciu klasy Document.
- Usuń określony obraz za pomocą metody Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index).
- Zapisz plik PDF za pomocą metody Document->Save(System::String outputFileName).
Poniższy przykładowy kod pokazuje, jak usunąć obraz z pliku PDF w języku C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Usuń określony obraz
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Zamień obraz w pliku PDF w C++
Aby zamienić obraz w pliku PDF w C++, wykonaj czynności podane poniżej.
- Załaduj plik PDF przy użyciu klasy Document.
- Otwórz nowy obraz przy użyciu klasy FileStream.
- Zastąp stary obraz za pomocą Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream strumień) metoda.
- Zamknij strumień.
- Zapisz plik PDF za pomocą metody Document->Save(System::String outputFileName).
Poniższy przykładowy kod pokazuje, jak zamienić obraz w pliku PDF w języku C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Otwórz nowy obraz za pomocą FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Zastąp stary obraz
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Zamknij strumień
newImage->Close();
// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
C++ API do pracy z obrazami PDF — Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się pracować z obrazami w plikach PDF przy użyciu języka C++. W szczególności nauczyłeś się dodawać, wyodrębniać, zastępować i usuwać obrazy z plików PDF za pomocą Aspose.PDF for C++ API. Interfejs API zapewnia szereg dodatkowych funkcji do pracy z plikami PDF, które można szczegółowo poznać, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym bezpłatnym forum pomocy technicznej.