Rotar texto y páginas PDF en .NET

Después de convertir HTML a PDF en .NET, puede que necesitemos rotar texto o páginas enteras mediante programación. Una petición común incluye renderizar texto alineado verticalmente a un PDF usando HTML5. Podemos hacerlo utilizando CSS3 y la biblioteca IronPDF C#. Veamos cómo.

/**
Rotate PDF Text
anchor-use-css-to-rotate-pdf-text
**/

var Renderer = new IronPdf.ChromePdfRenderer();

Renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

using var Pdf = Renderer.RenderHtmlAsPdf(@"

<html>

<head>

 <meta charset = 'utf-8'>

 <style>

  .rotated{

  -webkit-transform: rotate(-180deg);

  width:400;

  height:400;

  }

</style>

</head>

<body>

<p class='rotated'>Rotated Text</p>

</body>

</html>

");

Pdf.SaveAs("rotated.pdf");
/**
Rotate PDF Text
anchor-use-css-to-rotate-pdf-text
**/

var Renderer = new IronPdf.ChromePdfRenderer();

Renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

using var Pdf = Renderer.RenderHtmlAsPdf(@"

<html>

<head>

 <meta charset = 'utf-8'>

 <style>

  .rotated{

  -webkit-transform: rotate(-180deg);

  width:400;

  height:400;

  }

</style>

</head>

<body>

<p class='rotated'>Rotated Text</p>

</body>

</html>

");

Pdf.SaveAs("rotated.pdf");
'''
'''Rotate PDF Text
'''anchor-use-css-to-rotate-pdf-text
'''*

Dim Renderer = New IronPdf.ChromePdfRenderer()

Renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8

Dim Pdf = Renderer.RenderHtmlAsPdf("

<html>

<head>

 <meta charset = 'utf-8'>

 <style>

  .rotated{

  -webkit-transform: rotate(-180deg);

  width:400;

  height:400;

  }

</style>

</head>

<body>

<p class='rotated'>Rotated Text</p>

</body>

</html>

")

Pdf.SaveAs("rotated.pdf")
VB   C#

Primer paso

1. Instalar IronPDF en el proyecto

Con sólo unas pocas líneas de código utilizando la librería IronPDF C#, puede rotar texto y páginas PDF mediante programación. El software es libre para el desarrollo con ejemplos paso a paso a continuación.

Acceder al archivo ZIP o puede utilizar acceder mediante NuGet.

Install-Package IronPdf

Tutorial práctico

2. Usar CSS3 para rotar texto PDF

CSS3 ayuda a girar el texto a cualquier ángulo después de una conversión de PDF a HTML, mientras que el uso de la Biblioteca PDF .NET que instalaste antes. Esto se hace mediante el estilo CSS3 -webkit-transform: rotate, que puede utilizarse para rotar cualquier elemento HTML en cualquier ángulo.

-webkit-transform permite muchos tipos de transformaciones y efectos tridimensionales y rotacionales para elementos HTML.

Un breve ejemplo de C# HTML a PDF con el texto girado 180 grados es:


3. Rotar Páginas PDF Programáticamente

Una página PDF se puede girar mediante programación en .NET con el uso de la función IronPdf.PdfDocument.RotatePage. Rotar página PDF.

Como alternativa, la función IronPdf.PdfDocument.RotateAllPages Girar todas las páginas PDF se puede utilizar para rotar un PDF entero en una sola línea de C#, F# o Visual Basic. He aquí un ejemplo.

/**
Rotate PDF Page
anchor-rotate-pdf-pages-programmatically
**/
<style>
th.short-name{

width: 300px;

}

th.rotate{

height: 175px;

white-space: nowrap;

}

th.rotate>div{

transform: translate(0px,-5px)rotate(280deg);

-webkit-transform: translate(0px,-5px)rotate(280deg);

-o-transform: translate(0px,-5px)rotate(280deg);

-moz-transform: translate(0px,-5px)rotate(280deg);

width: 30px;

}

th.rotate>div>span{

padding: 1px1px;

}
</style>

Cshtml:

<tr>

<th class="short-name">Short Name</th>

@foreach(var col in colSet1)
  {

  <th class="rotate"><div><span>@col</span></div></th>

  }

</tr>
/**
Rotate PDF Page
anchor-rotate-pdf-pages-programmatically
**/
<style>
th.short-name{

width: 300px;

}

th.rotate{

height: 175px;

white-space: nowrap;

}

th.rotate>div{

transform: translate(0px,-5px)rotate(280deg);

-webkit-transform: translate(0px,-5px)rotate(280deg);

-o-transform: translate(0px,-5px)rotate(280deg);

-moz-transform: translate(0px,-5px)rotate(280deg);

width: 30px;

}

th.rotate>div>span{

padding: 1px1px;

}
</style>

Cshtml:

<tr>

<th class="short-name">Short Name</th>

@foreach(var col in colSet1)
  {

  <th class="rotate"><div><span>@col</span></div></th>

  }

</tr>
HTML