Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Una Comparación entre IronPDF y XFINIUM.PDF

La tecnología en continuo mejoramiento significa soluciones más inteligentes para todos, especialmente para los desarrolladores. La automatización es ahora la clave para los procesos de desarrollo de software. Trabajar con archivos PDF en C# ha sido problemático para los desarrolladores durante muchos años. Hay muchos factores a considerar al crear contenido para archivos PDF, y aún más al convertir contenido de diferentes formatos a PDF. Estos problemas se han resuelto ahora con la construcción de múltiples bibliotecas diseñadas para ayudar a leer, escribir, crear y convertir a PDF desde diferentes formatos.

Este artículo comparará dos de las bibliotecas PDF más populares para desarrolladores .NET y .NET Core. Estas dos bibliotecas son:

  • La biblioteca IronPDF
  • La biblioteca XFINIUM.PDF

IronPDF y XFINIUM.PDF son dos bibliotecas que proporcionan métodos para crear, manipular e imprimir PDFs en .NET y .NET Core. La siguiente pregunta es decidir cuál biblioteca PDF en C# es mejor para tu proyecto .NET. Puedes evaluar tu decisión leyendo la siguiente comparación entre las dos bibliotecas y sus respectivas características destacadas para la conversión y manipulación de PDFs.

Primero, echemos un vistazo a lo que tienen para ofrecer las dos bibliotecas, y luego pasemos a la comparación en sí.

La biblioteca XFINIUM.PDF y sus características

La biblioteca XFINIUM.PDF es una biblioteca multiplataforma para el desarrollo de PDFs. Ofrece una amplia variedad de capacidades tanto para el desarrollador PDF amateur como para el superior. Tanto si deseas crear un informe, rellenar un formulario PDF, construir un portafolio PDF, redactar datos sensibles de un informe PDF o convertir un informe PDF en una imagen TIFF multipágina.

XFINIUM.PDF está disponible en dos ediciones: la Edición Generadora, que incluye producción y edición de PDF, y la Edición Visualizadora, que contiene todas las funcionalidades de la Edición Generadora más el renderizado y visualización de PDF. La sección de Características explica qué características se incluyen en ambas ediciones y cuáles solo están disponibles en la Edición Visualizadora.

XFINIUM.PDF fue escrita enteramente en C# y es código completamente gestionado. Se licencia por desarrollador con distribución libre de regalías, lo que te permite distribuir tu programa libremente sin incurrir en más costos.

¿Cuál es la diferencia entre las ediciones Generator y Viewer?

La Edición Generadora es un subconjunto de la Edición Visualizadora. La Edición Generadora ofrece funcionalidad PDF para crear y editar PDFs, mientras que la Edición Visualizadora agrega capacidades de renderizado PDF a la Edición Generadora. La Edición Visualizadora puede convertir páginas PDF en imágenes RAW, BMP, GIF, JPG, PNG, y TIFF.

Especificación XFINIUM.PDF

Algunas de las características importantes incluyen:

Seguridad

  • Contraseñas de usuario y propietario
  • Derechos de acceso a documentos
  • Cifrado RC4 de 40 bits y 128 bits
  • Cifrado AES de 128 bits y 256 bits
  • Redacción de contenido
  • Desactivar copia/pegado de texto

Firmas digitales

  • Aprobación y certificación de firmas digitales con certificados X509
  • Firmas digitales CMS y PAdES básicas con SHA256 / SHA384 / SHA512
  • Tiempos de firma
  • Información de OCSP y CRL incluida en firmas digitales
  • Almacenamiento seguro de documentos.
  • Tiempos de documentos
  • LTV (Validación a Largo Plazo) habilitada en firmas digitales
  • Decodificar firmas existentes en objetos ASN.1
  • Extraer el certificado de firmas digitales
  • Guardar copias firmadas de documentos PDF

Barcode

  • Motor de código de barras vectorial, sin imágenes ni fuentes.
  • Códigos de barras unidimensionales:
    • Códigos de barras genéricos: Codabar, Code 11, Code 25, Code 25 Interleaved, Code 39, Code 39 Extended, Code 93, Code 93 Extended, Code 128 A, Code 128 B, Code 128 C, COOP 25, Matrix 25, MSI/Plessey
    • Códigos de barras farmacéuticos: Code 32, Pharmacode, PZN (Pharma-Zentral-Nummer)
  • Códigos de barras bidimensionales:
    • DataMatrix, QR, PDF417, Micro PDF417, Codablock F, Code 16K

