Rotar texto dentro de un PDF usando C#
Contents
[
Hide
]
El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
Rotar Texto Dentro de PDF Usando la Propiedad de Rotación
Utilizando la propiedad de Rotación de la Clase TextFragment, puedes rotar texto en varios ángulos. La rotación de texto puede ser utilizada en diferentes escenarios de generación de documentos. Puedes especificar el ángulo de rotación en grados para rotar el texto según tu requerimiento. Por favor, revisa los siguientes escenarios diferentes, en los que puedes implementar la rotación de texto.
Implementar Rotación usando TextFragment y TextBuilder
// Para ejemplos completos y archivos de datos, por favor ve a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Inicializar el objeto del documento
Document pdfDocument = new Document();
// Obtener página específica
Page pdfPage = (Page)pdfDocument.Pages.Add();
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("texto principal");
textFragment1.Position = new Position(100, 600);
// Establecer propiedades del texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Crear fragmento de texto rotado
TextFragment textFragment2 = new TextFragment("texto rotado");
textFragment2.Position = new Position(200, 600);
// Establecer propiedades del texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// Crear fragmento de texto rotado
TextFragment textFragment3 = new TextFragment("texto rotado");
textFragment3.Position = new Position(300, 600);
// Establecer propiedades del texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Añadir el fragmento de texto a la página PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// Guardar documento
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated1_out.pdf");
Implementación de Rotación usando TextParagraph y TextBuilder (Fragmentos Rotados)
// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Inicializar el objeto del documento
Document pdfDocument = new Document();
// Obtener página específica
Page pdfPage = (Page)pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("texto rotado");
// Establecer propiedades del 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("texto principal");
// Establecer propiedades del texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Crear fragmento de texto
TextFragment textFragment3 = new TextFragment("otro texto rotado");
// Establecer propiedades del 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);
// Añadir el párrafo de texto a la página PDF
textBuilder.AppendParagraph(paragraph);
// Guardar documento
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated2_out.pdf");
Implementar Rotación usando TextFragment y Page.Paragraphs
// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Inicializar el objeto del documento
Document pdfDocument = new Document();
// Obtener página específica
Page pdfPage = (Page)pdfDocument.Pages.Add();
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("texto principal");
// Establecer propiedades del texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Crear fragmento de texto
TextFragment textFragment2 = new TextFragment("texto rotado");
// Establecer propiedades del texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Establecer rotación
textFragment2.TextState.Rotation = 315;
// Crear fragmento de texto
TextFragment textFragment3 = new TextFragment("texto rotado");
// Establecer propiedades del texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Establecer rotación
textFragment3.TextState.Rotation = 270;
pdfPage.Paragraphs.Add(textFragment1);
pdfPage.Paragraphs.Add(textFragment2);
pdfPage.Paragraphs.Add(textFragment3);
// Guardar el documento
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated3_out.pdf");
Implementar rotación usando TextParagraph y TextBuilder (Párrafo completo rotado)
// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Inicializar objeto de documento
Document pdfDocument = new Document();
// Obtener página específica
Page pdfPage = (Page)pdfDocument.Pages.Add();
for (int i = 0; i < 4; i++)
{
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// Especificar rotación
paragraph.Rotation = i * 90 + 45;
// Crear fragmento de texto
TextFragment textFragment1 = new TextFragment("Texto del párrafo");
// Crear fragmento de texto
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment1.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment1.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
// Crear fragmento de texto
TextFragment textFragment2 = new TextFragment("Segunda línea de texto");
// Establecer propiedades del texto
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment2.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
// Crear fragmento de texto
TextFragment textFragment3 = new TextFragment("Y algo más de texto...");
// Establecer propiedades del texto
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment3.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
textFragment3.TextState.Underline = true;
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// Crear objeto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Añadir el fragmento de texto a la página PDF
textBuilder.AppendParagraph(paragraph);
}
// Guardar documento
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated4_out.pdf");