Saltar al pie de página
GUíAS DE MIGRACIóN

Cómo migrar de pdforge a IronPDF en C#

Migrar de pdforgea IronPDF: Guía completa de migración a C

La migración de pdforgeaIronPDFtraslada su flujo de trabajo de generación de PDF de una API basada en la nube que procesa documentos en servidores externos a una completa biblioteca .NET que gestiona todo localmente dentro de su aplicación. Esta guía proporciona una ruta de migración completa, paso a paso, que elimina las dependencias externas, elimina los costes de suscripción en curso y le da un control completo sobre su canal de procesamiento de documentos.

Por qué migrar de pdforgea IronPDF

Entendiendo pdforge

pdforge es una API de generación de PDF basada en la nube, que ofrece una forma sencilla de producir archivos PDF mediante la integración con su aplicación a través de llamadas a la API. Al descargar la tarea de creación de PDF a una API externa, los desarrolladores pueden simplificar el proceso de desarrollo. Sin embargo, pdforgepresenta inconvenientes como dependencias externas, opciones de personalización limitadas y costes de suscripción continuos que los desarrolladores deben tener en cuenta.

El problema de la dependencia de la API de la nube

pdforge procesa todos los documentos en servidores externos en la nube. Esta arquitectura plantea problemas importantes para las aplicaciones de producción:

  1. Procesamiento en servidor externo: Cada PDF que genere requiere enviar su HTML/datos a los servidores de pdforge-sus documentos salen de su infraestructura.

  2. Riesgos relacionados con la privacidad y el cumplimiento: Los datos confidenciales viajan por Internet a servidores de terceros. Al utilizar pdforge, los desarrolladores deben tener en cuenta las cuestiones de seguridad relacionadas con el envío de datos a una API externa. Si el contenido del PDF incluye información sensible, esto podría ser una consideración crítica.

  3. Costes de suscripción continuos: Las cuotas mensuales se acumulan indefinidamente sin propiedad de activos. El modelo SaaS de pdforgeintroduce gastos operativos continuos que pueden acumularse con el tiempo.

  4. Dependencia de Internet: No se genera PDF cuando la red no está disponible.

  5. Límites de tarifa: Los límites de uso de la API pueden estrangular las aplicaciones de gran volumen.

  6. Latencia de red: El tiempo de ida y vuelta añade segundos a cada generación de PDF.

Comparación entre PDForge e IronPDF

CaracterísticapdforgeIronPDF
Tipo de implementaciónAPI en la nubeBiblioteca local
DependenciasRequiere internet y autenticación APISin dependencias externas
PersonalizaciónControl limitado sobre la generación de PDFControl total sobre la personalización
Estructura de costesSuscripción continuaOpción de compra única
SeguridadPosibles problemas con los datos enviados a través de la webMantiene el procesamiento de datos totalmente dentro del entorno local
Complejidad de configuraciónConfiguración inicial más sencilla gracias a la manipulación externaRequiere más configuración inicial

IronPDF se distingue por ofrecer una biblioteca totalmente local, que otorga a los desarrolladores un control total sobre el proceso de creación de PDF. Esto es especialmente ventajoso para aplicaciones en las que se prefiere el manejo interno de archivos, o en las que las llamadas a API externas introducen problemas de seguridad.IronPDFprocesa todo localmente, minimizando estos riesgos.

Para los equipos que planean la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDFproporciona una base de procesamiento local que elimina la dependencia de la nube a la vez que añade funciones completas de manipulación de PDF.


Antes de empezar

Prerrequisitos

  1. <Entorno .NET: .NET Framework 4.6.2+ o .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Acceso a NuGet: Capacidad para instalar paquetes NuGet
  3. Licencia IronPDF: Obtenga su clave de licencia en ironpdf.com

Cambios en el paquete NuGet

# Remove pdforgepackages
dotnet remove package pdforge
dotnet remove package PdfForge

# Install IronPDF
dotnet add package IronPdf
# Remove pdforgepackages
dotnet remove package pdforge
dotnet remove package PdfForge

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuración de licencias

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Identificar el uso de pdforge

# Find pdforgeusage
grep -r "PdForge\|PdfClient\|HtmlToPdfRequest\|HtmlToPdfConverter" --include="*.cs" .