Extracción de contenido

  • Extraer texto con información de posición a nivel de fragmento y nivel de glifo
  • Extraer texto como palabras con información de posición a nivel de palabras y nivel de glifo
  • Extraer texto y palabras de regiones definidas por el usuario
  • Extraer imágenes incluyendo información de imagen como tamaño de imagen en píxeles, bits por píxel, espacio de color, posición de la imagen en la página PDF, tamaño de la imagen en la página PDF, resolución horizontal y vertical de la imagen

API COS de bajo nivel

  • Añadir, editar y eliminar objetos COS
  • Objetos COS soportados: cadenas, números, nombres, booleanos, nulos, arreglos, diccionarios y flujos

Representación de PDF (sólo edición Viewer)

  • Renderizar páginas PDF a imágenes: RAW, BMP, GIF, JPG, PNG, y TIFF en layouts de bytes ARGB, RGBA, BGRA, RGB, BGR y Escala de Grises para imágenes RAW
  • PDF a TIFF multipágina (color/escala de grises/B&N CCITT G4)

Características principales de IronPDF

La biblioteca PDF .NET de IronPDF es un sueño hecho realidad para los desarrolladores, especialmente los programadores en C#. Con esta increíble herramienta, puedes construir fácilmente una biblioteca central de PDF para .NET.

IronPDF convierte páginas HTML en archivos PDF utilizando el motor .NET Chromium. No es necesario usar APIs complicadas para ubicar o diseñar PDFs con HTML a PDF. IronPDF soporta documentos estándar en línea, incluidos HTML, ASPX, JS, CSS e imágenes.

También puedes usar HTML5, CSS, JavaScript e imágenes para desarrollar una biblioteca PDF .NET. Un PDF puede editarse fácilmente, estamparse y añadirse con encabezados y pies de página. También facilita la lectura de texto PDF y la extracción de gráficos.

Descarga IronPDF de forma gratuita y comienza a usarlo en tus proyectos .NET hoy.

Características destacadas de la biblioteca IronPDF C

Aquí hay algunas de las características clave:

Producir PDFs (HTML a PDF)

  • HTML4/5, CSS y JavaScript pueden ser utilizados para crear documentos PDF.
  • Cargar URL con credenciales de acceso de red personalizadas, agentes de usuario, proxies, cookies, cabeceras HTTP y variables de formulario para habilitar el inicio de sesión detrás de formularios de inicio de sesión HTML.

Se pueden editar documentos PDF existentes sin Adobe Acrobat

  • Los datos de los campos de formulario deben ser leídos y completados.
  • De un PDF, extraer gráficos y texto.
  • Se puede actualizar cualquier página PDF actual con nuevo contenido HTML.
  • Los encabezados y pies de página deben ser lógicos o HTML.

Los documentos PDF existentes se pueden manipular

  • Los documentos PDF existentes pueden ser cargados y analizados.
  • El contenido en documentos PDF puede ser fusionado y separado.
  • Añadir encabezados, pies de página, anotaciones, marcadores, marcas de agua, texto y activos de imagen.

Convertir a partir de una variedad de formatos de archivo

  • ASPX WebForms: convierte formularios web ASP.NET a PDFs imprimibles visualizados en el navegador con solo tres líneas de código.
  • Convertir HTML a PDF en un documento.
  • 'URL base' personalizada para permitir que los archivos de activos sean accesibles desde cualquier lugar de Internet.
  • El Viewport Virtual permite diseño responsivo (ancho y alto).
  • Acepta archivos HTML codificados en cualquiera de los formatos de archivo principales (por defecto UTF-8).

Imprimir y guardar

  • Los archivos, datos binarios y MemoryStreams pueden ser guardados y cargados.
  • Tipos de medios CSS de televisión o pantalla para imprimir.
  • Imprimir archivos PDF sin Adobe Acrobat convirtiéndolos en un objeto PrintDocument (con código mínimo).
  • Archivos de log oficiales con información sobre el éxito de la API y errores de depuración en el código fuente pueden ser exportados.

IronPDF está disponible en casi todos los sistemas operativos y frameworks compatibles con C#, incluyendo los siguientes:

  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • Cumplimiento de .NET Standard 2.0 para compatibilidad universal
  • Azure
  • AWS
  • Docker
  • Linux
  • Windows

Instalación de la biblioteca C# de IronPDF

