Praca z obrazami w plikach PDF przy użyciu języka C++

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

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.

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.

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++.

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.

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.

Zobacz też