# Find placeholder patterns to migrate
grep -r "{totalPages}" --include="*.cs" .
# Find pdforgeusage
grep -r "PdForge\|PdfClient\|HtmlToPdfRequest\|HtmlToPdfConverter" --include="*.cs" .

# Find placeholder patterns to migrate
grep -r "{totalPages}" --include="*.cs" .
SHELL

Referencia completa de la API

Cambios en el espacio de nombres

// Before: pdforge
using PdfForge;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: pdforge
using PdfForge;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Core Class Mappings

pdforgeIronPDFNotas
<código>HtmlToPdfConverter</código<código>ChromePdfRenderer</códigoGenerador principal de PDF
PdfClient<código>ChromePdfRenderer</códigoEquivalente de cliente API
<código>TamañoPágina.A4</código<código>TamañoPapelPdf.A4</códigoEnumeración del tamaño del papel
<código>PageOrientation.Landscape</código<código>PdfPaperOrientation.Landscape</códigoEnum de orientación
Tipo de retorno: byte[]Documento PDFObjeto resultante

Métodos

pdforgeIronPDFNotas
converter.ConvertHtmlString(html)renderer.RenderHtmlAsPdf(html)Cadena HTML a PDF
<código>converter.ConvertUrl(url)</código<código>renderer.RenderUrlAsPdf(url)</códigoURL a PDF
<código>File.WriteAllBytes(ruta, bytes)</código<código>pdf.SaveAs(ruta)</códigoGuardar en disco
Tipo de retorno: byte[]<código>pdf.BinaryData</códigoObtener bytes en bruto

Mapas de configuración

pdforgeIronPDF(RenderingOptions)Notas
converter.PageSize = PageSize.A4renderer.RenderingOptions.PaperSize = PdfPaperSize.A4Tamaño del papel
converter.Orientation = PageOrientation.Landscaperenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.LandscapeOrientación
Pie de página = "Página {page} de {totalPages}"TextFooter = new TextHeaderFooter { CenterText = "Página {page} de {total-páginas}" }Pie de página (observe el cambio de marcador de posición)

Nuevas funciones no disponibles en pdforge

Características de IronPDFDescripción
PdfDocument.Merge()Combinar varios PDF
<código>pdf.ExtractAllText()</códigoExtraer texto de PDF
<código>pdf.ApplyWatermark()</códigoAñadir marcas de agua
<código>pdf.SecuritySettings</códigoProtección mediante contraseña
<código>pdf.Form</códigoRelleno de formularios
<código>pdf.SignWithDigitalSignature()</códigoFirmas digitales

Ejemplos de migración de código

Ejemplo 1: Conversión de cadenas HTML a PDF

Antes (pdforge):

// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.ConvertHtmlString(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.ConvertHtmlString(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La diferencia fundamental en este caso es el modelo de procesamiento y el tipo de retorno. pdforgeutiliza <código>HtmlToPdfConverter</códigocon ConvertHtmlString(), que devuelve una matriz byte[]; a continuación, debe utilizar File.WriteAllBytes() para guardar el resultado.

IronPDF utiliza <código>ChromePdfRenderer</códigocon RenderHtmlAsPdf() que devuelve un objeto PdfDocument. Este objeto se puede guardar directamente con SaveAs(), o puede acceder a <código>pdf.BinaryData</códigosi necesita los bytes sin procesar. El Documento PDFtambién permite la manipulación (añadir marcas de agua, fusionar con otros PDF, añadir seguridad) antes de guardarlo. Consulte la documentación HTML a PDF para ver ejemplos completos.

Ejemplo 2: Conversión de URL a PDF

Antes (pdforge):

// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var pdf = converter.ConvertUrl("https://example.com");
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var pdf = converter.ConvertUrl("https://example.com");
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

pdforge utiliza ConvertUrl() en la clase HtmlToPdfConverter, devolviendo bytes que se escriben con File.WriteAllBytes().IronPDFutiliza RenderUrlAsPdf() en ChromePdfRenderer, devolviendo un Documento PDFcon el método incorporado SaveAs().

La principal ventaja deIronPDFes que la URL se obtiene y se renderiza localmente mediante un motor Chromium, sin necesidad de enviar datos a servidores externos. IronPDF, al ser una biblioteca local, puede ofrecer un mejor rendimiento, ya que no hay tiempo de ida y vuelta en las solicitudes web. Más información sobre Conversión de URL a PDF.