Hay cuatro formas de descargar e instalar la biblioteca IronPDF. Estos son los siguientes:

  1. Usando Visual Studio
  2. El Símbolo del Sistema del Desarrollador
  3. Descargar el Paquete NuGet directamente
  4. Descarga la biblioteca IronPDF .DLL

Uso de Visual Studio

Visual Studio proporciona el Administrador de Paquetes NuGet para instalar paquetes NuGet en tus proyectos. Puedes acceder a él a través del menú Proyecto, o haciendo clic derecho en tu proyecto en el Explorador de Soluciones. Ambas opciones se muestran en las capturas de pantalla a continuación como Figuras 1 y 2.

Accessing the NuGet Package Manager using the Project Menu in Visual Studio

Figura 1. Acceso al gestor de paquetes NuGet mediante el menú Proyecto de Visual Studio

Accessing the NuGet Package Manager using the Context Menu in Visual Studio

Figura 2. Acceso al gestor de paquetes NuGet mediante el menú contextual de Visual Studio

Una vez seleccionada, navega por el paquete IronPDF e instálalo, como se muestra en la captura de pantalla a continuación.

Installing the IronPDF library using the NuGET Package Manager in Visual Studio

Figura 3. Instalación de la biblioteca IronPDF mediante el gestor de paquetes NuGET en Visual Studio

Uso del símbolo del sistema para desarrolladores

Otra forma de descargar e instalar la biblioteca C# de IronPDF es hacer uso de los siguientes pasos para instalar el paquete NuGet IronPDF a través del Símbolo del Sistema del Desarrollador.

  • Abre el Símbolo del Sistema del Desarrollador, generalmente encontrado bajo la carpeta de Visual Studio
  • Escribe el siguiente comando:

    nuget install IronPdf
    nuget install IronPdf
    SHELL
  • Presiona Enter
  • Esto descargará e instalará el paquete
  • Recarga tu proyecto de Visual Studio y comienza a usarlo

Descargue el paquete NuGet directamente

La tercera forma de descargar e instalar IronPDF es seguir los pasos a continuación. Esto se puede hacer visitando el sitio de NuGet directamente y descargando el paquete. Los pasos son:

  • Navega a Página de IronPDF NuGet
  • Selecciona Descargar Paquete
  • Haz doble clic en el paquete descargado
  • El paquete se instalará
  • Recarga tu proyecto de Visual Studio y comienza a usarlo

Instale IronPDF descargando la biblioteca

Puede descargar el archivo IronPDF .DLL directamente desde Descarga de IronPDF.

Downloading the IronPDF Library DLL from the IronPDF website

Figura 4. Descarga de la biblioteca DLL IronPDF desde el sitio web de IronPDF

Referencia la biblioteca en tu proyecto siguiendo los siguientes pasos:

  • Haz clic derecho en la Solución en el Explorador de Soluciones
  • Selecciona Referencias • Busca la librería IronPDF.dll
  • Haz clic en OK

¡Todo listo! IronPDF se descarga, se instala y está listo para usar. Sin embargo, antes de eso, deberíamos instalar la API XFINIUM.PDF.

Instalación de XFINIUM.PDF

En .NET Core, podemos instalar Xfinium PDF ya sea como un complemento de pastel o como una herramienta de pastel.

# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Addin
#addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Tool
#tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
SHELL

A continuación, profundicemos en la comparación entre IronPDF y XFINIUM.PDF.

Creación de un documento PDF sencillo en .NET Core

En el mundo de hoy, los desarrolladores de software deben saber cómo crear un archivo PDF dinámicamente utilizando código C#, ya que esto es necesario en prácticamente todos los proyectos. Es posible que necesites crear un archivo PDF por una variedad de razones, como generar un informe a partir de la entrada del usuario, guardar el texto del usuario como PDF, extraer información HTML y convertirla a PDF, etc.

Ambas bibliotecas incluyen la capacidad de convertir una página HTML a PDF. Echemos un vistazo al código de cada biblioteca una por una.

Uso de IronPDF

IronPDF tiene múltiples métodos para crear archivos PDF.

Red URL existente a PDF

IronPDF lo hace sencillo para convertir HTML en documentos PDF desde urls existentes. JavaScript, imágenes, formularios y CSS tienen un alto nivel de soporte.

IronPDF se utiliza en el siguiente código para crear un documento PDF directamente desde una dirección web.

// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the PDF
Pdf.SaveAs("url.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render a URL to PDF
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Save the PDF
Pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Cadena de entrada HTML a PDF

El siguiente código demuestra cómo una cadena de entrada HTML puede ser utilizada para renderizar una página PDF. Puedes usar solo HTML, o combinarlo con CSS, imágenes y JavaScript.

// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();

// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");

// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");

// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer = New IronPdf.ChromePdfRenderer()

' Render a simple HTML string to PDF
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")

' Save the PDF
PDF.SaveAs("pixel-perfect.pdf")

' Load external HTML assets: images, CSS, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")

' Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Uso de XFINIUM.PDF

Usar XFINIUM.PDF para crear un documento PDF blanco requiere solo tres líneas de código: una línea para crear el documento, una línea para crear una página y otra línea para guardar el documento.

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();

// Add a page to the document
PdfPage page = document.Pages.Add();

// Save the document as a PDF file
document.Save("empty.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()

' Add a page to the document
Dim page As PdfPage = document.Pages.Add()

' Save the document as a PDF file
document.Save("empty.pdf")
$vbLabelText   $csharpLabel

Se requieren tres líneas de código adicionales para añadir contenido de texto al documento anterior: una para la creación de fuente para dibujar el texto, una para la creación de pincel y para establecer el color del texto, y la otra para dibujar texto y gráficos en la página.

// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();

// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);

// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);

// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);

// Save the document as a PDF file
document.Save("helloworld.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()

' Create a standard font with Helvetica face and 24 point size
Dim helvetica As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)

' Create a solid RGB red brush.
Dim brush As New PdfBrush(PdfRgbColor.Red)

' Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100)

' Save the document as a PDF file
document.Save("helloworld.pdf")
$vbLabelText   $csharpLabel

Nuestro modelo de objeto se asemeja de cerca al estándar PDF. Esto te permite construir fácilmente abstracciones complicadas sobre él, como documentos de flujo.

Cómo rellenar archivos PDF generados

Uso de XFINIUM.PDF

La biblioteca XFINIUM.PDF puede tanto crear nuevos formularios PDF como rellenar formularios PDF existentes.

Cada tipo de campo de formulario compatible en la especificación PDF está representado por la respectiva clase:

  • PdfTextBoxField - campos de caja de texto
  • PdfCheckBoxField - casillas de verificación
  • PdfRadioButtonField - conjuntos de botones de radio
  • PdfComboboxField - cuadros combinados
  • PdfListboxField - cuadros de lista
  • PdfPushbuttonField - botones de presión
  • PdfSignatureField - campos de firma

El nombre del campo y su ubicación en la página son las únicas piezas de información necesarias para construir un campo de formulario. Después de crear el objeto del campo, debe ser añadido a la página antes de que se puedan especificar otros atributos.

// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");

// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);

// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
' Create a text box field named "firstname"
Dim firstNameTextBox As New PdfTextBoxField("firstname")

' Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox)

' Set the position of the field on the PDF page
firstNameTextBox.Widgets(0).VisualRectangle = New PdfVisualRectangle(150, 45, 200, 20)
$vbLabelText   $csharpLabel

Los formularios PDF existentes se pueden llenar si se cargan en un objeto PdfFixedDocument. Una vez que el formulario ha sido cargado, la colección de campos del documento se completa automáticamente con los campos definidos en el formulario. Un campo se localiza en la colección por índice o por su nombre, y se llena configurando la propiedad de valor genérico definida en la clase base PdfField o las propiedades de valor específicas definidas en cada tipo de campo.

// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");

// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;

// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
' Load an existing PDF document with forms
Dim document As New PdfFixedDocument("form.pdf")

' Fill form fields with values
TryCast(document.Form.Fields("firstname"), PdfTextBoxField).Text = "John"
TryCast(document.Form.Fields("lastname"), PdfTextBoxField).Value = "Doe"
TryCast(document.Form.Fields("sex").Widgets(0), PdfRadioButtonWidget).Checked = True
TryCast(document.Form.Fields("firstcar"), PdfComboBoxField).SelectedIndex = 0
TryCast(document.Form.Fields("secondcar"), PdfListBoxField).SelectedIndex = 1
TryCast(document.Form.Fields("agree"), PdfCheckBoxField).Checked = True

' Save the filled form as a new PDF file
document.Save("form_filled.pdf")
$vbLabelText   $csharpLabel

Uso de IronPDF

Veamos cómo podemos crear PDFs llenables usando la biblioteca C# IronPDF.

// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>";

// Create a PDF renderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");

//Set and Read the value of the "firstname" field
var FirstNameField = FormDocument.Form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);

//Set and Read the value of the "lastname" field
var LastNameField = FormDocument.Form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);

// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf

' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Private FormHtml = "
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
          First name:<br> <input type='text' name='firstname' value=''   > <br>
          Last name:<br> <input type='text' name='lastname' value='' >
        </form>
    </body>
</html>"

' Create a PDF renderer
Private Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render the HTML as a PDF and save it
Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("BasicForm.pdf")

' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")

'Set and Read the value of the "firstname" field
Dim FirstNameField = FormDocument.Form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)

'Set and Read the value of the "lastname" field
Dim LastNameField = FormDocument.Form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)

' Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf")
$vbLabelText   $csharpLabel

Comenzamos creando un formulario con etiquetas de formato HTML en el siguiente código. Después de eso, lo guardamos como un documento PDF. Comenzamos leyendo y escribiendo valores de formularios PDF en el Paso #2. Con el nombre del campo, puedes acceder al campo del formulario. La función FindFormField está disponible en IronPDF. Luego se establece el valor del campo seleccionado y se guarda el formulario recién llenado.

Firma digital de archivos PDF

En la era moderna, muchas personas trabajan de forma remota. Rellenar y firmar formularios, enviar archivos y procesar documentos son solo algunas de las actividades principales que las empresas necesitan completar a diario. Una actividad principal es la firma de documentos PDF, portafolios PDF, y formularios PDF como alternativas a los documentos en papel. Las firmas digitales se han vuelto esenciales a medida que las empresas buscan formas de firmar acuerdos y contratos, así como compartir formularios PDF en línea.

Uso de XFINIUM.PDF

Un campo de firma en un archivo PDF se usa para aplicar una firma digital (clase PdfSignatureField). Aunque el campo de firma es un campo de formulario que aparece en una de las páginas del documento, la firma digital se usa para firmar el documento completo, no solo esa página.

El proceso de firma comienza con un objeto PdfDigitalSignature que se utiliza para establecer el atributo de firma de un campo de firma. Debido a que la firma se basa en el layout binario real del archivo PDF, se forma cuando se guarda el documento.

La clase PdfDigitalSignature es la base de todas las firmas digitales de XFINIUM.

Hay varias clases de firma para elegir:

  • PdfCmsDigitalSignature - una firma digital basada en el estándar CMS (hereda de PdfDigitalSignature)
  • PdfPadesDigitalSignature - una firma digital que implementa el estándar PADES (hereda de PdfCmsDigitalSignature)
  • PdfInteractiveCmsDigitalSignature - una firma digital basada en estándares CMS que puede usar una tarjeta inteligente de firma de hardware para crear la firma digital (hereda de PdfDigitalSignature)
  • PdfInteractivePadesDigitalSignature - una firma digital que implementa el estándar PADES y que puede usar una tarjeta inteligente de firma de hardware para crear la firma digital (hereda de PdfInteractiveCmsDigitalSignature)
  • PdfDocumentTimeStamp - una marca de tiempo a nivel de documento (hereda de PdfDigitalSignature)

Uso de IronPDF

Los desarrolladores frecuentemente preguntan sobre la utilización de IronPDF y C# para agregar programáticamente una firma a un PDF. Esto puede significar una variedad de cosas para los desarrolladores:

  • Desde un archivo de imagen, agregar una imagen de firma digital gráfica a archivos PDF existentes.
  • Para confirmar que un PDF no ha sido manipulado al firmarlo criptográficamente.
  • Para agregar un icono de firma manuscrita humana a un PDF que ha sido firmado criptográficamente.

El primer enfoque implica estampar una firma PNG en una página PDF que ya existe. Puede ser usado como una firma o un sello de la empresa. Se recomienda la opacidad. Se requieren solo unas pocas líneas de código para completar el procedimiento.

// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");

// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
    Html = "<img src='signature.png' />",
    Width = 150,
    Height = 50,
    Bottom = 300,
    Left = 85,
    ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};

// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);

// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
' Open an existing PDF document or create a new one
Dim Pdf = PdfDocument.FromFile("C:\Path\To\ASPX to PDF.pdf")

' Define an HTML stamp with a signature image
Dim SignatureStamp = New HtmlStamp() With {
	.Html = "<img src='signature.png' />",
	.Width = 150,
	.Height = 50,
	.Bottom = 300,
	.Left = 85,
	.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}

' Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1)

