Trabalhando com imagens em arquivos PDF usando C++

As imagens podem ser usadas para mostrar uma variedade de coisas, desde fotografias de produtos até fluxos de trabalho e fluxogramas. Os arquivos PDF podem conter imagens com base no tipo de informação que possui. Por exemplo, um guia de instalação da cadeira incluirá fotos da cadeira demonstrando como montá-la. Pode haver cenários em que você precise manipular imagens em arquivos PDF programaticamente. Para esses casos, este artigo ensinará como trabalhar com imagens em arquivos PDF usando C++.

API C++ para trabalhar com imagens em arquivos PDF

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

PM> Install-Package Aspose.PDF.Cpp

Adicionar uma imagem a um arquivo PDF usando C++

A seguir estão as etapas para adicionar uma imagem a um arquivo PDF.

O código de exemplo a seguir mostra como adicionar uma imagem a um arquivo PDF 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 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);

// Adicionar imagem à página
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");

Extrair imagens de um arquivo PDF usando C++

Para extrair imagens de um arquivo PDF, siga as etapas abaixo.

O código de exemplo a seguir demonstra como extrair uma imagem de um arquivo PDF usando C++.

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

// Extraia uma imagem específica
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

// Crie um objeto de fluxo para salvar a imagem de saída
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");

// Salve a imagem de saída
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

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

Remover uma imagem de um arquivo PDF usando C++

A seguir estão as etapas para remover uma imagem de um arquivo PDF usando C++.

O código de exemplo a seguir mostra como excluir uma imagem específica de um arquivo PDF usando C++.

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

// Excluir uma imagem específica
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");

Substituir uma imagem em um arquivo PDF usando C++

Para substituir uma imagem existente em um arquivo PDF, siga as etapas abaixo.

O código a seguir mostra como substituir uma imagem em um arquivo PDF usando C++.

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

// Abra a nova imagem com FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");

// Substitua a imagem antiga
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);

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

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");

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 trabalhar com imagens em arquivos PDF usando C++. Especificamente, você aprendeu como adicionar, extrair, substituir e remover imagens de arquivos PDF usando a API Aspose.PDF para C++. A API fornece vários recursos adicionais para trabalhar com arquivos PDF que você pode explorar em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também