Преобразование страниц PDF в изображения PNG с помощью C++

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

C++ API для преобразования страниц PDF в изображения PNG

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

PM> Install-Package Aspose.PDF.Cpp

Преобразование страниц PDF в изображения PNG с помощью C++

Ниже приведены шаги для преобразования страниц PDF в изображения PNG.

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

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

// Итерация по страницам PDF
for (auto page : pdfDocument->get_Pages())
{
	// Создайте экземпляр класса FileStream
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Создайте экземпляр класса Resolution
	auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

	// Создайте экземпляр класса PngDevice.
	auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

	// Сохранить страницу как изображение
	pngDevice->Process(page, imageStream);

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

Преобразование одной страницы PDF в изображение PNG с помощью С++

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

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

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

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

// Создайте экземпляр класса FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

// Создайте экземпляр класса Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

// Создайте экземпляр класса PngDevice.
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

// Сохранить страницу как изображение
pngDevice->Process(page, imageStream);

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

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

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

Вывод

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

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