' Save the stamped PDF
Pdf.SaveAs("C:\Path\To\Stamped_PDF.pdf")
$vbLabelText   $csharpLabel

El siguiente código firma criptográficamente un PDF usando un certificado digital X509Certificate2 .pfx y .p12 que puede ser creado fácilmente con solo una línea de código.

// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
' 123456 below represents the signature password
Call (New IronPdf.PdfSignature("CertificateFile.p12", "123456")).SignPdfFile("ASPX to PDF.pdf")
$vbLabelText   $csharpLabel

Este ejemplo más avanzado permite que el método de firma de ID digital X509Certificate2 .pfx / .p12 sea combinado con un escaneo de una firma manuscrita.

// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");

// Render a PDF document to be signed
PdfDocument doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>");

// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
Signature.LoadSignatureImageFromFile("handwriting.png");

// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);

// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
' Create a digital signature using a certificate file
Dim Signature = New IronPdf.PdfSignature("Iron.pfx", "123456")

' Render a PDF document to be signed
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf("<h1>Testing 2048-bit digital security</h1>")

' Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com"
Signature.SigningLocation = "Chicago, USA"
Signature.SigningReason = "To show how to sign a PDF"
Signature.LoadSignatureImageFromFile("handwriting.png")

' Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature)

' Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf")
$vbLabelText   $csharpLabel

Marco CSS moderno y renderizado HTML de Bootstrap

Las aplicaciones web modernas frecuentemente usan frameworks CSS como Bootstrap para acelerar el desarrollo de UI y asegurar un diseño responsivo. Las herramientas de generación de PDF deben preservar con precisión estos layouts de framework para mantener la calidad profesional del documento.

IronPDF: Soporte completo de Bootstrap Framework

El motor de renderizado Chromium de IronPDF proporciona soporte completo para frameworks CSS modernos y estándares web:

  • Bootstrap 5: Completo en renderizado de flexbox y CSS Grid con todos los componentes responsivos
  • Bootstrap 4: Sistemas de tarjetas completos, barras de navegación y clases de utilidad
  • Tailwind CSS: Todas las clases utilitarias y variantes responsivas
  • Foundation y Otros Frameworks: El soporte completo para CSS3 significa que todos los frameworks modernos funcionan correctamente
  • CSS Avanzado: Flexbox, CSS Grid, propiedades personalizadas, animaciones y transformaciones

Validación en el mundo real: página de inicio de Bootstrap y plantillas se convierten con fidelidad precisa de navegador.

Ejemplo de código: Programa de Eventos con Cartas de Bootstrap

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>

        <div class='row g-4'>
            <div class='col-md-6'>
                <div class='card border-primary'>
                    <div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Keynote Session</h5>
                        <span class='badge bg-light text-primary'>9:00 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>The Future of AI in Software Development</strong></p>
                        <p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development landscape.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Dr. Sarah Chen</div>
                                <small class='text-muted'>AI Research Lead</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-success'>
                    <div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Workshop</h5>
                        <span class='badge bg-light text-success'>10:30 AM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
                        <p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
                        <p class='card-text'>Learn practical techniques for building scalable, cloud-native applications with modern frameworks.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Michael Rodriguez</div>
                                <small class='text-muted'>Cloud Architect</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-warning'>
                    <div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Panel Discussion</h5>
                        <span class='badge bg-dark'>2:00 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
                        <p class='card-text'><strong>Security in Modern Web Applications</strong></p>
                        <p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
                        <small class='text-muted'>Featuring 4 industry experts</small>
                    </div>
                </div>
            </div>

            <div class='col-md-6'>
                <div class='card border-info'>
                    <div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
                        <h5 class='mb-0'>Technical Talk</h5>
                        <span class='badge bg-light text-info'>3:30 PM</span>
                    </div>
                    <div class='card-body'>
                        <h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
                        <p class='card-text'><strong>Performance Optimization Strategies</strong></p>
                        <p class='card-text'>Deep dive into advanced techniques for optimizing application performance and reducing latency.</p>
                        <div class='d-flex align-items-center'>
                            <img src='https://via.placeholder.com/50' class='rounded-circle me-2' alt='Speaker'>
                            <div>
                                <div class='fw-bold'>Alex Kim</div>
                                <small class='text-muted'>Performance Engineer</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
