Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Como desarrolladores de C#, tratar con archivos PDF es una parte habitual de nuestro trabajo, especialmente cuando creamos aplicaciones que necesitan generar, editar o mostrar documentos. Por eso es crucial contar con una buena biblioteca de PDF. Estas bibliotecas nos ahorran tiempo y molestias al ofrecer funciones integradas para tareas complejas como la conversión de documentos, la edición de texto y el manejo de imágenes dentro de los PDF. Sin ellos, tendríamos que escribir todo ese código desde cero, lo que no sólo lleva mucho tiempo, sino que también es propenso a errores.
En esta comparativa, analizaremos dos populares bibliotecas PDF: IronPDF y Apryse C#. IronPDF es conocido por sus sólidas funciones que facilitan el trabajo con PDF en un entorno .NET, desde la conversión de HTML a PDF hasta la edición avanzada de documentos. Apryse C#, por su parte, ofrece un enfoque racionalizado de la manipulación de PDF, centrado en la facilidad de uso y la eficacia. Analizaremos en detalle lo que ofrece cada biblioteca para ayudarle a decidir cuál es la más adecuada para su proyecto.
Apryse C# es una completa biblioteca PDF para aplicaciones .NET, diseñada para agilizar el proceso de manipulación de PDF en entornos C#. Anteriormente se conocía como PDFTron SDK. Su amplia gama de funciones y herramientas lo convierten en un activo inestimable para los desarrolladores que buscan manejar PDF con precisión y facilidad.
IronPDF destaca como una biblioteca PDF versátil y potente adaptada a los desarrolladores .NET. Simplifica el complejo proceso de manipulación de PDF, permitiendo la creación, edición y conversión de documentos PDF directamente dentro de aplicaciones C#. IronPDF está disponible en diferentes lenguajes de programación como Java, Python y C#. IronPDF está diseñado para satisfacer una amplia gama de necesidades de procesamiento de PDF, lo que lo convierte en la solución ideal para desarrolladores que buscan eficacia y fiabilidad.
Crear una aplicación de consola en Visual Studio es un proceso sencillo que sienta las bases para cualquier proyecto de desarrollo .NET, incluidos los que implican manipulaciones de PDF con bibliotecas como IronPDF o Apryse C#. He aquí cómo empezar:
Abra Visual Studio en su ordenador. Si aún no has instalado Visual Studio, descárgalo e instálalo desde el sitio web oficial de Microsoft, eligiendo una versión que se adapte a tus necesidades.
Una vez abierto Visual Studio, selecciona la opción "Crear un nuevo proyecto" del panel inicial.
En la ventana "Crear un nuevo proyecto", verás varias plantillas de proyecto. Escriba "Consola" en el cuadro de búsqueda o busque la plantilla "Aplicación de consola" en la lista. Asegúrese de seleccionar la plantilla específica para C#, no para otro lenguaje.
Tras seleccionar la plantilla "Aplicación de consola", pulse el botón "Siguiente". Se te pedirá que configures tu nuevo proyecto:
Ubicación: Elige dónde quieres guardar el proyecto en tu ordenador.
Una vez configurados los ajustes del proyecto, haga clic en el botón "Crear". Visual Studio creará un nuevo proyecto de aplicación de consola con un archivo Program.cs predeterminado.
Tómese un momento para explorar la estructura del proyecto generado en el panel Explorador de soluciones. Trabajarás principalmente con el archivo Program.cs para una aplicación de consola, que es donde escribirás tu código C#.
La integración de la biblioteca IronPDF en su proyecto .NET le permite aprovechar sus completas funciones de manipulación de PDF. Existen varios métodos para instalar IronPDF, lo que garantiza la flexibilidad en función de su flujo de trabajo preferido o de la configuración del entorno de desarrollo.
El gestor de paquetes NuGet de Visual Studio proporciona una interfaz fácil de usar para gestionar bibliotecas y dependencias.
Haz clic en la pestaña "Examinar" y busca "IronPdf".
Para quienes prefieran utilizar la línea de comandos, la consola del gestor de paquetes de Visual Studio ofrece una forma directa de instalar paquetes.
Install-Package IronPdf
Este comando descargará e instalará la última versión de IronPDF en su proyecto.
Si prefiere descargar manualmente el paquete antes de integrarlo en su proyecto, puede hacerlo desde el sitio web de NuGet.
Visite el Sitio web de NuGet y busca "IronPdf".
Una vez descargado, puede añadir el paquete a su proyecto manualmente. En Visual Studio, navega hasta el Explorador de soluciones, haz clic con el botón derecho en tu proyecto y selecciona "Añadir > Referencia". Vaya a la ubicación del archivo .nupkg descargado, selecciónelo y añádalo al proyecto.
Cada uno de estos métodos integrará con éxito IronPDF en su proyecto .NET, permitiéndole empezar a utilizar sus potentes funciones de procesamiento de PDF.
Para integrar Apryse C# en su proyecto C#, tiene varias opciones dependiendo de si trabaja con .NET Framework o .NET Core, así como de sus preferencias de entorno de desarrollo. A continuación se indican los pasos generales basados en la información de la documentación y las guías de instalación de Apryse:
Descarga el SDK de Apryse para Windows: Tendrás que visitar la página Página web de Apryse para descargar el SDK adecuado para aplicaciones .NET Framework.
Configurar App.config: Asegúrese de que su archivo App.config tiene el ajuste loadFromRemoteSources habilitado a true.
Hay carpetas de ejemplo en el SDK. Puede abrir y ejecutar directamente estas soluciones de muestra.
IronPDF destaca en la conversión de documentos HTML a PDF. Esta función es crucial para las aplicaciones web que necesitan generar informes, facturas o instantáneas de páginas web como archivos PDF. La biblioteca renderiza con precisión HTML, CSS y JavaScript, capturando el diseño y los estilos del contenido web en el PDF generado.
Convertir una cadena HTML directamente en un PDF permite crear PDF dinámicos a partir de contenido HTML generado dentro de su aplicación o almacenado en una variable. Esto resulta especialmente útil para generar informes, recibos o documentos personalizados en función de las entradas del usuario o de los datos de la aplicación.
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
IronPdf.License.LicenseKey = "License-Key goes here";
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a different HTML string
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>My PDF</title>
<style>
body {
font-family: Arial, sans-serif;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
text-align: justify;
}
</style>
</head>
<body>
<h1>Welcome to My PDF</h1>
<p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
<p>You can add more content here as needed.</p>
</body>
</html>";
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
IronPdf.License.LicenseKey = "License-Key goes here";
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a different HTML string
string htmlContent = @"
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>My PDF</title>
<style>
body {
font-family: Arial, sans-serif;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
text-align: justify;
}
</style>
</head>
<body>
<h1>Welcome to My PDF</h1>
<p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
<p>You can add more content here as needed.</p>
</body>
</html>";
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
IronPdf.License.LicenseKey = "License-Key goes here"
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a different HTML string
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>My PDF</title>
<style>
body {
font-family: Arial, sans-serif;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
text-align: justify;
}
</style>
</head>
<body>
<h1>Welcome to My PDF</h1>
<p>This is a sample paragraph demonstrating how to create a PDF from HTML using IronPdf in C#.</p>
<p>You can add more content here as needed.</p>
</body>
</html>"
' Create a PDF from the HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
' Export to a file or Stream
pdf.SaveAs("output.pdf")
Si tiene un archivo HTML almacenado en el disco, IronPDF puede convertirlo en un documento PDF. Este método es ideal para convertir documentos HTML, plantillas o informes existentes que estén guardados como archivos en su proyecto o en su servidor.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");
// Export to a file or Stream
pdf.SaveAs("file.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");
// Export to a file or Stream
pdf.SaveAs("file.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from the HTML string using C#
Dim pdf = renderer.RenderHtmlFileAsPdf("invoice.html")
' Export to a file or Stream
pdf.SaveAs("file.pdf")
IronPDF puede convertir una página web en vivo en un documento PDF proporcionando la URL. Esta función es extremadamente útil para capturar el estado actual de una página web, incluidos diseños complejos, CSS y contenido generado por JavaScript.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from the HTML string using C#
var pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from the HTML string using C#
Dim pdf = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
Con IronPDF, combinar varios documentos PDF en un único archivo o dividir un PDF en varios documentos más pequeños es muy sencillo. Esta funcionalidad es esencial para los sistemas de gestión de documentos en los que es necesario organizar y estructurar el contenido de los PDF.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
var html_a = @"
<h1>PDF A</h1>
<p>This is the content of PDF A.</p>
<p>This is the first page of PDF A.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF A.</p>";
var html_b = @"
<h1>PDF B</h1>
<p>This is the content of PDF B.</p>
<p>This is the first page of PDF B.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF B.</p>";
var renderer = new ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
var html_a = @"
<h1>PDF A</h1>
<p>This is the content of PDF A.</p>
<p>This is the first page of PDF A.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF A.</p>";
var html_b = @"
<h1>PDF B</h1>
<p>This is the content of PDF B.</p>
<p>This is the first page of PDF B.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF B.</p>";
var renderer = new ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
Dim html_a = "
<h1>PDF A</h1>
<p>This is the content of PDF A.</p>
<p>This is the first page of PDF A.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF A.</p>"
Dim html_b = "
<h1>PDF B</h1>
<p>This is the content of PDF B.</p>
<p>This is the first page of PDF B.</p>
<div style='page-break-after: always;'></div>
<p>This is the second page of PDF B.</p>"
Dim renderer = New ChromePdfRenderer()
Dim pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Dim pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Dim merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)
merged.SaveAs("Merged.pdf")
IronPDF permite añadir marcas de agua a las páginas PDF, lo que resulta útil para poner marcas o marcar documentos como confidenciales. Esta función admite tanto marcas de agua de texto como de imagen, lo que ofrece flexibilidad a la hora de aplicar y mostrar las marcas de agua.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs("Watermarked.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs("Watermarked.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Stamps a Watermark onto a new or existing PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("Watermarked.pdf")
IronPDF permite trabajar con formularios PDF interactivos. Permite crear, rellenar y enviar formularios PDF mediante programación. Esto es especialmente útil para aplicaciones que necesitan automatizar el procesamiento de formularios o integrar la recogida de datos de formularios en sus flujos de trabajo.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
const string differentFormHtml = @"
<html>
<body>
<h2>Employee Information Form</h2>
<form>
First name: <br>
Last name: <br>
<br>
<p>Please select your department:</p>
<select name='department'>
<option value='HR'>HR</option>
<option value='Finance'>Finance</option>
<option value='IT'>IT</option>
<option value='Marketing'>Marketing</option>
</select>
<br>
<br>
<p>Please select your employment status:</p>
<label for='fulltime'>Full-time</label> <br>
<label for='parttime'>Part-time</label> <br>
<br>
<p>Please select your skills:</p>
<label for='skill1'> Programming</label><br>
<label for='skill2'> Design</label><br>
<label for='skill3'> Marketing</label><br>
</form>
</body>
</html>";
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(differentFormHtml).SaveAs("EmployeeInfoForm.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
const string differentFormHtml = @"
<html>
<body>
<h2>Employee Information Form</h2>
<form>
First name: <br>
Last name: <br>
<br>
<p>Please select your department:</p>
<select name='department'>
<option value='HR'>HR</option>
<option value='Finance'>Finance</option>
<option value='IT'>IT</option>
<option value='Marketing'>Marketing</option>
</select>
<br>
<br>
<p>Please select your employment status:</p>
<label for='fulltime'>Full-time</label> <br>
<label for='parttime'>Part-time</label> <br>
<br>
<p>Please select your skills:</p>
<label for='skill1'> Programming</label><br>
<label for='skill2'> Design</label><br>
<label for='skill3'> Marketing</label><br>
</form>
</body>
</html>";
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(differentFormHtml).SaveAs("EmployeeInfoForm.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
Const differentFormHtml As String = "
<html>
<body>
<h2>Employee Information Form</h2>
<form>
First name: <br>
Last name: <br>
<br>
<p>Please select your department:</p>
<select name='department'>
<option value='HR'>HR</option>
<option value='Finance'>Finance</option>
<option value='IT'>IT</option>
<option value='Marketing'>Marketing</option>
</select>
<br>
<br>
<p>Please select your employment status:</p>
<label for='fulltime'>Full-time</label> <br>
<label for='parttime'>Part-time</label> <br>
<br>
<p>Please select your skills:</p>
<label for='skill1'> Programming</label><br>
<label for='skill2'> Design</label><br>
<label for='skill3'> Marketing</label><br>
</form>
</body>
</html>"
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(differentFormHtml).SaveAs("EmployeeInfoForm.pdf")
IronPDF ofrece funciones para proteger documentos PDF, como la posibilidad de cifrar archivos PDF, establecer permisos y añadir firmas digitales. Esto garantiza la protección de la información confidencial de los documentos PDF y el mantenimiento de la integridad de los documentos.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key" goes here;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
var pdf = PdfDocument.FromFile("invoice.pdf");
// Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
pdf.SaveAs("secured.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key" goes here;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
var pdf = PdfDocument.FromFile("invoice.pdf");
// Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
pdf.SaveAs("secured.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key" goes here
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
Dim pdf = PdfDocument.FromFile("invoice.pdf")
' Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret" ' password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable" ' password to open the pdf
pdf.SaveAs("secured.pdf")
IronPDF va más allá de la edición básica de PDF al ofrecer funciones de edición avanzadas. Esto incluye añadir cabeceras y pies de página, personalizar el diseño de la página e incrustar imágenes y fuentes. Estas funciones permiten generar PDF dinámicos y personalizarlos según los requisitos específicos de cada aplicación.
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new IronPdf.ChromePdfRenderer();
var multi_page_html = @"
<p> This is 1st Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 4th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 5th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 6th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 7th Page</p>";
// Create a PDF or Load an existing PDF using IronPdf.PdfDocument.Load()
var pdfdoc = renderer.RenderHtmlAsPdf(multi_page_html);
// Create a Header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfdoc.AddHtmlHeaders(firstPageHeader, 1);
pdfdoc.SaveAs("PagesWithHeaders.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "License-Key goes here";
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new IronPdf.ChromePdfRenderer();
var multi_page_html = @"
<p> This is 1st Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 4th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 5th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 6th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 7th Page</p>";
// Create a PDF or Load an existing PDF using IronPdf.PdfDocument.Load()
var pdfdoc = renderer.RenderHtmlAsPdf(multi_page_html);
// Create a Header for the first page only
var firstPageHeader = new HtmlHeaderFooter();
firstPageHeader.HtmlFragment = "This is the First Page Header";
pdfdoc.AddHtmlHeaders(firstPageHeader, 1);
pdfdoc.SaveAs("PagesWithHeaders.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "License-Key goes here"
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim multi_page_html = "
<p> This is 1st Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 4th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 5th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 6th Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 7th Page</p>"
' Create a PDF or Load an existing PDF using IronPdf.PdfDocument.Load()
Dim pdfdoc = renderer.RenderHtmlAsPdf(multi_page_html)
' Create a Header for the first page only
Dim firstPageHeader = New HtmlHeaderFooter()
firstPageHeader.HtmlFragment = "This is the First Page Header"
pdfdoc.AddHtmlHeaders(firstPageHeader, 1)
pdfdoc.SaveAs("PagesWithHeaders.pdf")
Apryse C# permite a los desarrolladores añadir anotaciones y marcas a documentos PDF mediante programación. Esto incluye anotaciones de texto, resaltados, subrayados y formas, que son esenciales para los procesos de revisión de documentos o para añadir información complementaria a los PDF.
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize("License");
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
Page page = doc.GetPage(1);
Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
txt.SetIcon("UserIcon");
txt.SetContents("It's an annotation!");
page.AnnotPushBack(txt);
page.AnnotPushBack(annot);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize("License");
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
Page page = doc.GetPage(1);
Text txt = Text.Create(doc, new Rect(10, 20, 30, 40));
txt.SetIcon("UserIcon");
txt.SetContents("It's an annotation!");
page.AnnotPushBack(txt);
page.AnnotPushBack(annot);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF
Friend Class Program
Shared Sub Main()
PDFNet.Initialize("License")
Using doc As New PDFDoc("input.pdf")
Dim page As Page = doc.GetPage(1)
Dim txt As Text = Text.Create(doc, New Rect(10, 20, 30, 40))
txt.SetIcon("UserIcon")
txt.SetContents("It's an annotation!")
page.AnnotPushBack(txt)
page.AnnotPushBack(annot)
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
End Using
End Sub
End Class
Con Apryse C#, los desarrolladores pueden convertir varios formatos de documentos a PDF, incluidos documentos de Office, imágenes y HTML. Esta función es vital para las aplicaciones que requieren formatos de documento uniformes para archivar, compartir o mostrar.
using pdftron;
using pdftron.PDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
PDFDoc pdfdoc = new PDFDoc();
Convert.ToPdf(pdfdoc, "input.docx");
pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
using pdftron;
using pdftron.PDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
PDFDoc pdfdoc = new PDFDoc();
Convert.ToPdf(pdfdoc, "input.docx");
pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
Imports pdftron
Imports pdftron.PDF
Friend Class Program
Shared Sub Main()
PDFNet.Initialize()
Dim pdfdoc As New PDFDoc()
Convert.ToPdf(pdfdoc, "input.docx")
pdfdoc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
End Sub
End Class
Apryse C# destaca en la extracción de texto, imágenes y otros contenidos de documentos PDF. Esta capacidad es crucial para el análisis de contenidos, la extracción de datos y las aplicaciones de recuperación de información, ya que permite procesar contenidos PDF con diversos fines.
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
PageIterator itr = doc.GetPageIterator();
for (; itr.HasNext(); itr.Next())
{
Page page = itr.Current();
TextExtractor txt = new TextExtractor();
txt.Begin(page);
Console.WriteLine(txt.GetAsText());
}
}
}
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
PageIterator itr = doc.GetPageIterator();
for (; itr.HasNext(); itr.Next())
{
Page page = itr.Current();
TextExtractor txt = new TextExtractor();
txt.Begin(page);
Console.WriteLine(txt.GetAsText());
}
}
}
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF
Friend Class Program
Shared Sub Main()
PDFNet.Initialize()
Using doc As New PDFDoc("input.pdf")
Dim itr As PageIterator = doc.GetPageIterator()
Do While itr.HasNext()
Dim page As Page = itr.Current()
Dim txt As New TextExtractor()
txt.Begin(page)
Console.WriteLine(txt.GetAsText())
itr.Next()
Loop
End Using
End Sub
End Class
Apryse C# proporciona herramientas completas para proteger documentos PDF. Los desarrolladores pueden aplicar protección por contraseña, cifrar documentos y gestionar los permisos de los usuarios, garantizando la salvaguarda de la información sensible.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
doc.InitSecurityHandler();
SecurityHandler newHandler = new SecurityHandler();
newHandler.ChangeUserPassword("new_password");
newHandler.SetPermission(SecurityHandler.Permission.e_print, true);
doc.SetSecurityHandler(newHandler);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
doc.InitSecurityHandler();
SecurityHandler newHandler = new SecurityHandler();
newHandler.ChangeUserPassword("new_password");
newHandler.SetPermission(SecurityHandler.Permission.e_print, true);
doc.SetSecurityHandler(newHandler);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
Friend Class Program
Shared Sub Main()
PDFNet.Initialize()
Using doc As New PDFDoc("input.pdf")
doc.InitSecurityHandler()
Dim newHandler As New SecurityHandler()
newHandler.ChangeUserPassword("new_password")
newHandler.SetPermission(SecurityHandler.Permission.e_print, True)
doc.SetSecurityHandler(newHandler)
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
End Using
End Sub
End Class
Apryse C# también permite redactar información confidencial de documentos PDF, una función esencial para el cumplimiento de normativas y la protección de la privacidad. Esto permite a los desarrolladores eliminar u ocultar permanentemente texto e imágenes dentro de un PDF.
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
Redactor.Redaction [] redactions = {
new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
};
Redactor.Redact(doc, redactions);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
using pdftron;
using pdftron.PDF;
using pdftron.SDF;
class Program
{
static void Main()
{
PDFNet.Initialize();
using (PDFDoc doc = new PDFDoc("input.pdf"))
{
Redactor.Redaction [] redactions = {
new Redactor.Redaction(1, new Rect(100, 100, 200, 200), false, "redacted"),
};
Redactor.Redact(doc, redactions);
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);
}
}
}
Imports pdftron
Imports pdftron.PDF
Imports pdftron.SDF
Friend Class Program
Shared Sub Main()
PDFNet.Initialize()
Using doc As New PDFDoc("input.pdf")
Dim redactions() As Redactor.Redaction = { New Redactor.Redaction(1, New Rect(100, 100, 200, 200), False, "redacted")}
Redactor.Redact(doc, redactions)
doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized)
End Using
End Sub
End Class
Documentación: IronPDF ofrece una completa documentación que cubre una amplia gama de temas, desde guías de inicio hasta funciones avanzadas como conversión de HTML a PDF, edición de PDF, fusión, división y seguridad. La documentación está diseñada para ser fácil de seguir, con abundantes ejemplos de código y explicaciones que guían a los desarrolladores a través del proceso de implementación de diversas funcionalidades relacionadas con PDF en sus aplicaciones .NET.
Soporte: Para los desarrolladores que necesiten ayuda, IronPDF proporciona soporte a través de varios canales. Esto incluye asistencia por correo electrónico, asistencia mediante tickets y chat de asistencia técnica en directo, donde puede ponerse en contacto con su equipo de asistencia técnica para obtener ayuda con problemas específicos. También puedes dar tu opinión mediante un sistema de ayuda.
Documentación: Apryse C# (antes conocido como PDFTron para .NET) presume de una documentación detallada que incluye una referencia completa de la API, guías para desarrolladores y código de ejemplo para un amplio espectro de tareas de manipulación de PDF.
Soporte: Apryse ofrece un sistema de soporte para desarrolladores, que incluye soporte directo por correo electrónico con su equipo técnico para la resolución de problemas y la asistencia con preguntas de implementación. También puedes hacer preguntas en stack overflow.
IronPDF ofrece varias opciones de licencia adaptadas a las diferentes necesidades de los proyectos, incluidas las licencias Lite, Plus y Professional, con precios a partir de $749 para una licencia Lite. Estas licencias varían en función del número de desarrolladores, ubicaciones y proyectos que cubren. Además, IronPDF ofrece opciones de redistribución libre de derechos de autor y asistencia y actualizaciones ampliadas, con costes específicos para estos complementos.
IronPDF ofrece una gama de opciones de licencia perpetua para desarrolladores:
Edición Professional: A $2,999, esta edición es para hasta 10 desarrolladores, 10 ubicaciones y 10 proyectos, proporcionando soporte integral que incluye correo electrónico, chat, teléfono y soporte de pantalla compartida.
También ofrecen una suscripción mensual a 500 $ al mes, que incluye 10.000 llamadas a la API, con llamadas adicionales a 0,02 $ cada una. Para un uso ilimitado, IronPDF ofrece una solución empresarial con solicitud de presupuesto. Esta solución incluye una licencia perpetua ilimitada y llamadas ilimitadas a la API, entre otras características.
Apryse C# ofrece un modelo de precios personalizable que se ajusta en función de los requisitos específicos del proyecto, incluidas las funciones, el volumen de documentos y los escenarios de implantación. Tienes que ponerte en contacto con su equipo de ventas para obtener información sobre precios.
En conclusión, tanto IronPDF como Apryse C# aportan potentes funciones a los desarrolladores .NET que trabajan con archivos PDF. IronPDF, sin embargo, ofrece una ventaja con sus amplias funciones de manipulación de PDF. Brilla por su capacidad para manejar tareas exhaustivas como la edición extensiva, PDF de fusión que aumenta su atractivo. Con el paquete Iron Suite, los desarrolladores pueden acceder a un conjunto de herramientas a un precio rentable, que les equipa con un sólido conjunto de utilidades para diversas necesidades de desarrollo.
IronPDF destaca por su versatilidad general y su propuesta de valor en la mayoría de los escenarios de procesamiento de PDF. Lo ideal sería que la decisión final se basara en los requisitos del proyecto y las características específicas que necesitan los desarrolladores.
9 productos API .NET para sus documentos de oficina