Работа с изображениями в файлах PDF с использованием C++

Изображения можно использовать для демонстрации самых разных вещей, начиная от фотографий продуктов и заканчивая рабочими процессами и блок-схемами. Файлы PDF могут содержать изображения в зависимости от типа содержащейся в них информации. Например, руководство по установке стула будет включать изображения стула, демонстрирующие, как его собрать. Могут быть сценарии, в которых вам нужно программно управлять изображениями в файлах PDF. В таких случаях эта статья научит вас работать с изображениями в файлах PDF с помощью C++.

C++ API для работы с изображениями в файлах PDF

Aspose.PDF for C++ — это надежная библиотека C++, позволяющая создавать, читать и изменять PDF-файлы. Кроме того, API поддерживает работу с изображениями в документах PDF. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела загрузки.

PM> Install-Package Aspose.PDF.Cpp

Добавить изображение в файл PDF с помощью C++

Ниже приведены шаги для добавления изображения в файл PDF.

В следующем примере кода показано, как добавить изображение в файл PDF с помощью C++.

// Загрузите PDF-файл
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// Получить первую страницу
auto page = pdfDocument->get_Pages()->idx_get(1);

// Создайте экземпляр класса 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);

// Добавить изображение на страницу
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);

// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");

Извлечение изображений из файла PDF с помощью C++

Чтобы извлечь изображения из файла PDF, выполните следующие действия.

В следующем примере кода показано, как извлечь изображение из файла PDF с помощью C++.

// Загрузите PDF-файл
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Извлечь конкретное изображение
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

// Создайте объект потока, чтобы сохранить выходное изображение
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");

// Сохраните выходное изображение
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

// Закрыть поток
outputImage->Close();

Удалить изображение из файла PDF с помощью C++

Ниже приведены шаги по удалению изображения из файла PDF с помощью C++.

В следующем примере кода показано, как удалить определенное изображение из файла PDF с помощью C++.

// Загрузите PDF-файл
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Удалить конкретное изображение
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);

// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");

Заменить изображение в файле PDF с помощью С++

Чтобы заменить существующее изображение в файле PDF, выполните следующие действия.

В следующем коде показано, как заменить изображение в файле PDF с помощью C++.

// Загрузите PDF-файл
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Откройте новое изображение с помощью FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");

// Заменить старое изображение
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);

// Закрыть поток
newImage->Close();

// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");

Получить бесплатную лицензию

Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как работать с изображениями в файлах PDF с помощью C++. В частности, вы узнали, как добавлять, извлекать, заменять и удалять изображения из файлов PDF с помощью Aspose.PDF for C++ API. API предоставляет множество дополнительных функций для работы с PDF-файлами, которые вы можете подробно изучить, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на наш бесплатный форум поддержки.

Смотрите также