pdf.SaveAs("conference-schedule.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Salida: un programa de conferencia profesional con la cuadricula de cartas de Bootstrap, alineación flexbox, componentes de insignia, y diseño responsivo, todo rendido con precisión en el PDF.

XFINIUM.PDF: Compatibilidad limitada con HTML y Framework

XFINIUM.PDF está principalmente enfocado en la generación y manipulación de PDFs en lugar de en la conversión HTML a PDF. La biblioteca tiene limitaciones significativas para Bootstrap y frameworks CSS modernos:

  • Sin Renderizado HTML Nativo: XFINIUM.PDF no incluye un motor de conversión HTML a PDF incorporado
  • Soporte Básico de HTML Solo: Limitado a estructuras HTML simples sin CSS avanzado
  • Sin Soporte Bootstrap: Frameworks modernos de Bootstrap (4/5) con flexbox y CSS Grid no son soportados
  • Requiere Soluciones Alternativas: Los desarrolladores deben usar las APIs de PDF de bajo nivel para recrear layouts manualmente
  • Són Necesarias Herramientas Externas: Puede requerir integración con motores externos de renderizado HTML

Impacto de Desarrollo: Las aplicaciones que usan Bootstrap o frameworks CSS modernos no pueden convertir directamente su IU a PDF con XFINIUM.PDF. Los desarrolladores deben:

  1. Recrear layouts usando las APIs de dibujo de bajo nivel de XFINIUM.PDF (significativo tiempo de desarrollo)
  2. Integrar herramientas externas de renderizado HTML (complejidad adicional y dependencias)
  3. Mantener código de layout PDF separado paralelo a la IU web (sobrecarga de mantenimiento)

Para proyectos que requieran conversión HTML a PDF, especialmente con frameworks modernos como Bootstrap, las limitaciones de XFINIUM.PDF lo hacen inadecuado sin un esfuerzo de desarrollo adicional significativo.

Para soporte completo de Bootstrap y frameworks CSS modernos, consulta la Guía de Bootstrap & Flexbox CSS.

Precios y licencias

Precios y licencias de XFINIUM.PDF

Cada paquete está disponible en dos ediciones: la Edición Generadora, que proporciona características de producción y edición de PDF, y la Edición Visualizadora, que contiene toda la funcionalidad de la Edición Generadora, más el renderizado y visualización de PDF.

  • Cada desarrollador tiene su licencia para la biblioteca Xfinium PDF. Cada desarrollador que produce código para XFINIUM necesita una licencia para esta biblioteca de archivos PDF.
  • XFINIUM.PDF puede ser enviado libre de regalías a un número ilimitado de PCs de escritorio y servidores como parte de tu licencia.
  • Una "Suscripción de Asistencia" de un año ofrece un año de actualizaciones gratuitas así como soporte técnico.

El rango de precios es de $290.00 a $872.00 por año dependiendo del respectivo paquete.

Precios y licencias de IronPDF

IronPDF, por otro lado, es una biblioteca PDF en C#. Es gratuita para usar en desarrollo y puede ser licenciada para uso comercial en cualquier momento. Se ofrecen licencias para proyectos individuales, desarrolladores individuales, agencias y organizaciones multinacionales, así como la redistribución de SaaS y OEM. Todas las licencias vienen con una garantía de devolución de dinero de 30 días, un año de soporte y actualizaciones de software, validez en desarrollo/pruebas/producción y una licencia perpetua (compra única). El paquete Lite está disponible por $799. No hay gastos recurrentes con los productos de IronPDF.

Conclusión

La biblioteca PDF de Iron facilita la creación de documentos PDF porque no depende de APIs propietarias. "HTML-To-PDF" convierte tipos de documentos de estándar abierto como HTML, JS, CSS, JPG, PNG, GIF y SVG en PDFs con precisión de píxel. En otras palabras, se basa en los talentos que los desarrolladores ya tienen. Permite a los usuarios descargar documentos, enviarlos por correo electrónico o guardarlos en la nube, y hacer facturas, cotizaciones, informes, contratos y otros documentos. Funciona con ASP.NET, ASP.NET Core, formularios web, MVC, .NET Framework y APIs web .NET Core.

La biblioteca XFINIUM.PDF tiene una amplia gama de funcionalidades tanto para novatos como para desarrolladores PDF avanzados. Ya sea que necesites hacer un informe simple, llenar un formulario PDF, construir un portafolio PDF, redactar información sensible de un archivo PDF, o convertir un archivo PDF en una imagen TIFF multipágina, tiene las herramientas que necesitas. Tienes el control total sobre los archivos PDF generados porque el modelo de objeto básico se adhiere a la especificación PDF. El código de XFINIUM.PDF puede compilarse en todas las plataformas compatibles sin modificaciones. La colección XFINIUM.PDF está disponible para ayudarte.

Las licencias de XFINIUM.PDF vienen en dos ediciones, la Generadora y la Visualizadora, que comienzan en $290 y $387 respectivamente. Esto es algo más barato que IronPDF, que tiene una versión ligera a partir de $799. Vale la pena apostar por IronPDF porque ofrece licencias para un solo usuario y multiusuario, mientras que XFINIUM.PDF solo ofrece una licencia de un solo usuario, lo que significa que necesitarás una licencia para cada desarrollador. Por otro lado, IronPDF ofrece una licencia profesional a partir de $799 que puede ser utilizada por un número ilimitado de usuarios.

Con IronPDF, puedes manipular archivos PDF más fácilmente que con XFINIUM.PDF. IronPDF usa menos líneas de código para manipulaciones complicadas, lo que ayuda a aliviar la carga de trabajo del programador.

La empresa Iron Software también ofrece a todos sus clientes la opción de adquirir todo el paquete de paquetes con solo dos clics. Esto significa que por el precio de solo dos bibliotecas en el conjunto de Iron Software, puedes obtener actualmente las cinco bibliotecas, junto con soporte ininterrumpido para todas ellas.

Por favor notaXFINIUM.PDF es una marca registrada de su respectivo propietario. Este sitio no está afiliado, aprobado ni patrocinado por XFINIUM.PDF. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son sólo para fines informativos y reflejan información disponible públicamente al momento de escribir.

Preguntas Frecuentes

¿Cuáles son las características clave de IronPDF para la conversión de HTML a PDF?

IronPDF aprovecha el motor Chromium de .NET para convertir HTML a PDF. Soporta HTML5, CSS, JavaScript e integración de imágenes, convirtiéndolo en una solución integral para crear PDFs a partir de contenido web.

¿Cómo se compara XFINIUM.PDF con otras bibliotecas de PDF para .NET?

XFINIUM.PDF es una biblioteca multiplataforma que ofrece dos ediciones: Generador y Visor. Sobresale en la creación, edición y renderizado de PDF, e incluye características como seguridad, firmas digitales y soporte de códigos de barras.

¿Se puede usar IronPDF en plataformas en la nube como Azure y AWS?

Sí, IronPDF es compatible con varias plataformas, incluyendo Azure y AWS, lo que permite un despliegue flexible de soluciones de PDF en entornos de nube.

¿Qué opciones de instalación están disponibles para IronPDF en proyectos .NET?

IronPDF se puede instalar utilizando el Administrador de Paquetes NuGet de Visual Studio, el Símbolo del sistema para desarrolladores, o descargando directamente el paquete NuGet o el DLL de la biblioteca.

¿Cuáles son las capacidades de edición de PDF de IronPDF?

IronPDF permite una edición extensa de PDFs, incluyendo el llenado de campos de formulario, la fusión de documentos y la extracción de texto e imágenes. También admite el agregado de encabezados, pies de página y anotaciones.

¿Cómo difieren las opciones de licencia entre IronPDF y XFINIUM.PDF?

XFINIUM.PDF ofrece licencias a partir de $290 por desarrollador con distribución libre de regalías. IronPDF proporciona opciones de licencia más amplias, incluyendo una licencia profesional para usuarios ilimitados.

¿Qué características de seguridad proporciona XFINIUM.PDF?

XFINIUM.PDF admite características de seguridad como contraseñas de usuario y propietario, derechos de acceso al documento, encriptación RC4 y AES, y redacción de contenido para asegurar la seguridad del documento.

¿Por qué podrían los desarrolladores elegir IronPDF para sus proyectos?

Los desarrolladores podrían elegir IronPDF por su enfoque simplificado para la manipulación de PDF, requiriendo menos líneas de código, y su flexibilidad con licencias para usuarios únicos y múltiples.

¿Cómo maneja IronPDF el llenado de formularios en PDFs?

IronPDF proporciona herramientas para llenar campos de formulario dentro de PDFs, permitiendo la creación dinámica de documentos e interacción del usuario.

¿Qué capacidades de firma digital están disponibles en estas bibliotecas de PDF?

Ambos, IronPDF y XFINIUM.PDF, admiten firmas digitales, permitiendo la validación segura de la autenticidad e integridad del documento.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más