Trabajar con imágenes en archivos PDF usando C++

Las imágenes se pueden usar para mostrar una variedad de cosas, desde fotografías de productos hasta flujos de trabajo y diagramas de flujo. Los archivos PDF pueden contener imágenes según el tipo de información que tengan. Por ejemplo, una guía de instalación de una silla incluirá imágenes de la silla que demuestren cómo ensamblarla. Puede haber escenarios en los que necesite manipular imágenes en archivos PDF mediante programación. Para tales casos, este artículo le enseñará cómo trabajar con imágenes en archivos PDF usando C++.

API de C++ para trabajar con imágenes en archivos PDF

Aspose.PDF for C++ es una sólida biblioteca de C++ que le permite crear, leer y modificar archivos PDF. Además, la API admite trabajar con imágenes en documentos PDF. Puede instalar la API a través de NuGet o descargarla directamente desde la sección descargas.

PM> Install-Package Aspose.PDF.Cpp

Agregar una imagen a un archivo PDF usando C++

Los siguientes son los pasos para agregar una imagen a un archivo PDF.

El siguiente código de ejemplo muestra cómo agregar una imagen a un archivo PDF usando C++.

// Cargue el archivo PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

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

// Crear una instancia de la clase 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);

// Añadir imagen a la página
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");

Extraer imágenes de un archivo PDF usando C++

Para extraer imágenes de un archivo PDF, siga los pasos que se indican a continuación.

El siguiente código de ejemplo demuestra cómo extraer una imagen de un archivo PDF usando C++.

// Cargue el archivo PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Extraer una imagen en particular
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

// Cree un objeto de flujo para guardar la imagen de salida
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");

// Guardar la imagen de salida
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

// Cierra la corriente
outputImage->Close();

Eliminar una imagen de un archivo PDF usando C++

Los siguientes son los pasos para eliminar una imagen de un archivo PDF usando C++.

El siguiente código de ejemplo muestra cómo eliminar una imagen particular de un archivo PDF usando C++.

// Cargue el archivo PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Eliminar una imagen en particular
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");

Reemplazar una imagen en un archivo PDF usando C++

Para reemplazar una imagen existente en un archivo PDF, siga los pasos que se indican a continuación.

El siguiente código muestra cómo reemplazar una imagen en un archivo PDF usando C++.

// Cargue el archivo PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");

// Abre la nueva imagen con FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");

// Reemplace la imagen anterior
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);

// Cierra la corriente
newImage->Close();

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a trabajar con imágenes en archivos PDF utilizando C++. Específicamente, aprendió cómo agregar, extraer, reemplazar y eliminar imágenes de archivos PDF usando Aspose.PDF for C++. La API proporciona un montón de funciones adicionales para trabajar con archivos PDF que puede explorar en detalle visitando la documentación oficial. Si tiene alguna consulta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también