Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
El ActivePDF Toolkit
es un componente de software utilizado para trabajar con archivos PDF (incluida la generación de archivos PDF a partir de distintas fuentes) y establecer sus propiedades (como Encabezado, Pie de página, Margen o Marca de agua).
IronPDF es un Biblioteca PDF C# que también ofrece estas funciones, con precios competitivos.
Aquí veremos las funciones, ejemplos de código y acciones paso a paso para utilizar ambos componentes de software en un proyecto .NET Visual Studio, para que pueda decidir por sí mismo qué es lo mejor para su aplicación.
Iron Software es un proveedor de componentes líder en el mercado, que ofrece IronPDF para trabajar con archivos PDF. Una forma completa de generar fácilmente archivos PDF a partir de diferentes formatos y establecer todas las propiedades mediante programación. Es el preferido por los desarrolladores debido a la salida consistente, fiable y precisa de archivos PDF utilizando sólo unas pocas líneas de código.
IronPDF está diseñado para C#, .NET, VB, ASPX, ASP.NET, MVC y .NET Core. Es compatible con Visual Studio, NuGet, Linux, Azure, Docker y mucho más.
ActivePDF es una empresa de software que proporciona muchos componentes para tratar archivos PDF. A diferencia del componente único IronPDF, ActivePDF ofrece diferentes soluciones para archivos PDF. Por ejemplo, para reducir el tamaño de los archivos PDF, puede utilizar ActivePDF Compressor
. A crear PDF de fuentes HTML, utilice ActivePDF WebGrabber
.
En este artículo, utilizaremos ActivePDF WebGrabber para compararlo con IronPDF, echémosle un vistazo:
ActivePDF WebGrabber es un componente independiente de ActivePDF que se utiliza específicamente para generar archivos PDF a partir de fuentes HTML como URL, archivo HTML o cadena HTML. También proporciona las funciones para establecer las propiedades de página como Encabezado, Pie de página, Margen, Marca de agua o Marca de libro para crear archivos PDF según nuestros requisitos.
Veamos la comparación entre ambos componentes.
IronPDF | ActivePDF |
---|---|
IronPDF convierte fuentes HTML en archivos PDF. | ActivePDF convierte fuentes HTML en archivos PDF. |
IronPDF es compatible con .NET Core. | ActivePDF no es compatible con .NET Core. |
IronPDF es compatible con .NET 4.0 o superior. | ActivePDF es compatible con .NET 4.6.2 o superior. |
IronPDF es compatible con macOS. | ActivePDF no es compatible con macOS. |
IronPDF puede aplicar CSS para establecer las propiedades de WaterMark. | ActivePDF no admite CSS para establecer las propiedades de WaterMark. |
IronPDF puede establecer la orientación del papel de los archivos PDF. | ActivePDF puede establecer la orientación del papel de los archivos PDF. |
IronPDF proporciona la RenderDelay para retrasar la conversión del PDF. | ActivePDF proporciona el TimeoutSpan para retrasar la conversión del PDF. |
IronPDF proporciona funciones predefinidas para establecer el encabezado o el pie de página. | ActivePDF requiere la configuración del encabezado y pie de página mediante HTML y CSS sin procesar. |
IronPDF proporciona una función predefinida para dibujar una línea horizontal que separe el contenido. | ActivePDF no proporciona una línea para separar encabezados y pies de página. |
Para guardar el archivo PDF, podemos establecer el directorio y el nombre del archivo en una sola línea. | Tenemos que establecer el directorio y el nombre del archivo por separado. |
Necesidad de escribir menos líneas de código con una estructura de programación sencilla. | Necesidad de escribir muchas líneas de código. |
Licencia a partir de $749 . | Licencia a partir de $1180 . |
Puede añadir la librería IronPDF en su proyecto de dos formas diferentes, sin diferencia entre la que adopte.
Busque IronPDF
e instálelo.
Alternativamente:
consola del gestor de paquetes
.Install-Package IronPdf
También podemos descargar IronPDF.dll y, a continuación, añada su referencia en el proyecto.
Si puede acceder a IronPDF
escribiendo using IronPdf;
namespace, significa que IronPDF se ha importado correctamente a su proyecto y está listo para su uso.
Descargar WebGrabber-install.exe y selecciona descargar archivo. Una vez descargado, haga doble clic en el archivo descargado. A continuación, solicite una clave de activación a ActivePDF para utilizar la siguiente clave de evaluación de 15 días: 001-AEALX-LC6Z5-7YD95-S3D8J-3LR25.
Tras la instalación, vaya al siguiente directorio:
C:Archivos de programa
ActivePDF WebGrabber
bin
En este directorio, obtendrá el archivo APWebGrabber.Net45.dll
. Añade su referencia en tu proyecto de Visual Studio.
Ahora, si puedes acceder a WebGrabber
escribiendo using APWebGrabber;
namespace, significa que ActivePDF WebGrabber se ha importado correctamente a tu proyecto y puedes utilizarlo.
Documentación de ActivePDF para obtener más información sobre la instalación de ActivePDF WebGrabber.
Hemos visto la introducción de estos dos componentes y sus procesos de instalación, y ahora comenzaremos la comparación realizando diferentes tareas utilizando ambos. Esto nos permitirá entender la estructura de programación de ambos y decidir cuál es el mejor para nuestros proyectos. Para una mejor comprensión, ejecutaremos un caso de uso específico en cada tarea y proporcionaremos el código utilizado para implementarlo.
En la primera comparación, tomaremos un caso de uso en el que necesitamos crear un archivo PDF mediante una cadena HTML y guardarlo en la ubicación de destino. En primer lugar, empezamos a implementar este caso de uso mediante IronPDF:
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//Fuente HTML
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convertir cadena HTML a archivo PDF
using var PDF = converter.RenderHtmlAsPdf(html);
//Guardar el archivo
PDF.SaveAs("E:/sample.pdf");
}
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//Fuente HTML
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convertir cadena HTML a archivo PDF
using var PDF = converter.RenderHtmlAsPdf(html);
//Guardar el archivo
PDF.SaveAs("E:/sample.pdf");
}
'''
'''HTML String to PDF
'''anchor-html-string-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear convertidor de renderizado
Dim converter = New ChromePdfRenderer()
'Fuente HTML
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> "
'convertir cadena HTML a archivo PDF
Dim PDF = converter.RenderHtmlAsPdf(html)
'Guardar el archivo
PDF.SaveAs("E:/sample.pdf")
End Sub
Salida:
El código anterior creará un archivo PDF sample.pdf
en Local Disk E:
y su captura de pantalla es:
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente HTML
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//asignar html de origen a WebGrabber
wg.CreateFromHTMLText = html;
//especificar directorio de archivos
wg.OutputDirectory = "E:/";
// nombre del archivo
wg.NewDocumentName = "sample.pdf";
//convertir el código fuente HTML en un archivo PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente HTML
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//asignar html de origen a WebGrabber
wg.CreateFromHTMLText = html;
//especificar directorio de archivos
wg.OutputDirectory = "E:/";
// nombre del archivo
wg.NewDocumentName = "sample.pdf";
//convertir el código fuente HTML en un archivo PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
Dim wg As New WebGrabber()
'Fuente HTML
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>"
'asignar html de origen a WebGrabber
wg.CreateFromHTMLText = html
'especificar directorio de archivos
wg.OutputDirectory = "E:/"
' nombre del archivo
wg.NewDocumentName = "sample.pdf"
'convertir el código fuente HTML en un archivo PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla es el archivo sample.pdf
recién generado a partir de este código:
En esta comparación, tomamos el caso de uso en el que necesitamos generar un archivo PDF a partir de un archivo HTML llamado myHtmlFile.html
que existe en el directorio E:/
, y que tiene el siguiente código HTML y CSS:
<html>
<style>
li{
font-size:x-large;
color: magenta;
font-style: italic;
}
</style>
<body>
<h1>I am Heading</h1>
<h2>Items List:</h2>
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
</body>
</html>
<html>
<style>
li{
font-size:x-large;
color: magenta;
font-style: italic;
}
</style>
<body>
<h1>I am Heading</h1>
<h2>Items List:</h2>
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
</body>
</html>
Ahora convertiremos el archivo myHtmlFile.html
en un archivo PDF utilizando ambos componentes. Empecemos por IronPDF.
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new IronPdf.ChromePdfRenderer();
//convertir archivo html a pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new IronPdf.ChromePdfRenderer();
//convertir archivo html a pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''HTML File to PDF
'''anchor-html-file-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear convertidor de renderizado
Dim converter = New IronPdf.ChromePdfRenderer()
'convertir archivo html a pdf
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf")
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado utilizando el código anterior:
Podemos ver que la página HTML myHtmlFile.html
se ha convertido correctamente en el archivo PDF Sample.pdf
, y también se han aplicado los estilos CSS.
Lea la documentación de IronPDF para más información sobre cómo podemos utilizar IronPDF en nuestro proyecto .NET.
Realicemos la misma tarea utilizando ActivePDF WebGrabber.
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//especificar la ruta del archivo a convertir
wg.URL = "E:/myHtmlFile.html";
//especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/";
//nuevo nombre de archivo generado
wg.NewDocumentName = "Sample.pdf";
//convertir un archivo HTML en PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//especificar la ruta del archivo a convertir
wg.URL = "E:/myHtmlFile.html";
//especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/";
//nuevo nombre de archivo generado
wg.NewDocumentName = "Sample.pdf";
//convertir un archivo HTML en PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
Dim wg As New WebGrabber()
'especificar la ruta del archivo a convertir
wg.URL = "E:/myHtmlFile.html"
'especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/"
'nuevo nombre de archivo generado
wg.NewDocumentName = "Sample.pdf"
'convertir un archivo HTML en PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado, utilizando el código anterior:
Supongamos que tenemos una URL https://yandex.com/ y queremos generar un archivo PDF de su página web. Para ello, ambos componentes proporcionan una función. En primer lugar, veremos cómo puede hacerlo IronPDF.
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//Especificar URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Guardar el archivo
PDF.SaveAs("E:/Sample.pdf");
}
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//Especificar URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Guardar el archivo
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''URL to PDF
'''anchor-url-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear convertidor de renderizado
Dim converter = New ChromePdfRenderer()
'Especificar URL
Dim PDF = converter.RenderUrlAsPdf("https://yandex.com/")
'Guardar el archivo
PDF.SaveAs("E:/Sample.pdf")
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior
Puede visitar la página web de la Muestra de URL para comparar y ver con qué precisión coincide el archivo IronPDF.
Ahora, haremos la misma tarea utilizando ActivePDF WebGrabber.
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//especificar URL
wg.URL = "https://yandex.com/";
//especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir una página web URL especificada en PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//especificar URL
wg.URL = "https://yandex.com/";
//especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir una página web URL especificada en PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
Dim wg As New WebGrabber()
'especificar URL
wg.URL = "https://yandex.com/"
'especificar el directorio para el nuevo archivo generado
wg.OutputDirectory = "E:/"
'especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf"
'convertir una página web URL especificada en PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior:
En esta comparación, crearemos un archivo PDF utilizando una cadena HTML, y luego añadiremos una Marca de Agua en el centro de la página. Empecemos por IronPDF.
IronPDF proporciona la siguiente función para añadir WaterMark:
Página de marca de agua(WaterMark Cadena HTML, PageIndexToWaterMark, WaterMarkLocation,Opacity, Rotation, Hyperlink)`
Podemos utilizar el WaterMarkLocation
para fijar el WaterMark en las siguientes posiciones:
* *TopLeft*
* *TopCenter*
* *TopRight*
* *MiddleLeft*
* *MiddleCenter*
* *MiddleRight*
* *BottomLeft*
* *BottomCenter*
* *BottomRight*
Veamos cómo utilizar las funciones anteriores para establecer la marca de agua:
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//cadena html de origen
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//añadir la cadena anterior como contenido del archivo PDF
using var PDF = converter.RenderHtmlAsPdf(html);
//Cadena HTML para WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//añadir WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//guardar el documento
PDF.SaveAs("E:/Sample.pdf");
}
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear convertidor de renderizado
var converter = new ChromePdfRenderer();
//cadena html de origen
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//añadir la cadena anterior como contenido del archivo PDF
using var PDF = converter.RenderHtmlAsPdf(html);
//Cadena HTML para WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//añadir WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//guardar el documento
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Watermark PDF
'''anchor-watermark-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear convertidor de renderizado
Dim converter = New ChromePdfRenderer()
'cadena html de origen
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'añadir la cadena anterior como contenido del archivo PDF
Dim PDF = converter.RenderHtmlAsPdf(html)
'Cadena HTML para WaterMark
Dim WMStr As String = "<h1 style='color:red'>WaterMark</h1>"
'añadir WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "")
'guardar el documento
PDF.SaveAs("E:/Sample.pdf")
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior:
Podemos añadir cualquier tipo de WaterMark y establecer sus propiedades mediante CSS. Ahora, haremos la misma tarea utilizando ActivePDF WebGrabber.
ActivePDF WebGrabber no proporciona una función específica para WaterMark, a diferencia de IronPDF. Pero podemos utilizar la función AddStampText()
funcionan como una solución provisional para este fin:
AñadirSelloTexto(float x, float y, cadena stampText);
stampText es el texto real del TextStamp.
Nota: ActivePDF WebGrabber no admite estilos CSS para TextStamp. Tenemos que establecer por otras funciones proporcionadas de la siguiente manera:
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente HTML del contenido de la página
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//asignar fuente de contenido de la página
wg.CreateFromHTMLText = html;
//añadir sello de texto como marca de agua
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//especificar el tamaño de letra de WaterMark
wg.StampFontSize = 20;
//especificar la familia de fuentes de WaterMark
wg.StampFont = "Times New Roman";
//especificar la opacidad de WaterMark
wg.StampFontTransparency = 1f;
//especificar la rotación de WaterMark
wg.StampRotation = 45.0f;
//especificar el color de WaterMark
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente HTML del contenido de la página
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//asignar fuente de contenido de la página
wg.CreateFromHTMLText = html;
//añadir sello de texto como marca de agua
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//especificar el tamaño de letra de WaterMark
wg.StampFontSize = 20;
//especificar la familia de fuentes de WaterMark
wg.StampFont = "Times New Roman";
//especificar la opacidad de WaterMark
wg.StampFontTransparency = 1f;
//especificar la rotación de WaterMark
wg.StampRotation = 45.0f;
//especificar el color de WaterMark
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
Dim wg As New WebGrabber()
'Fuente HTML del contenido de la página
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'asignar fuente de contenido de la página
wg.CreateFromHTMLText = html
'añadir sello de texto como marca de agua
wg.AddStampText(270.0F, 350.0F, "WaterMark")
'especificar el tamaño de letra de WaterMark
wg.StampFontSize = 20
'especificar la familia de fuentes de WaterMark
wg.StampFont = "Times New Roman"
'especificar la opacidad de WaterMark
wg.StampFontTransparency = 1F
'especificar la rotación de WaterMark
wg.StampRotation = 45.0F
'especificar el color de WaterMark
wg.StampColorNET = New ADK.PDF.Color() With {
.Red = 255,
.Green = 0,
.Blue = 0,
.Gray = 0
}
'especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/"
'especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf"
'convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla muestra el archivo Sample.pdf
recién generado.
Supongamos que tenemos una simple página web llamada myHtmlFile.html
en nuestro Local Disk E
, que tiene un ancho de 100%
y un border
con color black
. Generaremos un archivo PDF a partir de él y estableceremos el Margen de página. Empecemos por IronPDF.
Para establecer los márgenes, IronPDF proporciona la clase ChromePdfRenderOptions
, que tiene las siguientes propiedades:
MarginBottom para establecer un Margen desde la parte inferior de la página.
Nota: Por defecto, IronPDF establece un 20mm
mMargin desde la izquierda, arriba, derecha, y la parte inferior para hacer la página más legible. Podemos ponerlo a 0mm
si no lo necesitamos.
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear conversor html a PDF
var converter = new ChromePdfRenderer();
//especificar Margen izquierdo
converter.RenderingOptions.MarginLeft = 50;
//especificar margen superior
converter.RenderingOptions.MarginTop = 40;
//convertir un archivo html en PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear conversor html a PDF
var converter = new ChromePdfRenderer();
//especificar Margen izquierdo
converter.RenderingOptions.MarginLeft = 50;
//especificar margen superior
converter.RenderingOptions.MarginTop = 40;
//convertir un archivo html en PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Margins
'''anchor-margins-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear conversor html a PDF
Dim converter = New ChromePdfRenderer()
'especificar Margen izquierdo
converter.RenderingOptions.MarginLeft = 50
'especificar margen superior
converter.RenderingOptions.MarginTop = 40
'convertir un archivo html en PDF
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf")
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior:
Se puede ver que la página PDF tiene 50mm
del lado izquierdo, 40
de la parte superior, y el Margen del lado izquierdo es 20mm
que es por defecto
. Podemos ver lo sencillo que es establecer el Margen de cualquier cara utilizando la clase ChromePdfRenderOptions
de IronPDF.
Más información Configuración de generación de PDF para más detalles: cómo trabajar con los márgenes y otras propiedades del archivo PDF.
Ahora, estableceremos el Margen de la página utilizando ActivePDF WebGrabber.
Para establecer los márgenes de la página, ActivePDF WebGrabber proporciona el comando SetMargins()
, y podemos utilizarla del siguiente modo:
SetMargins(Margen superior, Margen inferior, Margen izquierdo, Margen derecho)
Utilizaremos esta función para establecer el margen de página:
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber()
//especificar la ruta del archivo HTML de origen
wg.URL = "E:/myHtmlFile.html";
//Márgenes
wg.SetMargins(1, 0, 1.5f, 0);
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir un archivo HTML en PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber()
//especificar la ruta del archivo HTML de origen
wg.URL = "E:/myHtmlFile.html";
//Márgenes
wg.SetMargins(1, 0, 1.5f, 0);
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir un archivo HTML en PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: WebGrabber wg = new WebGrabber() wg.URL = "E:/myHtmlFile.html";
New WebGrabber() wg.URL = "E:/myHtmlFile.html"
Dim wg As New WebGrabber() wg.URL
'Márgenes
wg.SetMargins(1, 0, 1.5F, 0)
'especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/"
'especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf"
'convertir un archivo HTML en PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior:
Podemos ver que la página PDF tiene un margen 1.5f
desde el lado izquierdo y 1f
desde la parte superior. Usando ambos componentes, podemos establecer fácilmente los márgenes de la página de acuerdo a nuestros requerimientos.
Más información Establecer márgenes con ActivePDF.
En esta comparación, veremos cómo establecer el Encabezado y el Pie de página de un archivo PDF. Utilizaremos las funciones y técnicas proporcionadas por ambos componentes, a través de las cuales podemos imprimir encabezados y pies de página personalizados en páginas PDF mediante programación.
IronPDF proporciona las siguientes propiedades, que pueden utilizarse para establecer tanto Encabezados como Pies de página:
DrawDividerLine: dibuja una línea horizontal que separa el contenido de la página del Encabezado o Pie de Página.
Podemos utilizar las siguientes funciones predefinidas de IronPDF entre llaves {}
para cabecera o pie de página:
{título pdf} establece el título del documento.
Veamos el siguiente ejemplo, en el que estableceremos el Encabezado y el Pie de Página utilizando las funciones anteriores:
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear conversor html a PDF
var converter = new IronPdf.ChromePdfRenderer();
//Página Fuente de contenido
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Asignar fuente a conversor
using var PDF = converter.RenderHtmlAsPdf(html);
//Añadir configuración de cabecera
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Añadir pie de página
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//crear conversor html a PDF
var converter = new IronPdf.ChromePdfRenderer();
//Página Fuente de contenido
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Asignar fuente a conversor
using var PDF = converter.RenderHtmlAsPdf(html);
//Añadir configuración de cabecera
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Añadir pie de página
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Header Footers
'''anchor-headers-and-footers-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'crear conversor html a PDF
Dim converter = New IronPdf.ChromePdfRenderer()
'Página Fuente de contenido
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'Asignar fuente a conversor
Dim PDF = converter.RenderHtmlAsPdf(html)
'Añadir configuración de cabecera
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.LeftText = "Header Text",
.RightText = "{date} {time}",
.DrawDividerLine=True,
.FontSize=13
}
'Añadir pie de página
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.FontSize = 12
}
'guardar en la ubicación de destino
PDF.SaveAs("E:/Sample.pdf")
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado por el código anterior:
Podemos ver que
Texto de cabecera
se imprime en la parte izquierda de la cabecera.DateTime
se imprime en la parte derecha de la Cabecera.Page CurrentPage of TotalPages
a la derecha del pie de página.
Más información Propiedades de HTML a PDF utilizando IronPDF.
Utilicemos ahora ActivePDF WebGrabber para establecer los encabezados y pies de página:
ActivePDF WebGrabber proporciona las propiedades HeaderHTML
y FooterHTML
para establecer el Encabezado y el Pie respectivamente. El HTML en bruto se pasa a estas propiedades como Cabecera o Pie de Página. A diferencia de IronPDF, ActivePDF WebGrabber no proporciona funciones predefinidas para establecer la alineación del Encabezado y Pie de Página, por lo que tenemos que establecerla utilizando propiedades HTML y CSS como se indica a continuación:
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente del contenido de la página
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//asignar la fuente anterior a WebGrabber
wg.CreateFromHTMLText = html;
//especificar la altura del pie de página
wg.FooterHeight = 0.5f;
//Añadir pie de página
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//crear objeto para datetime
DateTime now = DateTime.Now;
//especificar la altura de la cabecera
wg.HeaderHeight = 0.5f;
//Añadir cabecera
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//añadir configuración de cabecera
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instanciar objeto
WebGrabber wg = new WebGrabber();
//Fuente del contenido de la página
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//asignar la fuente anterior a WebGrabber
wg.CreateFromHTMLText = html;
//especificar la altura del pie de página
wg.FooterHeight = 0.5f;
//Añadir pie de página
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//crear objeto para datetime
DateTime now = DateTime.Now;
//especificar la altura de la cabecera
wg.HeaderHeight = 0.5f;
//Añadir cabecera
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//añadir configuración de cabecera
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/";
//especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf";
//convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instanciar objeto
Dim wg As New WebGrabber()
'Fuente del contenido de la página
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'asignar la fuente anterior a WebGrabber
wg.CreateFromHTMLText = html
'especificar la altura del pie de página
wg.FooterHeight = 0.5F
'Añadir pie de página
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>"
'crear objeto para datetime
Dim now As DateTime = DateTime.Now
'especificar la altura de la cabecera
wg.HeaderHeight = 0.5F
'Añadir cabecera
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>"
'añadir configuración de cabecera
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>"
'especificar el directorio para el archivo recién creado
wg.OutputDirectory = "E:/"
'especificar nombre de archivo
wg.NewDocumentName = "Sample.pdf"
'convertir las fuentes anteriores en archivos PDF
wg.ConvertToPDF()
End Sub
La siguiente captura de pantalla es del archivo Sample.pdf
recién generado a partir del código anterior:
Más información sobre cómo fijar encabezados y pies de página con ActivePDF WebGrabber.
DateTime
del framework .NETNombre | Detalle |
---|---|
ActivePDF DocConverter | Sirve para convertir los tipos de archivo más populares a y desde el formato PDF. |
ActivePDF WebGrabber | Toma el HTML de muchas fuentes y lo convierte en archivos PDF. |
ActivePDF DocSpace | Proporciona automatización de procesos por lotes y una interfaz de usuario para visualizar, generar, convertir, manipular e interactuar con PDF y otros formatos de archivo. |
Kit de herramientas ActivePDF | Se utiliza para crear, modificar, ver, extraer, manipular y automatizar el contenido de documentos desde y hacia archivos PDF. |
Portal ActivePDF | Permite a los usuarios ver y modificar documentos PDF de cualquier fuente en un navegador web estándar. |
ActivePDF CADConverter | Sirve para convertir archivos CAD en PDF. |
ActivePDF Xtractor | Se utiliza para extraer y encontrar el texto y las imágenes de archivos PDF. |
ActivePDF Spooler | Permite al desarrollador imprimir la página del archivo PDF en papel. |
ActivePDF Redactor | Se utiliza para ocultar información sensible al espectador. |
Servidor ActivePDF | Proporciona la solución de impresión para diferentes propósitos. |
ActivePDF no proporciona ninguna información sobre sus paquetes en su Sitio web de ActivePDF. Para obtener información sobre la concesión de licencias, debe póngase en contacto con su vendedor. Sin embargo, debe saber exactamente qué tipo de licencia de producción está buscando. No facilitan una lista de precios, y aunque los precios empiezan en 1.180 dólares por una licencia anual, pueden ser más altos dependiendo del ámbito de uso y hay que detallarlos para obtener un presupuesto.
IronPDF ofrece precios transparentes con licencias de $749 con muchas opciones personalizables. Póngase en contacto con el equipo si tiene alguna duda.
Explore la Referencia de la API para la Biblioteca IronPDF C#, incluyendo detalles de todas las características, clases, campos de métodos, espacios de nombres y enums de IronPDF.
Ver la referencia de la API9 productos API .NET para sus documentos de oficina