Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este artículo examina cómo trabajar con el conversor Aspose PDF en .NET comparando su estructura de programación, las funciones que ofrece y los paquetes de licencias y precios. Siga los tutoriales paso a paso y utilice los ejemplos de código para comprobar por sí mismo qué biblioteca es la mejor para trabajar con archivos PDF en su proyecto de C#.
Convierta sus páginas web en documentos PDF de forma rápida y sencilla con la biblioteca IronPDF para... C# Y... Java _. IronPDF admite todas las formas de contenido HTML y las renderiza con una precisión de píxeles perfecta. Sin complicaciones. Sin estrés. Esta biblioteca simplemente funciona.
Lea más sobre IronPDF para C# a continuación; consulte la página web del producto para obtener más información sobre IronPDF for Java._
Proveedor de API Aspose es una empresa proveedora de componentes de formato de archivo. El componente especializado Aspose PDF DLL se utiliza para tratar archivos PDF. Permite a los desarrolladores crear y manipular archivos PDF mediante programación. Puedes convertir archivos PDF a diferentes formatos de archivo. También podemos utilizarlo para añadir marcas de agua, sellos de texto, marcadores, comprimir archivos PDF, firmar digitalmente documentos PDF, convertir documentos PDF, imprimir documentos PDF, descifrar documentos PDF y gestionar formularios PDF en documentos PDF sin utilizar Adobe Acrobat.
Biblioteca IronPDF C# es proporcionada por Iron Software para generar, editar y manipular archivos PDF en proyectos .NET. Es bien conocido porque sólo requiere unas pocas líneas de código con una estructura de programación sencilla para obtener los archivos PDF requeridos. Con él, podemos generar fácilmente archivos PDF a partir de muchas fuentes (como cadenas HTML, archivos HTML o URL) y, a continuación, defina sus propiedades (como número de página, encabezados, márgenes de página o marcas de agua, etc.). Las capacidades de procesamiento de PDF de IronPDF están a un nivel extremo. Admite el manejo de fuentes personalizadas. Para añadir funciones de procesamiento de PDF en una aplicación Java, IronPDF es la mejor opción.
IronPDF también está disponible para Java.
Cuando necesitamos adquirir API para nuestro proyecto, los precios y los paquetes de licencias pueden desempeñar un papel muy importante en la selección.
A continuación comparamos las 4 licencias perpetuas principales que ofrece Aspose PDF con sus equivalentes de IronPDF.
Cobertura de la licencia | IronPDF | Aspose.PDF |
---|---|---|
# Opciones de licencia | 3 opciones de licencia personalizables según sus necesidades | 4 licencias disponibles para necesidades generales |
1 promotor, 1 proyecto, 1 ubicación | $749 con 1 año de asistencia gratuita | Sin licencia |
1 promotor, proyectos ilimitados, 1 ubicación | Sin licencia | 1199 dólares con soporte estándar o 1598 dólares con ayuda de pago |
1 desarrollador, proyectos ilimitados, ubicaciones ilimitadas | Sin licencia | $3,597 with standard support or $5,394 with ayuda de pago |
Hasta 10 promotores, 10 proyectos, hasta 10 ubicaciones | $2,999 con 1 año de asistencia gratuita | $5,995 with soporte estándar or $9,990 with ayuda de pago |
1 producto SaaS/OEM, 10 desarrolladores, 10 ubicaciones | 1.599 $ con 1 año de asistencia gratuita | Sin licencia |
Productos SaaS/OEM ilimitados, desarrolladores ilimitados, ubicaciones ilimitadas | 500 $ /mes (100.000 llamadas API) | $13,986 with soporte estándar or $21,985 with ayuda de pago |
Comprar una licencia | Licencias IronPDF | Licencias de Aspose PDF |
Mientras que Aspose ofrece varios niveles de precios de asistencia, IronPDF ofrece licencias más asequibles, opciones personalizables y asistencia gratuita para toda la cobertura.
Plataformas compatibles con Aspose PDF
Veamos el marco de trabajo y las plataformas compatibles con Aspose.PDF.
Si queremos utilizar el componente Aspose.PDF en nuestro proyecto, debemos asegurarnos de que cumplimos las dependencias en nuestro proyecto de Visual Studio:
System.Diagnostics.PerformanceCounter
(>= 4.5.0)System.Drawing.Common
(>= 4.7.0)System.Reflection.Emit
(>= 4.7.0)Sistema.Seguridad,Criptografía.Pkcs
(>= 4.7.0)System.Text.Encoding.CodePages
(>= 4.5.0)System.Diagnostics.PerformanceCounter
(>= 4.5.0)System.Drawing.Common
(>= 4.7.0)Sistema.Seguridad.Criptografía.Pkcs
(>= 4.7.0)System.Text.Encoding.CodePages
(>= 4.5.0).NET framework 4.0 o superior para:
Azure
.NET Standard 2.0 y Core 2, 3 y 5:
Azure
Servicios de alojamiento en nube incluidos:
AWS
IronPDF puede utilizarse con:
Iron.Assets.Rendering.Windows
(>= 20.0.0)
Iron.Assets.Rendering.Universal
(>= 20.0.0)System.Drawing.Common
(>= 4.7.0)Hay dos formas posibles de utilizar los componentes Aspose.PDF en nuestro proyecto, y no hay ninguna diferencia sea cual sea la que elija.
Abra el gestor de paquetes NuGet de su proyecto en Visual Studio y busque Aspose.Pdf
, luego instálelo.
Install-Package Aspose.Pdf
También puede descargar Aspose.PDF.dll y extraer el archivo descargado. Se crearán algunas carpetas y archivos.
Añada la referencia de este archivo en su proyecto de Visual Studio.
Ahora, puede utilizar las funciones y clases de Aspose.PDF utilizando el espacio de nombres Aspose.Pdf
.
También podemos instalar IronPDF en nuestro proyecto de dos maneras diferentes.
La técnica más sencilla es añadir IronPDF en el proyecto.
Install-Package IronPdf
Otra opción es descargar IronPDF.dll y, a continuación, añada su referencia al proyecto. Después de esto, podemos utilizar las clases IronPDF y las funciones proporcionadas desde el espacio de nombres using IronPdf
.
Tomemos el primer caso de uso importante: que queramos crear un archivo PDF mediante una cadena HTML y guardarlo en la ubicación de destino. Comparemos el código necesario y empecemos con IronPDF.
var converter = new IronPdf.ChromePdfRenderer();
string HTML = "<h1>Hello IronPDF!</h1> <h2>Welcome to PDF File</h2> ";
using var PDF = converter.RenderHtmlAsPdf(HTML);
PDF.SaveAs("Sample.pdf");
var converter = new IronPdf.ChromePdfRenderer();
string HTML = "<h1>Hello IronPDF!</h1> <h2>Welcome to PDF File</h2> ";
using var PDF = converter.RenderHtmlAsPdf(HTML);
PDF.SaveAs("Sample.pdf");
Dim converter = New IronPdf.ChromePdfRenderer()
Dim HTML As String = "<h1>Hello IronPDF!</h1> <h2>Welcome to PDF File</h2> "
Dim PDF = converter.RenderHtmlAsPdf(HTML)
PDF.SaveAs("Sample.pdf")
El código anterior creará un archivo PDF Sample.pdf y lo guardará en la ubicación de destino.
En el caso de que quieras generar el archivo Sample.pdf en Disco Local E entonces puedes escribir: PDF.SaveAs("E:Muestra.pdf");
Más información crear PDF a partir de HTML y trabajar con archivos PDF utilizando IronPDF.
using Aspose.Pdf;
static void Main(string [] args)
{
//Crear un nuevo objeto documento
Document doc = new Document();
//Añadir una página en el objeto documento
Page page = doc.Pages.Add();
//Generar cadena HTML
string HtmlStr = "<h1>Hello Aspose.PDF!</h1> <h2>Welcome to PDF File</h2> ";
//Crear fragmento html por encima de la cadena HTML
HtmlFragment HtmlFrg= new HtmlFragment(HtmlStr);
//Añadir fragmento html como párrafo en la página del documento
page.Paragraphs.Add(HtmlFrg);
//Guardar el archivo en la ubicación de destino
doc.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
using Aspose.Pdf;
static void Main(string [] args)
{
//Crear un nuevo objeto documento
Document doc = new Document();
//Añadir una página en el objeto documento
Page page = doc.Pages.Add();
//Generar cadena HTML
string HtmlStr = "<h1>Hello Aspose.PDF!</h1> <h2>Welcome to PDF File</h2> ";
//Crear fragmento html por encima de la cadena HTML
HtmlFragment HtmlFrg= new HtmlFragment(HtmlStr);
//Añadir fragmento html como párrafo en la página del documento
page.Paragraphs.Add(HtmlFrg);
//Guardar el archivo en la ubicación de destino
doc.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
Imports Aspose.Pdf
Shared Sub Main(ByVal args() As String)
'Crear un nuevo objeto documento
Dim doc As New Document()
'Añadir una página en el objeto documento
Dim page As Page = doc.Pages.Add()
'Generar cadena HTML
Dim HtmlStr As String = "<h1>Hello Aspose.PDF!</h1> <h2>Welcome to PDF File</h2> "
'Crear fragmento html por encima de la cadena HTML
Dim HtmlFrg As New HtmlFragment(HtmlStr)
'Añadir fragmento html como párrafo en la página del documento
page.Paragraphs.Add(HtmlFrg)
'Guardar el archivo en la ubicación de destino
doc.Save("Sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
El código anterior creará un nuevo archivo PDF Sample.pdf, igual que el que creamos con IronPDF.
Usando Aspose.PDF, primero tenemos que crear una nueva página, HtmlFragment
, y añadirla en el párrafo de la página, y luego guardarla en la ubicación de destino. IronPDF no tiene este tipo de estructura de codificación y proporciona una forma con muchas menos líneas de código.
Más información Convertir PDF con Aspose PDF DLL y trabajar con Aspose.PDF en aplicaciones .NET.
Tomemos ahora otro caso de uso: crear un archivo PDF a partir de un archivo HTML existente.
Nota: Supongamos que tenemos un archivo HTML MyHtmlFile.html que existe en la carpeta bin\Debug del proyecto, y queremos crear un archivo PDF a partir de él.
var converter = new IronPdf.ChromePdfRenderer();
using var PDF = converter.RenderHTMLFileAsPdf("MyHtmlFile.html");
PDF.SaveAs("Sample.pdf");
var converter = new IronPdf.ChromePdfRenderer();
using var PDF = converter.RenderHTMLFileAsPdf("MyHtmlFile.html");
PDF.SaveAs("Sample.pdf");
Dim converter = New IronPdf.ChromePdfRenderer()
Dim PDF = converter.RenderHTMLFileAsPdf("MyHtmlFile.html")
PDF.SaveAs("Sample.pdf")
El código anterior creará un nuevo archivo PDF Sample.pdf a partir del archivo MyHtmlFile.html.
using Aspose.Pdf;
static void Main(string [] args)
{
//crear objeto de opción de carga HTML
HtmlLoadOptions options = new HtmlLoadOptions();
//cargar archivo HTML en objeto documento
Document pdfDocument = new Document("MyHtmlFile.html", options);
//guardar en la ubicación de destino
pdfDocument.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
using Aspose.Pdf;
static void Main(string [] args)
{
//crear objeto de opción de carga HTML
HtmlLoadOptions options = new HtmlLoadOptions();
//cargar archivo HTML en objeto documento
Document pdfDocument = new Document("MyHtmlFile.html", options);
//guardar en la ubicación de destino
pdfDocument.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
Imports Aspose.Pdf
Shared Sub Main(ByVal args() As String)
'crear objeto de opción de carga HTML
Dim options As New HtmlLoadOptions()
'cargar archivo HTML en objeto documento
Dim pdfDocument As New Document("MyHtmlFile.html", options)
'guardar en la ubicación de destino
pdfDocument.Save("Sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
El código anterior también creará un nuevo archivo PDF Sample.pdf a partir de MyHtmlFile.html, pero aquí necesitamos especificar HtmlLoadOptions
.
Esta es la práctica Conversión de URL a PDF utilizando las API IronPDF y Aspose.PDF de C# .NET.
Aspose.PDF para .NET es una biblioteca que se utiliza para manipular archivos PDF y gestionar conversiones de y a PDF a distintos formatos. Aspose.PDF es un producto similar a IronPDF, pero tiene menos funciones. En este artículo convertimos un sitio web llamado medium.com utilizando tanto IronPDF como Aspose.PDF. Arriba están las capturas de pantalla de la salida de ambas APIs.
IronPDF hizo una copia casi perfecta de la página web y renderizó todas las barras laterales e imágenes con gran precisión. Por otro lado, Aspose.PDF no funcionaba bien porque dejaba detalles e imágenes fuera del archivo de salida.
IronPDF utilizó y renderizó todo el CSS y JavaScript de la página web sin errores. Para comparar, encontramos que Aspose.PDF pierde prácticamente todos los medium.com los archivos CSS y JavaScript de la página web. Aspose.PDF no podía hacer que los iconos y las imágenes aparecieran con precisión.
Aspose.PDF no renderiza barras de navegación, o barras laterales, como se muestra en las imágenes anteriores. Por otro lado, IronPDF los representó claramente e hizo un gran trabajo mostrando sus capacidades para convertir URL a HTML.
En este paso revisamos la precisión de la colocación de imágenes. Como todos sabemos, colocar las imágenes de forma incorrecta puede cambiar el significado de una página web; y, en algunos casos, hacen que todo el propósito de un ejercicio como éste carezca de sentido si el resultado no es exacto. El veredicto: Las imágenes están en los lugares equivocados en la salida generada por Aspose.PDF. En cambio, IronPDF coloca las imágenes con gran precisión.
Aspose.PDF tarda casi 10 veces más que IronPDF, pero sigue creando un PDF de muy baja calidad a partir de la URL. El motor de renderizado de Aspose.PDF es demasiado lento y de baja calidad. IronPDF crea PDF de alta calidad a partir de URL en sólo unos segundos.
Es un requisito común que tengamos que añadir encabezados y pies de página en las páginas PDF para diferentes propósitos, tales como incluir el nombre del documento, números de página, referencias, fecha y hora, u otras funciones similares. Ambos componentes ofrecen distintos tipos de funciones para llevarlas a cabo:
IronPDF tiene las siguientes propiedades mediante las cuales podemos establecer fácilmente Encabezados y Pies de página de las páginas de archivos PDF recién creados.
LeftText
para escribir texto en el lado izquierdo del Encabezado o Pie de Página.TextoDerecho
para escribir texto en el lado derecho del Encabezado o Pie de Página.CenterText
para escribir texto en el centro del Encabezado o Pie de Página.FontSize
para especificar el tamaño de la fuente del texto del Encabezado o Pie de Página.FontFamily
para especificar la familia de fuentes del Encabezado o Pie de Página.DrawDividerLine
para dibujar una línea que separe el contenido de la página y el Encabezado o Pie de Página.Espaciado para especificar el espacio entre el contenido de la página y el Encabezado o el Pie de página.
El siguiente ejemplo muestra cómo utilizar las propiedades anteriores.
/**
Header Footer Style Functions
anchor-ironpdf-headers-and-footers-functions
**/
using IronPdf;
static void Main(string [] args)
{
//Crear un conversor de HTML a PDF
var converter = new IronPdf.ChromePdfRenderer();
//Añadir cabecera
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
};
//Añadir pie de página
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Footer Text"
};
//Añadir contenido a la página
using var PDF = converter.RenderHtmlAsPdf("<h1>Page Content</h2>");
//guardar en la ubicación de destino
PDF.SaveAs("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
/**
Header Footer Style Functions
anchor-ironpdf-headers-and-footers-functions
**/
using IronPdf;
static void Main(string [] args)
{
//Crear un conversor de HTML a PDF
var converter = new IronPdf.ChromePdfRenderer();
//Añadir cabecera
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
};
//Añadir pie de página
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Footer Text"
};
//Añadir contenido a la página
using var PDF = converter.RenderHtmlAsPdf("<h1>Page Content</h2>");
//guardar en la ubicación de destino
PDF.SaveAs("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
'''
'''Header Footer Style Functions
'''anchor-ironpdf-headers-and-footers-functions
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'Crear un conversor de HTML a PDF
Dim converter = New IronPdf.ChromePdfRenderer()
'Añadir cabecera
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.LeftText = "Header Text",
.RightText = "{date} {time}"
}
'Añadir pie de página
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {.RightText = "Footer Text"}
'Añadir contenido a la página
Dim PDF = converter.RenderHtmlAsPdf("<h1>Page Content</h2>")
'guardar en la ubicación de destino
PDF.SaveAs("Sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
El código anterior creará un archivo PDF, Sample.pdf, e imprimirá el texto del encabezado en el lado izquierdo del encabezado, la fecha y la hora en el lado derecho del encabezado y el texto del pie de página en el lado derecho del pie de página.
Más información Añadir encabezado y pie de página en una conversión de HTML a PDF con la lista completa de funciones proporcionadas por IronPDF.
Para tratar los encabezados y pies de página, Aspose.PDF introdujo la clase TextStamp
. Con él, podemos añadir fácilmente encabezados y pies de página en las páginas de archivos PDF y establecer sus propiedades. Hay muchas subclases de TextStamp
, pero aquí vamos a discutir las tres clases básicas y sus propiedades que se utilizan comúnmente en nuestro trabajo diario.
**Alineación vertical. (se utiliza para establecer la alineación vertical de TextStamp
y tiene las siguientes propiedades)
_None_
para ninguna alineación vertical._Top_
establece la alineación vertical en la parte superior._Center_
establece la alineación vertical en el centro._Bottom_
establece la alineación vertical la parte inferior.
**Alineación horizontal. (se utiliza para establecer la alineación horizontal de TextStamp
y tiene las siguientes propiedades)
_None_
para ninguna alineación horizontal._Left_
establece la alineación horizontal a la izquierda._Right_
establece la alineación horizontal a la derecha._Center_
establece la alineación horizontal en el centro._Justify_
El texto se alineará en los márgenes izquierdo y derecho._FullJustify_
todas las líneas estarán alineadas a la izquierda y a la derecha
TextState
(se utiliza para establecer las propiedades del texto, y tiene algunas propiedades básicas)
_Font_
establece la fuente del texto_FontStyles_
establece el estilo de fuente del texto._FontSize_
establece el tamaño de la fuente del texto._Color_
establece el color del texto._Underline_
establece el subrayado para el texto._StrikeOut_
establece el estilo de tachado para el texto.
Consulte el siguiente ejemplo para saber cómo utilizar las propiedades anteriores para establecer el Encabezado y el Pie de página.
using Aspose.Pdf;
static void Main(string [] args)
{
Document doc = new Document();
Page page = doc.Pages.Add();
HtmlFragment html = new HtmlFragment("<h1>Page Content</h2>");
page.Paragraphs.Add(html);
//Añadir texto de cabecera
TextStamp title = new TextStamp("Header Text");
title.VerticalAlignment = VerticalAlignment.Top;
title.HorizontalAlignment = HorizontalAlignment.Left;
title.TextState.FontSize = 20;
doc.Pages [1].AddStamp(title);
//Añadir fecha y hora de cabecera
TextStamp datetime = new TextStamp(System.DateTime.Now.ToString());
datetime.VerticalAlignment = VerticalAlignment.Top;
datetime.HorizontalAlignment = HorizontalAlignment.Right;
datetime.TextState.FontSize = 20;
doc.Pages [1].AddStamp(datetime);
//Añadir texto a pie de página
TextStamp footer = new TextStamp("Footer Text");
footer.VerticalAlignment = VerticalAlignment.Bottom;
footer.HorizontalAlignment = HorizontalAlignment.Right;
footer.TextState.FontSize = 20;
doc.Pages [1].AddStamp(footer);
doc.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
using Aspose.Pdf;
static void Main(string [] args)
{
Document doc = new Document();
Page page = doc.Pages.Add();
HtmlFragment html = new HtmlFragment("<h1>Page Content</h2>");
page.Paragraphs.Add(html);
//Añadir texto de cabecera
TextStamp title = new TextStamp("Header Text");
title.VerticalAlignment = VerticalAlignment.Top;
title.HorizontalAlignment = HorizontalAlignment.Left;
title.TextState.FontSize = 20;
doc.Pages [1].AddStamp(title);
//Añadir fecha y hora de cabecera
TextStamp datetime = new TextStamp(System.DateTime.Now.ToString());
datetime.VerticalAlignment = VerticalAlignment.Top;
datetime.HorizontalAlignment = HorizontalAlignment.Right;
datetime.TextState.FontSize = 20;
doc.Pages [1].AddStamp(datetime);
//Añadir texto a pie de página
TextStamp footer = new TextStamp("Footer Text");
footer.VerticalAlignment = VerticalAlignment.Bottom;
footer.HorizontalAlignment = HorizontalAlignment.Right;
footer.TextState.FontSize = 20;
doc.Pages [1].AddStamp(footer);
doc.Save("Sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
Imports System
Imports Aspose.Pdf
Shared Sub Main(ByVal args() As String)
Dim doc As New Document()
Dim page As Page = doc.Pages.Add()
Dim html As New HtmlFragment("<h1>Page Content</h2>")
page.Paragraphs.Add(html)
'Añadir texto de cabecera
Dim title As New TextStamp("Header Text")
title.VerticalAlignment = VerticalAlignment.Top
title.HorizontalAlignment = HorizontalAlignment.Left
title.TextState.FontSize = 20
doc.Pages (1).AddStamp(title)
'Añadir fecha y hora de cabecera
Dim datetime As New TextStamp(DateTime.Now.ToString())
datetime.VerticalAlignment = VerticalAlignment.Top
datetime.HorizontalAlignment = HorizontalAlignment.Right
datetime.TextState.FontSize = 20
doc.Pages (1).AddStamp(datetime)
'Añadir texto a pie de página
Dim footer As New TextStamp("Footer Text")
footer.VerticalAlignment = VerticalAlignment.Bottom
footer.HorizontalAlignment = HorizontalAlignment.Right
footer.TextState.FontSize = 20
doc.Pages (1).AddStamp(footer)
doc.Save("Sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
Esto creará el mismo archivo PDF Sample.pdf que creamos usando IronPDF: Texto de Encabezado en el lado izquierdo del Encabezado, Fecha Hora en el lado derecho del Encabezado y Texto de Pie de Página en el lado derecho del pie de página.
Puede comparar la facilidad de trabajo con IronPDF y sus sencillas funciones con la lista proporcionada por Aspose.
Más información sobre el uso de Aspose Gestionar Encabezado y Pie de Página de Archivo PDF.
Supongamos que queremos crear un archivo PDF a partir de una cadena HTML, y luego añadir un número de página al encabezado de la página.
var converter = new IronPdf.ChromePdfRenderer();
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
};
string html = "<h1 style='text-align:center'>Welcome To IronPdf</h1>";
using var PDF = converter.RenderHtmlAsPdf(html);
PDF.SaveAs("Sample.pdf");
var converter = new IronPdf.ChromePdfRenderer();
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
};
string html = "<h1 style='text-align:center'>Welcome To IronPdf</h1>";
using var PDF = converter.RenderHtmlAsPdf(html);
PDF.SaveAs("Sample.pdf");
Dim converter = New IronPdf.ChromePdfRenderer()
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {.RightText = "Page {page} of {total-pages}"}
Dim html As String = "<h1 style='text-align:center'>Welcome To IronPdf</h1>"
Dim PDF = converter.RenderHtmlAsPdf(html)
PDF.SaveAs("Sample.pdf")
El código anterior creará un archivo PDF Sample.pdf, insertará los datos HTML y añadirá el número de página en el encabezado de página.
Salida: He aquí una captura de pantalla de nuestro archivo sample.pdf recién creado.
Aspose.PDF no proporciona la función predefinida para establecer encabezados y pies de página, a diferencia de IronPDF. Usando Aspose.PDF, tendríamos que trabajar con PageNumberStamp
y establecer su alineación para el Encabezado y el Pie en la página PDF. Véase el ejemplo siguiente.
using Aspose.Pdf;
static void Main(string [] args)
{
//Crear un nuevo documento
Document doc = new Document();
//Nueva página del documento
Page page = doc.Pages.Add();
//Cadena HTML de origen
string html = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1>";
//Crear fragmento HTML para cadena fuente
HtmlFragment frag = new HtmlFragment(html);
//Añadir fragmento como párrafo de página
page.Paragraphs.Add(frag);
//Crear sello de número de página
PageNumberStamp pageNumberStamp = new PageNumberStamp();
//Configurar su txt para imprimir
pageNumberStamp.Format = "Page # of " + doc.Pages.Count;
pageNumberStamp.VerticalAlignment = VerticalAlignment.Top;
pageNumberStamp.HorizontalAlignment = HorizontalAlignment.Right;
// Añadir PageNumberStamp a la página
page.AddStamp(pageNumberStamp);
//Guardar documento en la ubicación de destino
doc.Save("sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
using Aspose.Pdf;
static void Main(string [] args)
{
//Crear un nuevo documento
Document doc = new Document();
//Nueva página del documento
Page page = doc.Pages.Add();
//Cadena HTML de origen
string html = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1>";
//Crear fragmento HTML para cadena fuente
HtmlFragment frag = new HtmlFragment(html);
//Añadir fragmento como párrafo de página
page.Paragraphs.Add(frag);
//Crear sello de número de página
PageNumberStamp pageNumberStamp = new PageNumberStamp();
//Configurar su txt para imprimir
pageNumberStamp.Format = "Page # of " + doc.Pages.Count;
pageNumberStamp.VerticalAlignment = VerticalAlignment.Top;
pageNumberStamp.HorizontalAlignment = HorizontalAlignment.Right;
// Añadir PageNumberStamp a la página
page.AddStamp(pageNumberStamp);
//Guardar documento en la ubicación de destino
doc.Save("sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
Imports Aspose.Pdf
Shared Sub Main(ByVal args() As String)
'Crear un nuevo documento
Dim doc As New Document()
'Nueva página del documento
Dim page As Page = doc.Pages.Add()
'Cadena HTML de origen
Dim html As String = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1>"
'Crear fragmento HTML para cadena fuente
Dim frag As New HtmlFragment(html)
'Añadir fragmento como párrafo de página
page.Paragraphs.Add(frag)
'Crear sello de número de página
Dim pageNumberStamp As New PageNumberStamp()
'Configurar su txt para imprimir
pageNumberStamp.Format = "Page # of " & doc.Pages.Count
pageNumberStamp.VerticalAlignment = VerticalAlignment.Top
pageNumberStamp.HorizontalAlignment = HorizontalAlignment.Right
' Añadir PageNumberStamp a la página
page.AddStamp(pageNumberStamp)
'Guardar documento en la ubicación de destino
doc.Save("sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
Salida: Aquí está la captura de pantalla del archivo sample.pdf recién creado.
A menudo necesitamos añadir marcas de agua en las páginas de nuestros archivos PDF por cuestiones de publicidad, seguridad o derechos de autor. Vamos a crear un archivo PDF a partir de una cadena HTML y, a continuación, añadiremos una marca de agua utilizando ambos componentes.
Para añadir una marca de agua en la página PDF, IronPDF proporciona la clase WatermarkPage
.
WatermarkPage
Definición: WatermarkPage (WatermarkText, PageIndex, WaterMarkLocation, Opacity, Rotation, Hyperlink)
;
WatermarkText
= el texto real escrito en HTML que se muestra como texto de marca de agua.PageIndex
= escribir el número de página como Marca de Agua.Opacity
= establece la opacidad de la Marca de Agua.Rotation
= establece la rotación del contenido de la marca de agua en el sentido de las agujas del reloj.Hyperlink
= hipervínculo al que enlazará la Marca de agua.WaterMarkLocation
= establece la posición de la Marca de Agua, que podemos establecer utilizando las siguientes posiciones:TopLeft
TopCenter
TopRight
MiddleLeft
MiddleRight
InferiorIzquierda
BottomCenter
BottomRight
Veamos el siguiente ejemplo, donde entenderemos cómo utilizar las funciones anteriores en nuestro proyecto.
using IronPdf;
var converter = new IronPdf.ChromePdfRenderer();
string html = "<h1 style='text-align:center'>Welcome To IronPdf</h1><h2 style='text-align:center'>Page Content</h2>";
using var PDF = converter.RenderHtmlAsPdf(html);
//Crear cadena para marca de agua
string WMStr = "<h1 style='color:red'>Sample WaterMark</h1>";
//Añadir marca de agua
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter,100,-45, "");
PDF.SaveAs("sample.pdf");
using IronPdf;
var converter = new IronPdf.ChromePdfRenderer();
string html = "<h1 style='text-align:center'>Welcome To IronPdf</h1><h2 style='text-align:center'>Page Content</h2>";
using var PDF = converter.RenderHtmlAsPdf(html);
//Crear cadena para marca de agua
string WMStr = "<h1 style='color:red'>Sample WaterMark</h1>";
//Añadir marca de agua
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter,100,-45, "");
PDF.SaveAs("sample.pdf");
Imports IronPdf
Private converter = New IronPdf.ChromePdfRenderer()
Private html As String = "<h1 style='text-align:center'>Welcome To IronPdf</h1><h2 style='text-align:center'>Page Content</h2>"
Private PDF = converter.RenderHtmlAsPdf(html)
'Crear cadena para marca de agua
Private WMStr As String = "<h1 style='color:red'>Sample WaterMark</h1>"
'Añadir marca de agua
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter,100,-45, "")
PDF.SaveAs("sample.pdf")
Salida: Aquí está la captura de pantalla del archivo sample.pdf recién creado con marca de agua.
Si queremos añadir una marca de agua en varias páginas, pero no en todas, podemos utilizar la función WatermarkPages
de la siguiente manera:
WatermarkPages(WaterMark Text, new [] { PageIndex 1, PageIndex 2,...., PageIndex N }, WaterMarkLocation, Opacity, rotation)
WatermarkPages(WaterMark Text, new [] { PageIndex 1, PageIndex 2,...., PageIndex N }, WaterMarkLocation, Opacity, rotation)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WatermarkPages(WaterMark Text, New [] { PageIndex 1, PageIndex 2,...., PageIndex N }, WaterMarkLocation, Opacity, rotation)
Si queremos añadir una marca de agua en todas las páginas, podemos utilizar la opción WatermarkAllPages
.() así: WatermarkAllPages(WaterMark Text,WaterMarkLocation, opacidad, rotación);
Más información añadir una marca de agua a los PDF.
Aspose.PDF no proporciona una función especial para añadir texto como marca de agua, a diferencia de IronPDF. En su lugar, debemos utilizar la clase TextStamp
. Veamos cómo funciona.
using Aspose.Pdf;
using Aspose.Pdf.Text;
static void Main(string [] args)
{
//crear un nuevo documento
Document pdfDocument = new Document();
//añadir una nueva página al documento
Page page = pdfDocument.Pages.Add();
//cadena HTML de origen
string HtmlStr = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1><h2 style='text-align:center'>Page Content</h2>";
//crear fragmento HTML por cadena HTML de origen
HtmlFragment HtmlFrg = new HtmlFragment(HtmlStr);
//añadir fragmento HTML como párrafo de página
page.Paragraphs.Add(HtmlFrg);
//Cadena de marca de agua
string WMStr = "Sample WaterMark";
//crear TextStamp de la cadena anterior
TextStamp textStamp = new TextStamp(WMStr);
//configuración de las propiedades de TextStamp
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Center;
textStamp.RotateAngle = 45;
textStamp.TextState.Font = FontRepository.FindFont("Times New Roman");
textStamp.TextState.FontSize = 15F;
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
//añadir a la página específica
pdfDocument.Pages [1].AddStamp(textStamp);
//guardar en la ubicación de destino
pdfDocument.Save("sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
using Aspose.Pdf;
using Aspose.Pdf.Text;
static void Main(string [] args)
{
//crear un nuevo documento
Document pdfDocument = new Document();
//añadir una nueva página al documento
Page page = pdfDocument.Pages.Add();
//cadena HTML de origen
string HtmlStr = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1><h2 style='text-align:center'>Page Content</h2>";
//crear fragmento HTML por cadena HTML de origen
HtmlFragment HtmlFrg = new HtmlFragment(HtmlStr);
//añadir fragmento HTML como párrafo de página
page.Paragraphs.Add(HtmlFrg);
//Cadena de marca de agua
string WMStr = "Sample WaterMark";
//crear TextStamp de la cadena anterior
TextStamp textStamp = new TextStamp(WMStr);
//configuración de las propiedades de TextStamp
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Center;
textStamp.RotateAngle = 45;
textStamp.TextState.Font = FontRepository.FindFont("Times New Roman");
textStamp.TextState.FontSize = 15F;
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
//añadir a la página específica
pdfDocument.Pages [1].AddStamp(textStamp);
//guardar en la ubicación de destino
pdfDocument.Save("sample.pdf");
Console.WriteLine("PDF File Successfully Created....");
Console.ReadKey();
}
Imports Aspose.Pdf
Imports Aspose.Pdf.Text
Shared Sub Main(ByVal args() As String)
'crear un nuevo documento
Dim pdfDocument As New Document()
'añadir una nueva página al documento
Dim page As Page = pdfDocument.Pages.Add()
'cadena HTML de origen
Dim HtmlStr As String = "<h1 style='text-align:center'>Welcome To Aspose.PDF</h1><h2 style='text-align:center'>Page Content</h2>"
'crear fragmento HTML por cadena HTML de origen
Dim HtmlFrg As New HtmlFragment(HtmlStr)
'añadir fragmento HTML como párrafo de página
page.Paragraphs.Add(HtmlFrg)
'Cadena de marca de agua
Dim WMStr As String = "Sample WaterMark"
'crear TextStamp de la cadena anterior
Dim textStamp As New TextStamp(WMStr)
'configuración de las propiedades de TextStamp
textStamp.HorizontalAlignment = HorizontalAlignment.Center
textStamp.VerticalAlignment = VerticalAlignment.Center
textStamp.RotateAngle = 45
textStamp.TextState.Font = FontRepository.FindFont("Times New Roman")
textStamp.TextState.FontSize = 15F
textStamp.TextState.FontStyle = FontStyles.Bold
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red)
'añadir a la página específica
pdfDocument.Pages (1).AddStamp(textStamp)
'guardar en la ubicación de destino
pdfDocument.Save("sample.pdf")
Console.WriteLine("PDF File Successfully Created....")
Console.ReadKey()
End Sub
Salida: Y aquí está la captura de pantalla del archivo sample.pdf sellado.
Más información sobre el uso de Aspose PDF añadir sello y marca de agua en sus archivos y proyectos.
Cuando se habla de Marcas de agua en páginas seleccionadas o en varias páginas, no hay funciones especificadas al utilizar Aspose.PDF. Pero podemos hacerlo utilizando la iteración de páginas de un archivo PDF con For Loop, While Loop, o ForEach
Loop etc. Esto crea código voluminoso y nos obliga a añadir diferentes condiciones si queremos añadir una marca de agua sólo en las páginas seleccionadas.
Como desarrolladores, todos queremos completar nuestros proyectos con un coste y unos recursos mínimos, y el presupuesto puede ser especialmente importante. Revise la tabla para comparar qué licencia se adapta mejor a sus necesidades y presupuesto.
IronPDF ofrece licencias con un número personalizable de desarrolladores, proyectos y ubicaciones, para que pueda satisfacer las necesidades de su proyecto y pagar sólo por la cobertura que necesita. Echa un vistazo a la Licencias HTML a PDF o póngase en contacto con el equipo de asistencia para obtener un presupuesto personalizado y 30 días de prueba gratuita.
IronPDF | Aspose.PDF |
---|---|
Trabaja con archivos PDF mediante programación. | Trabaja con archivos PDF mediante programación. |
Desarrollado en .NET framework utilizando C#. | Desarrollado en .NET framework utilizando C#. |
Compatible con Windows, Linux y macOS. | Compatible con Windows, Linux y macOS. |
Proporciona una forma generalizada de convertir .aspx página a archivo PDF. | No hay una forma generalizada de convertir .aspx páginas a un archivo PDF. |
Proporciona funciones predefinidas para Encabezado y Pie de Página. | No hay funciones predefinidas para el encabezado y el pie de página, es necesario utilizar Sello de texto . |
Puede establecer las propiedades de estilo de la marca de agua utilizando HTML y CSS. | No es compatible con HTML y CSS para Sello de texto propiedades estilísticas. |
Adjunte fácilmente una portada a un PDF con sólo unas líneas de código. | Es más difícil añadir una portada a un archivo PDF. |
Las licencias comienzan en $749. | Las licencias cuestan a partir de 999 dólares. |
Aspose ofrece una gama de componentes que se adaptan a las necesidades de su proyecto. Consulte la lista completa a continuación y compárela con otros productos IronPDF para obtener precios competitivos y funciones de código claras y condensadas.
Componente | Admite | Utilización | Comparación IronSoftware |
---|---|---|---|
Aspose.Words | .NET, Java, C++, Android vía Java | Crea, edita, convierte e imprime archivos Word. | |
Aspose.PDF | .NET, Java, C++, Android vía Java | Trabaje con archivos PDF para generar, editar y manipular los PDF mediante programación. | IronPDF |
Aspose.Cells | .NET, Java, C++, Android vía Java, NodeJS via Java, PHP via Java, Python via Java | Cree, edite, importe, exporte y convierta archivos Excel a muchos formatos. | IronXL |
Aspose.Email | .NET, Java, C++, Android vía Java, Python via .NET | Cree, manipule, convierta y envíe correos electrónicos de Outlook, e implemente protocolos de red como SMTP, POP3 e IMAP. | |
Aspose.Slides | .NET, .NET Core, Java, C++, Android vía Java, Xamarin | Cree, gestione y convierta presentaciones y diapositivas de PowerPoint. | |
Aspose.Imaging | .NET, Java | Dibujar, manipular, convertir y transformar imágenes. | |
Aspose.BarCode | .NET, Java, C++, Android vía Java, NodeJS via Java, PHP via Java | Cree y escanee cualquier tipo de códigos de barras, por ejemplo, 1D, 2D y postales. | IronBarCode |
Aspose.Diagrama | .NET, Java, Node.JS vía Java | Trabaje con archivos de Microsoft Visio para crearlos, editarlos y convertirlos en cualquier plataforma. | |
Aspose.CAD | .NET, Java | Convierte dibujos de AutoCAD, DWG y DXF a PDF e imágenes rasterizadas. | |
Aspose.PSD | .NET, Java | Cree, edite y convierta archivos de Adobe Photoshop y Adobe Illustrator mediante programación. |
Explore la Referencia de la API de 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