Ejemplo 3: Archivo HTML a PDF con configuración personalizada

Antes (pdforge):

// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.PageSize = PageSize.A4;
        converter.Orientation = PageOrientation.Landscape;
        var htmlContent = File.ReadAllText("input.html");
        var pdf = converter.ConvertHtmlString(htmlContent);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
// NuGet: Install-Package PdfForge
using PdfForge;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.PageSize = PageSize.A4;
        converter.Orientation = PageOrientation.Landscape;
        var htmlContent = File.ReadAllText("input.html");
        var pdf = converter.ConvertHtmlString(htmlContent);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Después (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        var htmlContent = System.IO.File.ReadAllText("input.html");
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        var htmlContent = System.IO.File.ReadAllText("input.html");
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Este ejemplo muestra la diferencia de patrón de configuración. pdforgeestablece propiedades directamente en el objeto conversor (converter.PageSize = PageSize.A4, converter.Orientation = PageOrientation.Landscape).

IronPDF utiliza la propiedad RenderingOptions con enums fuertemente tipados: renderer.RenderingOptions.PaperSize = PdfPaperSize.A4y renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape. Esto proporciona compatibilidad con IntelliSense y seguridad de tipos en tiempo de compilación. Tenga en cuenta queIronPDFrequiere la importación del espacio de nombres IronPdf.Rendering para los enums de tamaño y orientación del papel. Consulte los tutoriales para ver más ejemplos de configuración.


Notas de migración críticas

Cambio de tipo de retorno

pdforge devuelve byte[];IronPDFdevuelve PdfDocument:

// pdforge: Returns byte[]
byte[] pdfBytes = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdfBytes);

// IronPDF: Returns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");           // Direct save
byte[] bytes = pdf.BinaryData;      // Get bytes if needed
// pdforge: Returns byte[]
byte[] pdfBytes = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdfBytes);

// IronPDF: Returns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");           // Direct save
byte[] bytes = pdf.BinaryData;      // Get bytes if needed
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cambio de clase de conversor

// pdforge: HtmlToPdfConverter
var converter = new HtmlToPdfConverter();

// IronPDF: ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// pdforge: HtmlToPdfConverter
var converter = new HtmlToPdfConverter();

// IronPDF: ChromePdfRenderer
var renderer = new ChromePdfRenderer();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cambios en los nombres de los métodos

// pdforgemethods
converter.ConvertHtmlString(html)
converter.ConvertUrl(url)

//IronPDFmethods
renderer.RenderHtmlAsPdf(html)
renderer.RenderUrlAsPdf(url)
// pdforgemethods
converter.ConvertHtmlString(html)
converter.ConvertUrl(url)

//IronPDFmethods
renderer.RenderHtmlAsPdf(html)
renderer.RenderUrlAsPdf(url)
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cambio de método de guardado

// pdforge: Manual file write
File.WriteAllBytes("output.pdf", pdfBytes);

// IronPDF: Built-in save method
pdf.SaveAs("output.pdf");
// pdforge: Manual file write
File.WriteAllBytes("output.pdf", pdfBytes);

// IronPDF: Built-in save method
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cambio de ubicación de la configuración

pdforge utiliza propiedades del conversor;IronPDFutiliza RenderingOptions:

// pdforge: Properties on converter
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;

// IronPDF: Properties on RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
// pdforge: Properties on converter
converter.PageSize = PageSize.A4;
converter.Orientation = PageOrientation.Landscape;

// IronPDF: Properties on RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sintaxis del marcador de posición de encabezado/pie

Si utiliza números de página en encabezados o pies de página, la sintaxis del marcador de posición es diferente:

// pdforgeplaceholders
"Page {page} of {totalPages}"

//IronPDFplaceholders
"Page {page} of {total-pages}"  // Note: hyphen in total-pages
// pdforgeplaceholders
"Page {page} of {totalPages}"

//IronPDFplaceholders
"Page {page} of {total-pages}"  // Note: hyphen in total-pages
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nuevas capacidades tras la migración

Tras migrar a IronPDF, obtendrá funciones que pdforgeno puede ofrecerle:

Fusión de PDF

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Extracción de texto

