Exploremos los escenarios relacionados con la rotación en los documentos PDF. Puede haber situaciones en las que tenga un documento PDF escaneado invertido que necesite corregir. Puede corregir dicho documento girando las páginas del documento. También es posible que desee agregar marcas de agua de texto o imagen a un documento PDF girándolas. Con ese fin, este artículo le enseñará cómo rotar páginas PDF, texto e imágenes mediante programación usando C++.

API de C++ para rotar páginas PDF, texto e imágenes

Aspose.PDF for C++ es una biblioteca de C++ que le permite crear, leer y actualizar documentos PDF. Además de esto, la API admite la rotación de páginas PDF, texto e imágenes. Puede instalar la API a través de NuGet o descargarla directamente desde la sección descargas.

PM> Install-Package Aspose.PDF.Cpp

Rotar páginas PDF usando C++

Rotar páginas con Aspose.PDF for C++ es muy sencillo. Con solo unas pocas líneas de código, puede rotar todas las páginas del documento PDF. Los siguientes son los pasos para rotar páginas PDF usando C++.

El siguiente código de ejemplo muestra cómo rotar páginas PDF usando C++.

// Abra el documento PDF de origen
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Bucle a través de las páginas
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
	// Rotar página
	page->set_Rotate(Aspose::Pdf::Rotation::on180);
}

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);

Rotación de texto en páginas PDF usando C++

Al agregar texto a documentos PDF, puede cambiar muchas propiedades del texto, incluido su ángulo. En el siguiente ejemplo, agregaremos texto a una página PDF y la rotaremos en un ángulo de 45 grados. Los siguientes son los pasos para lograrlo.

El siguiente código de ejemplo demuestra cómo rotar texto en una página PDF usando C++.

// Crear una instancia de la clase Document
auto pdfDocument = MakeObject<Document>();

// Añadir nueva página
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();

// Crear objeto TextFragment
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");

// Establecer la posición del texto
textFragment->set_Position(MakeObject<Position>(200, 600));

// Establecer propiedades de texto
textFragment->get_TextState()->set_FontSize(12);
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_BackgroundColor(Aspose::Pdf::Color::get_LightGray());
textFragment->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textFragment->get_TextState()->set_Rotation(45);
textFragment->get_TextState()->set_Underline(true);

// Crear objeto TextBuilder
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);

// Agregar texc a la página
textBuilder->AppendText(textFragment);

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

Rotar una imagen en una página PDF usando C++

Al agregar imágenes a documentos PDF, puede establecer muchas propiedades como altura, ancho, opacidad, rotación, etc. En este ejemplo, agregaremos una imagen a una página PDF y la rotaremos en un ángulo de 90 grados. Los siguientes son los pasos para rotar una imagen en una página PDF.

El siguiente código de ejemplo muestra cómo rotar una imagen en una página PDF usando C++.

// Abra el documento PDF de origen
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Crear objeto ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Establecer propiedades de sello de imagen
imageStamp->set_XIndent(250);
imageStamp->set_YIndent(350);
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_Rotate(Rotation::on90);
imageStamp->set_Opacity(0.5);

// Agregar ImageStamp a la página
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Guarde el archivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::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 rotar páginas, texto e imágenes en documentos PDF usando C++. Aspose.PDF for C++ es una gran API que proporciona muchas funciones adicionales para trabajar con archivos PDF. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también