Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Si desea convertir su sitio HTML a otros formatos, está en el lugar adecuado. Este artículo tratará sobre cómo transformar tu HTML, CSS y JS a PDF. Hoy en día, todo se basa en la tecnología, y quienes diseñan estas tecnologías necesitan soluciones que ahorren tiempo, en uno de los lenguajes de programación más utilizados, C# de .NET. En C#, las formas tradicionales de abordar los archivos PDF y manipularlos son complejas y requieren mucho tiempo. Los usos más comunes de los archivos PDF son:
Generación de HTML a PDF
Se han desarrollado muchas herramientas para gestionar estas conversiones de PDF y solucionar los problemas que puedan surgir. En este artículo se compararán las dos bibliotecas de C# para conversiones de PDF más elogiadas entre los desarrolladores. Las herramientas pertinentes son las siguientes:
IronPDF es la herramienta soñada para la conversión de sitios HTML en desarrollo .NET y .NET core. No sólo convierte HTML, sino que también ofrece otras muchas funciones. Dentro de los proyectos .NET Core y framework, IronPDF permite a los desarrolladores generar, modificar y extraer documentos PDF. Los desarrolladores pueden crear o transformar rápidamente archivos PDF a partir de documentos HTML utilizando la biblioteca IronPDF.
IronPDF le permite leer automáticamente información de archivos PDF e inyectarla en sus aplicaciones .NET y sistemas de almacenamiento de datos. El contenido del antiguo almacenamiento de documentos PDF se puede importar, migrar e indexar en sus aplicaciones de gestión de documentos y procesos empresariales.
2.1.1. Conversiones PDF
Esta función incluye la creación de PDF a partir de distintos formatos, como HTML, cadenas HTML, vistas MVC, formularios web y URL.
2.1.2. Imágenes en PDF
Esto permite a los usuarios crear imágenes a partir de PDF y crear PDF a partir de imágenes. Incluye extracción de imágenes, compatibilidad con distintas extensiones de imagen e impresión de PDF.
2.1.3. Archivos PDF IO
IronPDF también ofrece funciones de cifrado de PDF de 128 bits, bloqueo de PDF con contraseñas y firma digital de PDF.
2.1.4. Edición de PDFs
Esta función de IronPDF proporciona todo tipo de formato PDF, como añadir marcas de agua, añadir páginas, eliminar páginas, fondos, primeros planos y mucho más. En resumen, IronPDF proporciona todas las cosas que se te ocurran para hacer con los PDF.
2.1.5. Extracción de contenido PDF
En muchos casos, puedes extraer directamente el texto incrustado de los PDF. Si eso no funciona, es probable que su lector esté incrustado en una imagen. Utilice la biblioteca IronOCR para escanear documentos en busca del texto visual, no del texto plano.
2.1.6. Encabezados y pies de página
Los encabezados y pies de página pueden añadirse al crear un PDF o a PDF existentes. La propiedad Opciones de impresión permite crear un encabezado y un pie de página para cada página del documento. Acceda a estas opciones en el objeto Chrome PDF Renderer. Este ejemplo funciona dentro de una aplicación de consola .NET Core.
2.1.7. Compatibilidad
IronPDF es compatible con casi todos los sistemas operativos y marcos de trabajo compatibles con C#, como:
Compatible con: Windows, Azure
.NET Core 2.1, 3.0, 3.1, .NET 6 y superior; 5
Cumplimiento de la norma .NET 2.0 para una compatibilidad universal
+ Azure
+ AWS
+ Docker
+ Linux
DocRaptor es una solución profesional para la conversión de documentos, pero a diferencia de IronPDF, ofrece funciones limitadas para múltiples diccionarios de programación. Es una herramienta basada en API y puede integrarse con cualquier lenguaje. Es de alta calidad y rápido, por lo que le ahorrará tiempo. También proporciona una función para convertir archivos XML a XLSX.
DocRaptor le ofrece alojar sus documentos. Es compatible con CSS y JS. Estas características son excelentes para las pequeñas empresas que no poseen sus propios servidores.
3.1.1. Generación de HTML a PDF
DocRaptor hace que la generación de documentos HTML, CSS y JS a PDF y XLS sea rápida y sencilla. Sólo tiene que enviar su contenido HTML y los argumentos necesarios a las Docs API, ya sea como texto codificado en un formulario o como objeto JSON.
3.1.2 Formato HTML a Excel
Muchos informes y exportaciones de datos requieren el soporte tanto de PDF como de Excel. La herramienta basada en HTML de DocRaptor facilita esta tarea!
3.1.3. Alojamiento de documentos
El documento se guardará en URL sin marca y será accesible para cualquiera desde cualquier lugar. Puedes mantenerlo ahí indefinidamente o eliminarlo después de una fecha o una cantidad de descargas determinada.
Nota:
Según los datos recogidos del NuGet Sitio web, IronPDF es más popular que DocRaptor, con un total de descargas de 3,0 M, con una media de descargas diarias de 1,3 K. Por otro lado, DocRaptor sólo tiene 114,9 K descargas totales, con una media diaria de 51 descargas al día.
Abra el software Visual Studio y vaya al menú Archivo. Seleccione "nuevo proyecto" y, a continuación, seleccione aplicación de consola. En este artículo, vamos a utilizar una aplicación de consola para generar documentos PDF.
Introduzca el nombre del proyecto y seleccione la ruta en el cuadro de texto correspondiente. A continuación, haz clic en el botón Crear. Seleccione el .NET Framework necesario, como en la siguiente captura de pantalla:
El proyecto de Visual Studio generará ahora la estructura para la aplicación seleccionada y, si ha seleccionado la aplicación de consola, Windows y web, abrirá el archivo program.cs donde podrá introducir el código y compilar/ejecutar la aplicación.
Ahora podemos añadir la biblioteca y probar el programa.
La biblioteca IronPDF puede descargarse e instalarse de cuatro formas diferentes. Estos son:
El software Visual Studio proporciona la opción NuGet Package Manager para instalar el paquete directamente en la solución. La siguiente captura de pantalla muestra cómo abrir el Gestor de paquetes NuGet.
Proporciona el cuadro de búsqueda para mostrar la lista de bibliotecas de paquetes disponibles en el sitio web de NuGet. En el gestor de paquetes, tenemos que buscar la palabra clave "IronPDF", como en la siguiente captura de pantalla:
De la imagen anterior, obtendremos la lista de búsqueda de paquetes relacionados. Tenemos que seleccionar la opción IronPDF e instalar el paquete de nuestra solución.
Install-Package IronPdf
Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
La tercera forma es descargar el paquete NuGet directamente desde la página web.
Haga clic en el botón enlace aquí para descargar el último paquete directamente de la página web. Tras la descarga, siga los pasos que se indican a continuación para añadir el paquete al proyecto.
A continuación, seleccione la opción Referencia y busque la ubicación de la referencia descargada.
El equipo de DocRaptor ofrece casi todos los mismos métodos para integrar la API. Estos son:
Como se explicó anteriormente para IronPDF, los pasos son los mismos para abrir el gestor de paquetes NuGet.
Tras abrir el Gestor de paquetes, escriba DocRaptor en la barra de búsqueda.
Como muestra la imagen anterior, hay tres resultados para DocRaptor. Seleccione la opción deseada.
En el menú de Visual Studio, vaya a Herramientas-> Gestor de paquetes NuGet -> Consola del gestor de paquetes. Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes: install-Package DocRaptor. Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
La tercera forma es descargar el paquete NuGet directamente desde la página web.
Ambas herramientas incluyen esta funcionalidad para la conversión a HTML, aunque lo hacen de formas algo diferentes.
La conversión de páginas utilizando IronPDF no requiere el uso de JSON y técnicas de encriptación es bastante simple en realidad. IronPDF permite muchos métodos diferentes. Por ejemplo:
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
'Changes the ASPX output into a pdf instead of HTML
End Sub
DocRaptor gestiona la conversión mediante peticiones HTTP post utilizando JSON Support, pero sólo proporciona funciones para convertir archivos URL y HTML a PDF.
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System.IO
Friend Class Example
Private tatic Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Dim doc As New Doc(test:= True, documentUrl:= "http://www.docraptor.com/examples/invoice.html", name:= "docraptor-csharp.pdf", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim createResponse() As yte = docraptor.CreateDoc(doc)
End Sub
Tanto IronPDF como DocRaptor admiten el formateo de PDF. Sin embargo, IronPDF ofrece compatibilidad con un único archivo, mientras que DocRaptor utiliza compatibilidad con varios archivos.
Para asegurar el comportamiento esperado del PDF de salida utilizamos diferentes estilos de formato en el artículo vamos a discutir algunos de ellos y compararlos con DocRaptor.
Fuentes personalizadas
IronPDF es compatible con WebFonts, incluida la increíble biblioteca Google Fonts. Esto proporciona al desarrollador un control total de las fuentes sin necesidad de depender de los tipos de letra del sistema.
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
Imports IronPdf
Private myChromePdfRenderer As ChromePdfRenderer = New IronPdf.ChromePdfRenderer()
Private Renderer = New IronPdf.ChromePdfRenderer()
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"
Renderer.RenderingOptions.RenderDelay = 500
Dim doc = Renderer.RenderHtmlAsPdf(html)
doc.SaveAs("font.pdf")
Marcas de agua
IronPDF proporciona métodos para 'marcar con agua' documentos PDF con HTML. Las marcas de agua pueden colocarse por encima o por debajo del contenido existente, y tienen capacidad integrada de opacidad, rotación e hipervínculos.
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
Imports IronPdf
' Stamps a watermark onto a new or existing PDF
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Pdf.SaveAs("TangibleTempVerbatimOpenTagC:\Path\To\Watermarked.pdf
Números de página
La funcionalidad "Encabezado y pie de página" de IronPDF nos permite combinar información sobre la numeración de las páginas.
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<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>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<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>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Private html = "
<p> Hello Iron</p>
<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>"
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.HtmlFooter = New IronPdf.HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdfdoc = Renderer.RenderHtmlAsPdf(html)
pdfdoc.SaveAs("pageNumber.pdf")
DocRaptor soporta el formato PDF en .NET API - pero es bastante difícil de manejar. Examinemos tres ejemplos de formato anteriores:
Fuentes personalizadas
Las fuentes personalizadas son fáciles de usar en DocRaptor. Funciona de la misma manera que una página web estándar. He aquí un ejemplo de CSS que utiliza una fuente de Google:
Codificación CSS:
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
Codificación HTML:
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
Codificación en C#:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "custom-fonts", test:= True, documentContent:= System.IO.File.ReadAllText("custom-fonts-content.html"), / documentUrl:= "http://docraptor.com/examples/invoice.html", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("custom-fonts.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
SALIDA
Marcas de agua
Las marcas de agua pueden encontrarse en muchos PDF. Afortunadamente, la herramienta HTML-PDF de DocRaptor facilita la creación de documentos con marca de agua producidos dinámicamente.!
Codificación CSS:
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
Codificación HTML:
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
Codificación en C#:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
Números de página
Con las herramientas de conversión de HTML a PDF de código abierto, añadir números de página a los documentos PDF es difícil y a veces casi imposible, pero DocRaptor lo convierte en un juego de niños.!
Codificación CSS:
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
Codificación HTML:
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
Codificación en C#:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "page-numbers", test:= True, documentContent:= System.IO.File.ReadAllText("page-numbers-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("page-numbers.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
DocRaptor es un conversor de documentos basado en API que convierte archivos HTML y URL a PDF, así como archivos XML a XLSX. Admite ocho lenguajes de programación diferentes. Sin embargo, sólo ofrece licencias mensuales con un límite de documentos, empezando por una licencia gratuita con un límite de cinco documentos al mes, hasta un paquete de plata que incluye un límite de 40.000 documentos y un precio de 1.000 dólares al mes. DocRaptor es ideal para pequeñas organizaciones y ofrece un paquete profesional más pequeño con un límite de 325 documentos por 29 $. Compruebe esto enlace para más precios.
Nota:__
DocRaptor no ofrece una compra única ni licencias basadas en proyectos.
IronPDF es una biblioteca que ofrece gratuitamente una licencia para desarrolladores. IronPDF también tiene una estructura de precios distinta: el paquete lite comienza en $749 sin cargos ocultos. También es posible la redistribución de productos SaaS y OEM. Todas las licencias incluyen una garantía de devolución del dinero de 30 días, un año de soporte y actualizaciones del software, validez para desarrollo/establecimiento/producción y una licencia perpetua. (compra única). Para ver toda la estructura de precios y licencias de IronPDF, vaya a aquí.
Nota:__
IronPDF ofrece la opción de conectar y unir dos o más PDF. También ofrece la opción de extraer páginas, copiar páginas, eliminar páginas específicas y generación de PDF multihilo, algo que su competidor no ofrece.
Desde un servidor remoto, IronPDF no genera HTML a PDF. Entre bastidores, inicia una instancia de un navegador realmente compatible con los estándares (sin necesidad de instalar software adicional). El HTML se renderiza con total precisión y en un formato vectorial adecuado para la impresión comercial con los más altos estándares. El resultado es un PDF nítido y de alta calidad. La información sobre licencias y precios está disponible en la página web.
DocRaptor también transforma HTML en cualquier formato a PDF con la máxima precisión y el mínimo tiempo de inactividad, gracias a que funciona en numerosos servidores en la nube. DocRaptor es una API basada en web que proporciona un servicio de conversión de PDF en línea. La API HTML a PDF de DocRaptor es fácil de usar gracias a las bibliotecas cliente de la API del lado del servidor. Estas bibliotecas se pueden encontrar en varios lenguajes de programación del lado del servidor. La página web contiene información sobre precios.
En el artículo anterior comparamos ambas herramientas y llegamos a la conclusión de que, para la conversión de documentos .NET o C#, los desarrolladores prefieren IronPDF a DocRaptor por muchas razones. IronPDF ofrece más funciones que DocRaptor. DocRaptor ofrece buenos paquetes para pequeñas organizaciones, pero es bastante caro y no proporciona una licencia continua a largo plazo. Por otro lado, IronPDF ofrece más funciones y una licencia de compra única a un precio inferior. IronPDF es preferible tanto para organizaciones pequeñas como para grandes infraestructuras. DocRaptor puede ser útil cuando se trabaja con PDF en diferentes plataformas de servidor. Además, los paquetes de IronPDF proporcionan una licencia de por vida y no hay costes continuos, mientras que DocRaptor sí tiene costes continuos.
9 productos API .NET para sus documentos de oficina