var pdf = PdfDocument.FromFile("document.pdf");
string allText = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string allText = pdf.ExtractAllText();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Marcas de agua

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Protección con contraseña

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Resumen comparativo de características

CaracterísticapdforgeIronPDF
HTML a PDF
URL a PDF
Configuración de la página
Capacidad offline
Procesamiento local
Fusionar PDF
Dividir PDF
Extraer texto
Marcas de agua
Relleno de formularios
Firmas digitales
Protección por contraseña
Sin límite de tarifa
Licencia única

Lista de comprobación de la migración

Pre-Migración

  • [ ] Inventario de todas las llamadas a la API de pdforgeen el código base
  • [ ] Documentar las opciones de configuración actuales utilizadas (tamaño de página, orientación)
  • [ ] Identificar los marcadores de posición de encabezado/pie de página que deben actualizarse ({totalPages}{total-pages})
  • [ ] Planificar el almacenamiento de la clave de licencia deIronPDF(se recomiendan variables de entorno)
  • [ ] Pruebe primero con la licencia de prueba de IronPDF

Cambios en el paquete

  • [ ] Eliminar el paquete NuGet pdforge
  • [ ] Eliminar el paquete NuGet PdfForge
  • [Instale el paquete NuGet IronPdf: dotnet add package IronPdf

Cambios de código

  • [ ] Actualizar todas las importaciones de espacios de nombres (usando PdfForge;usando IronPDF;)
  • [ ] Añadir usando IronPDF.Rendering; para los enums de tamaño y orientación del papel
  • [Reemplace <código>HtmlToPdfConverter</códigopor ChromePdfRenderer
  • [ ] Sustituya ConvertHtmlString() por RenderHtmlAsPdf()
  • [ ] Sustituya ConvertUrl() por RenderUrlAsPdf()
  • [Reemplace File.WriteAllBytes() por pdf.SaveAs()
  • [Mover la propiedad PageSize a RenderingOptions.PaperSize
  • [Mover la propiedad Orientation a RenderingOptions.PaperOrientation
  • [ ] Actualizar nombres de enum (PageSize.A4PdfPaperSize.A4)
  • [ ] Actualizar nombres de enum (PageOrientation.LandscapePdfPaperOrientation.Landscape)
  • [ ] Actualizar la sintaxis de los marcadores de posición en encabezados/pies de página

Posmigración

  • [ ] Comprobación de que la calidad del PDF se ajusta a las expectativas
  • [ ] Verificar el funcionamiento offline
  • [ ] Eliminar credenciales de API de la configuración
  • [ ] Añadir nuevas funciones (fusión, marcas de agua, seguridad) según sea necesario

Conclusión

La migración de pdforgeaIronPDFtransforma su flujo de trabajo PDF de un servicio API dependiente de la nube a una biblioteca PDF procesada localmente y con todas las funciones. La migración elimina los costes continuos de suscripción, elimina la dependencia de Internet y proporciona una privacidad total de los datos al mantener todo el procesamiento de documentos en sus servidores.

Los cambios clave en esta migración son:

  1. Clase principal: <código>HtmlToPdfConverter</código→ ChromePdfRenderer
  2. MétodoHTML: ConvertHtmlString()RenderHtmlAsPdf()
  3. Método URL: ConvertUrl()RenderUrlAsPdf()
  4. Tipo de retorno: byte[]PdfDocument
  5. Método de guardado: File.WriteAllBytes()pdf.SaveAs()
  6. Tamaño de página: converter.PageSize = PageSize.A4renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
  7. Orientación: converter.Orientation = PageOrientation.Landscaperenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
  8. Nuevas funciones: Fusión de PDF, extracción de texto, marcas de agua, firmas digitales, etc

Decidirse entre pdforgeeIronPDFdepende en gran medida de los requisitos específicos del proyecto, especialmente en términos de necesidades de personalización, presupuesto y consideraciones de seguridad.IronPDFofrece un conjunto de herramientas más completo con sólidas ventajas de seguridad para desarrolladores capaces de gestionar implantaciones locales. Al procesar localmente,IronPDFelude los problemas de privacidad asociados a los modelos basados en la nube y ofrece una solución más rentable y escalable para los desarrolladores de aplicaciones.

Explore la documentación completa de IronPDF, tutoriales y referencia de API para acelerar su migración a pdforge.

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