Converter páginas PDF em imagens PNG usando C++

PDF é um formato popular para compartilhamento e impressão de documentos devido ao seu layout consistente. No entanto, você pode se encontrar em situações em que deseja gerar uma imagem de capa do arquivo PDF ou incorporar suas páginas em uma página da web. Nesses casos, converter o arquivo PDF para o formato de imagem será útil. Para isso, este artigo ensinará como converter páginas PDF em imagens PNG usando C++.

API C++ para converter páginas PDF em imagens PNG

Aspose.PDF for C++ é uma biblioteca C++ que permite criar, ler e atualizar documentos PDF. Além disso, a API suporta a conversão de páginas PDF em imagens PNG. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção downloads.

PM> Install-Package Aspose.PDF.Cpp

Converter páginas PDF em imagens PNG usando C++

A seguir estão as etapas para converter páginas PDF em imagens PNG.

O código de exemplo a seguir demonstra como salvar as páginas de um arquivo PDF como imagens PNG usando C++.

// Carregue o arquivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// Iterar pelas páginas do PDF
for (auto page : pdfDocument->get_Pages())
{
	// Crie uma instância da classe FileStream
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// Crie uma instância da classe Resolution
	auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

	// Crie uma instância da classe PngDevice
	auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

	// Salve a página como imagem
	pngDevice->Process(page, imageStream);

	// Fechar o fluxo
	imageStream->Close();
}

Converter uma única página PDF em uma imagem PNG usando C++

A seguir estão as etapas para converter uma única página de um arquivo PDF em uma imagem PNG.

O código de exemplo a seguir mostra como converter uma única página PDF em uma imagem PNG usando C++.

// Carregue o arquivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// Recuperar a primeira página
auto page = pdfDocument->get_Pages()->idx_get(1);

// Crie uma instância da classe FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

// Crie uma instância da classe Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

// Crie uma instância da classe PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

// Salve a página como imagem
pngDevice->Process(page, imageStream);

// Fechar o fluxo
imageStream->Close();

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como converter as páginas de um arquivo PDF em imagens PNG usando C++. Você pode converter todas as páginas ou páginas selecionadas de arquivos PDF em imagens PNG. Aspose.PDF para C++ é uma API robusta com muitos recursos adicionais para automatizar seus fluxos de trabalho relacionados a PDF. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também