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
- Rotar páginas PDF usando C++
- Rotación de texto en páginas PDF usando C++
- Rotar una imagen en una página PDF 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++.
- Cargue el documento PDF de origen utilizando la clase Document.
- Recorra las páginas del documento. En caso de que desee rotar solo las páginas seleccionadas, puede definir esa lógica dentro de este bucle.
- Gire cada página usando el método Page->setRotate(Rotation value).
- Guarde el archivo PDF de salida usando el método Document->Save(System::String outputFileName, SaveFormat format).
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.
- Cree una instancia de la clase Document para representar un nuevo documento PDF.
- Agregue una nueva página al documento PDF.
- Cree una instancia de la clase TextFragment con el texto que desea agregar.
- Establezca la posición, el ángulo y otras propiedades del texto.
- Agregue texto a la página PDF usando TextBuilder->AppendText(System::SharedPtr fragmento de texto) método.
- Guarde el archivo PDF de salida usando el método Document->Save(System::String outputFileName, SaveFormat format).
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.
- Cargue el documento PDF de origen utilizando la clase Document.
- Cree una instancia de la clase ImageStamp con la imagen que desea agregar.
- Establezca la rotación y otras propiedades de la imagen.
- Agregue la imagen a la página PDF usando Document->getPages()->idxget(1)->AddStamp(System::SharedPtr sello) método.
- Guarde el archivo PDF de salida usando el método Document->Save(System::String outputFileName, SaveFormat format).
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.