Rotar texto dentro de documentos PDF en C#

PDF se ha convertido en un formato de documento dominante en el mundo digital. Su compatibilidad multiplataforma lo ha convertido en un formato ampliamente adoptado para generar y compartir documentos, como artículos de investigación, facturas, etc. Mientras genera un PDF mediante programación, a menudo necesita cambiar la posición y la orientación del texto de acuerdo con el diseño de el documento. En este artículo, demostraremos cómo rotar texto dentro de documentos PDF mediante programación en C# .NET.

C# .NET API para rotar texto en PDF

Aspose.PDF for .NET es una biblioteca de clases de C# que proporciona funciones básicas y avanzadas de manipulación de PDF para aplicaciones .NET. Con la API, puede generar documentos PDF con diseños simples o complejos sin problemas. Usaremos esta API para rotar texto dentro de documentos PDF. Puede descargar la DLL de la API o instalarla mediante NuGet.

PM> Install-Package Aspose.PDF

Rotar texto dentro de PDF en C#

Hay varias formas de rotar un texto dentro de un documento PDF. Puede rotar un fragmento de texto o el párrafo completo. Veamos cómo funciona cada una de estas rotaciones de texto.

Rotación de texto PDF usando TextFragment en C#

Los siguientes son los pasos para rotar un fragmento de texto en un documento PDF usando C#.

El siguiente ejemplo de código muestra cómo rotar texto en un documento PDF en C#.

// Inicializar objeto de documento
Document pdfDocument = new Document();
            
// Obtener página particular
var pdfPage = pdfDocument.Pages.Add();
            
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
            
// Establecer propiedades de texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Crear fragmento de texto rotado
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
            
// Establecer propiedades de texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
            
// Crear fragmento de texto rotado
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
            
// Establecer propiedades de texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
            
// crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Agregue el fragmento de texto a la página PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
            
// Guardar documento
pdfDocument.Save("Rotation_TextFragment.pdf");

Producción

Rotación de texto PDF usando TextFragment en C#

Rotación de texto PDF usando TextParagraph en C#

También puede aplicar rotación al texto mientras crea un nuevo párrafo. Esto se puede lograr usando la clase TextParagraph. Los siguientes son los pasos para aplicar la rotación de texto usando la clase TextParagraph.

El siguiente ejemplo de código muestra cómo rotar texto dentro de un párrafo en PDF mediante programación.

// Inicializar objeto de documento
Document pdfDocument = new Document();
           
// Obtener página particular
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
            
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("rotated text");
            
// Establecer propiedades de texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Establecer rotación
textFragment1.TextState.Rotation = 45;
            
// Crear fragmento de texto
TextFragment textFragment2 = new TextFragment("main text");
            
// Establecer propiedades de texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Crear fragmento de texto
TextFragment textFragment3 = new TextFragment("another rotated text");
            
// Establecer propiedades de texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Establecer rotación
textFragment3.TextState.Rotation = -45;
            
// Añadir los fragmentos de texto al párrafo.
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
            
// Crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Agregar el párrafo de texto a la página PDF
textBuilder.AppendParagraph(paragraph);

// Guardar documento
pdfDocument.Save("Rotation_TextParagraph.pdf");

Producción

Rotación de texto PDF usando TextParagraph en C#

Obtenga una licencia de API gratuita

Puede probar Aspose.PDF for .NET de forma gratuita obteniendo una licencia temporal.

Conclusión

La automatización de PDF se adopta ampliamente para crear y manipular documentos PDF desde la web o aplicaciones de escritorio. En este artículo, ha aprendido cómo rotar texto en PDF mediante programación usando C#. Hemos cubierto explícitamente cómo rotar texto usando las clases TextFragment y TextParagraph. Además, puede explorar otras funciones utilizando la documentación de Aspose.PDF for .NET. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.

Ver también