# Descripción general de la instalación
Hay dos maneras de instalar IronPDF: modo nativo y motor remoto. Por defecto, se recomienda el modo nativo.
```cs
:title=Get started making PDFs now!
IronPdf.ChromePdfRenderer
.StaticRenderHtmlAsPdf("<p>Hello World</p>")
.SaveAs("pixelperfect.pdf");
```
<hr />
## 1. Requisitos de la plataforma
<table class="classic-table hover-cell">
<thead>
<tr>
<th><span>Plataforma</span></th>
<th><span>Versión .NET</span></th>
<th><span>Hardware</span></th>
<th><span>Requisitos adicionales, compatibilidad</span></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="d-flex align-items-center justify-content-center">
<img src="/static-assets/svgs/logo-table_windows.svg" width="64" height="64" alt="" />
</div>
<a href="/get-started/windows/">Windows</a>
</td>
<td rowspan="3"><span>.NET 10, 9, 8, 7, 6, 5, .NET Core, .NET Standard y .NET Framework.</span></td>
<td rowspan="3">
<ul>
<li>Mínimo: 1 Core y 1,75 GB de RAM</li>
<li>Recomendado: 2 núcleos y 8 GB de RAM o superior</li>
</ul>
</td>
<td>
<ul>
<li>Windows 10, 11 y Windows Server</li>
<li>Visual C++ Redistributable (x86 y x64)</li>
</ul>
</td>
</tr>
<tr>
<td>
<div class="d-flex align-items-center justify-content-center">
<img src="/static-assets/svgs/logo-table_linux.svg" width="64" height="64" alt="" />
</div>
<a href="/get-started/linux/">Linux</a>
</td>
<td>
<ul>
<li>Sistemas operativos Linux de 64 bits: Ubuntu 22, Ubuntu 20, Ubuntu 18, Ubuntu 16, Debian 10-11, CentOS 8, Fedora Linux 33, Amazon, AWS, Linux 2</li>
<li>IronCefSubprocess</li>
<li>Dependencias de Chrome</li>
</ul>
</td>
</tr>
<tr>
<td>
<div class="d-flex align-items-center justify-content-center">
<img src="/static-assets/svgs/logo-table_mac.svg" width="64" height="64" alt="" />
</div>
<a href="/get-started/macos/">macOS</a>
</td>
<td><span>Todas las versiones de macOS desde 2020</span></td>
</tr>
</tbody>
</table>
<hr />
## 2. Métodos de instalación
Instalar la biblioteca de PDF en C# lleva menos de 5 minutos. Consíguelo gratis a través de NuGet o descarga directa y comienza a usarlo en Visual Studio de inmediato.
<div class="row install-modes g-3">
<div class="col-6">
<div class="install-mode">
<div class="install-mode__header">
<span class="install-mode__title">Modo Motor Remoto</span>
<span class="install-mode__subtitle">Procesamiento de PDF independiente mediante protocolo gRPC.</span>
</div>
<div class="install-mode__body">
<ul>
<li><strong>Best para:</strong> Despliegues en la nube y en contenedores, compatibilidad con sistemas operativos heredados.</li>
<li><strong>Paquete:</strong> IronPdf.Slim</li>
<li><strong>Tamaño:</strong> Más ligero, ocupando unos pocos MB. </li>
<li><strong>Requisitos:</strong> Requiere configurar la conexión al host.</li>
</ul>
</div>
</div>
</div>
<div class="col-6">
<div class="install-mode install-mode--recommended">
<div class="install-mode__header">
<span class="install-mode__title">Modo nativo (predeterminado)</span>
<span class="install-mode__subtitle">Todo se ejecuta localmente en su aplicación</span>
<div class="recommended-float">
<img src="/static-assets/svgs/float-recommended.svg" width="151" height="37.8" alt="" />
</div>
</div>
<div class="install-mode__body">
<ul>
<li><strong>Best para:</strong> Implementaciones modernas de Windows, macOS y Linux.</li>
<li><strong>Paquete:</strong> Paquete completo de IronPDF NuGet.</li>
<li><strong>Tamaño:</strong> De gran tamaño (cientos de MBs), incluyendo los binarios de Chrome y Pdfium.</li>
<li><strong>Requisitos:</strong> Funciona en sistemas operativos modernos.</li>
</ul>
</div>
</div>
</div>
</div>
<hr />
## 3. Opciones de instalación
.installation-options__tab[data-tab="1"] { border-bottom: 3px solid #E01A59;
<div class="installation-options__container" data-active-tab="1">
<div class="installation-options__tabs">
<div class="installation-options__tab" data-tab="1">
<span>Paquete NuGet</span>
</div>
<div class="installation-options__tab" data-tab="2">
<span>Descarga del manual</span>
</div>
<div class="installation-options__tab" data-tab="3">
<span>Remoto IronPDFEngine</span>
</div>
</div>
<div class="installation-options__info" data-tab="1"></div>
<div class="installation-options__info" data-tab="2"></div>
<div class="installation-options__info" data-tab="3"></div>
</div>
<div id="nuget-package-start"></div>
Ve a la [biblioteca IronPDF NuGet](https://www.nuget.org/packages/IronPdf/) (o la Consola del Administrador de Paquetes en Visual Studio)
2. Selecciona 'Administrar paquetes NuGet' > 'Explorar' > Busca IronPDF
```shell
:ProductInstall
```
<p class="related-link">**RELACIÓN:** <a href="/get-started/advanced-installation-nuget/">Más paquetes avanzados IronPDF NuGet <i class="fa-solid fa-arrow-right"></i></a></p>
<div id="nuget-package-end"></div>
<div id="manual-download-start"></div>
<ol>
<li>Descargue el paquete IronPDF DLL para su plataforma: Windows, Linux, macOS</li>
<li>Descomprima el archivo ZIP para su sistema operativo en una ubicación dentro de su directorio de soluciones.</li>
<li>En el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en "Dependencias"</li>
<li>añadir referencia de proyecto' > Seleccione 'Examinar' para incluir todas las DLL extraídas del zip.</li>
</ol>
<div id="manual-download-end"></div>
<div id="remote-ironpdfengine-start"></div>
[[i:(Tenga en cuenta: cada lanzamiento de IronPDF requiere la versión correspondiente de IronPDFEngine. La compatibilidad entre versiones no está disponible. Por ejemplo, IronPDF 2024.2.2 debe utilizar IronPDFEngine 2024.2.2.)]]
Instala IronPDF usando NuGet.
```shell
:InstallCmd Install-Package IronPdf.Slim
```
<div id="remote-ironpdfengine-end"></div>
## 4. Configuraciones adicionales
<div class="installation-options__container" data-active-tab="1">
<div class="installation-options__tabs">
<div class="installation-options__tab" data-tab="1">
<span>Administrar licencia</span>
</div>
<div class="installation-options__tab" data-tab="2">
<span>Path & Permission</span>
</div>
<div class="installation-options__tab" data-tab="3">
<span>Motor remoto</span>
</div>
</div>
<div class="additional-configurations__info" data-tab="1"></div>
<div class="additional-configurations__info" data-tab="2"></div>
<div class="additional-configurations__info" data-tab="3"></div>
</div>
<div id="manage-license-start"></div>
Una vez que haya adquirido IronPDF o se haya suscrito a una versión de prueba de 30 días, encontrará la clave de licencia enviada a su correo electrónico.
Establece la propiedad TempFolderPath de IronPdf.Installation.
```csharp
IronPdf.License.LicenseKey = "KEY";
```
Ver estado de la licencia.
```csharp
bool valid = IronPdf.License.IsLicensed;
```
<div id="manage-license-end"></div>
<div id="path-permission-start"></div>
Establezca la propiedad TempFolderPath del objeto IronPdf.Installation.
```csharp
IronPdf.Installation.TempFolderPath = @"C:\My\Safe\Path";
```
[[t:(Asegúrese de borrar todas las carpetas temporales y de caché en sus servidores y desarrollo, luego vuelva a implementar una versión limpia de su aplicación después de actualizar una ruta.)]]
<div id="remote-engine-start"></div> **[IronPDFEngine Remoto]** Tras instalar IronPdf.Slim, conecta al motor y configura la conexión al iniciar la aplicación.
```csharp
using IronPdf;
// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);
// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");
// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");
```
[[t:(En un servidor bloqueado, otorgue al usuario de IIS (IUSER) permisos de lectura y escritura en su carpeta de ruta de instalación, así como también en su carpeta de Windows y Temp.)]]
<div id="path-permission-end"></div>
<div id="remote-engine-start"></div>
**[Remote IronPDFEngine]** Después de instalar el paquete IronPdf.Slim, conéctese al contenedor del motor y configure la conexión al iniciar la aplicación o antes de llamar a cualquier método IronPDF.
**[Docker]** Pre-inicializa el motor Chrome para cargar prerrequisitos y acelerar el uso en Docker.
```csharp
Installation.ConnectToIronPdfHost(
IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);
```
<p class="related-link">**RELACIÓN:** <a href="/get-started/ironpdfengine/#ironpdfengine-limitations">Limitaciones de IronPDFEngine <i class="fa-solid fa-arrow-right"></i></a></p>
**[Linux]** Habilita IronPDF para instalar automáticamente todas las dependencias necesarias en Linux. La primera operación de HTML a PDF puede tardar más de lo habitual.
```csharp
Installation.LinuxAndDockerDependenciesAutoConfig = true;
```
**[Docker]** Inicializa previamente el motor Chrome para precargar los requisitos y acelerar el uso por primera vez en Docker.
```csharp
IronPdf.Installation.Initialize();
```
<p class="related-link">**RELACIÓN:** <a href="/get-started/linux/">Compatibilidad y configuración de IronPDF Linux Docker <i class="fa-solid fa-arrow-right"></i></a></p>
<div id="remote-engine-end"></div>
<hr />
## 5. Escenarios de implementación
<div class="row deployment-scenarios g-4">
<div class="col-6">
<div class="deployment-card">
<div class="deployment-card__icon">
<img src="/static-assets/svgs/logo-azure.svg" width="64" height="64" alt="" />
</div>
<div class="deployment-card__info">
<p class="deployment-card__title">Ejecutar e implementar IronPDF .NET en</p>
<a href="/get-started/azure/" class="deployment-card__link">Función Azure <i class="fa-solid fa-arrow-right"></i></a>
</div>
</div>
</div>
<div class="col-6">
<div class="deployment-card">
<div class="deployment-card__icon">
<img src="/static-assets/svgs/logo-aws.svg" width="64" height="64" alt="" />
</div>
<div class="deployment-card__info">
<p class="deployment-card__title">Ejecutar e implementar IronPDF .NET en</p>
<a href="/get-started/aws/" class="deployment-card__link">AWS Lambda <i class="fa-solid fa-arrow-right"></i></a>
</div>
</div>
</div>
<div class="col-6">
<div class="deployment-card">
<div class="deployment-card__icon">
<img src="/static-assets/svgs/logo-linux.svg" width="64" height="64" alt="" />
</div>
<div class="deployment-card__info">
<p class="deployment-card__title">Ejecute IronPDF en</p>
<a href="/get-started/ironpdf-docker/" class="deployment-card__link">Contenedor Docker Linux <i class="fa-solid fa-arrow-right"></i></a>
</div>
</div>
</div>
<div class="col-6">
<div class="deployment-card">
<div class="deployment-card__icon">
<img src="/static-assets/svgs/logo-remote.svg" width="64" height="64" alt="" />
</div>
<div class="deployment-card__info">
<p class="deployment-card__title">Ejecutar IronPDF como una aplicación</p>
<a href="/get-started/ironpdfengine-docker/" class="deployment-card__link">Contenedor remoto <i class="fa-solid fa-arrow-right"></i></a>
</div>
</div>
</div>
</div>
<hr />
## Próximos pasos
<div class="row g-3">
<div class="col-12 col-md-6 col-xxl-4">
<a href="/tutorials/html-to-pdf/" class="next-step__card">
<div class="next-step__card-info">
<div class="next-step__card-icon">
<i class="fa-duotone fa-solid fa-graduation-cap"></i>
</div>
<span class="next-step__card-text">Guía completa de HTML a PDF C#</span>
</div>
<p class="next-step__card-cta">Ver tutorial <i class="fa-solid fa-arrow-right"></i></p>
</a>
</div>
<div class="col-12 col-md-6 col-xxl-4">
<a href="/product-updates/changelog/" class="next-step__card">
<div class="next-step__card-info">
<div class="next-step__card-icon">
<i class="fa-solid fa-clock-rotate-left"></i>
</div>
<span class="next-step__card-text">Registro de cambios: Actualizaciones, hitos, hoja de ruta</span>
</div>
<p class="next-step__card-cta">Ver actualizaciones de productos <i class="fa-solid fa-arrow-right"></i></p>
</a>
</div>
<div class="col-12 col-md-6 col-xxl-4">
<a href="/troubleshooting/engineering-request-pdf/" class="next-step__card">
<div class="next-step__card-info">
<div class="next-step__card-icon">
<i class="fa-duotone fa-solid fa-wrench"></i>
</div>
<span class="next-step__card-text">Solicitar asistencia técnica</span>
</div>
<p class="next-step__card-cta">Ver Solución de problemas <i class="fa-solid fa-arrow-right"></i></p>
</a>
</div>
</div>
<hr />
<div class="tutorials-navigation">
<a href="/get-started/quickstart/" class="tutorials-navigation__cta tutorials-navigation__cta--left"><i class="fa-solid fa-chevron-left"></i>Quickstart Guide</a>
<a href="/get-started/ironpdfengine/" class="tutorials-navigation__cta tutorials-navigation__cta--right">Native vs Remote Engine<i class="fa-solid fa-chevron-right"></i></a>
</div>
Instalar la biblioteca de PDF en C# lleva menos de 5 minutos. Consíguelo gratis a través de NuGet o descarga directa y comienza a usarlo en Visual Studio de inmediato.
Modo Motor RemotoProcesamiento de PDF independiente mediante protocolo gRPC.
Best para: Despliegues en la nube y en contenedores, compatibilidad con sistemas operativos heredados.
Paquete: IronPdf.Slim
Tamaño: Más ligero, ocupando unos pocos MB.
Requisitos: Requiere configurar la conexión al host.
Modo nativo (predeterminado)Todo se ejecuta localmente en su aplicación
Best para: Implementaciones modernas de Windows, macOS y Linux.
Paquete: Paquete completo de IronPDF NuGet.
Tamaño: De gran tamaño (cientos de MBs), incluyendo los binarios de Chrome y Pdfium.
Requisitos: Funciona en sistemas operativos modernos.
Descargue el paquete IronPDF DLL para su plataforma: Windows, Linux, macOS
Descomprima el archivo ZIP para su sistema operativo en una ubicación dentro de su directorio de soluciones.
En el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en "Dependencias"
añadir referencia de proyecto' > Seleccione 'Examinar' para incluir todas las DLL extraídas del zip.
Por favor nota: Tenga en cuenta: cada lanzamiento de IronPDF requiere la versión correspondiente de IronPDFEngine. La compatibilidad entre versiones no está disponible. Por ejemplo, IronPDF 2024.2.2 debe utilizar IronPDFEngine 2024.2.2.
Instala IronPDF usando NuGet.
PM > Install-Package IronPdf.Slim
Install-Package IronPdf.Slim
4. Configuraciones adicionales
Administrar licencia
Path & Permission
Motor remoto
Una vez que haya adquirido IronPDF o se haya suscrito a una versión de prueba de 30 días, encontrará la clave de licencia enviada a su correo electrónico.
Establece la propiedad TempFolderPath de IronPdf.Installation.
Consejos: Asegúrese de borrar todas las carpetas temporales y de caché en sus servidores y desarrollo, luego vuelva a implementar una versión limpia de su aplicación después de actualizar una ruta.
[IronPDFEngine Remoto] Tras instalar IronPdf.Slim, conecta al motor y configura la conexión al iniciar la aplicación.
using IronPdf;// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the applicationvarMyTempPath = @"C:\Safe\Path\";Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);// Set IronPDF Temp PathIronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");// Your PDF Generation and editing codevarRenderer = new IronPdf.ChromePdfRenderer();using varDoc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");Doc.SaveAs("example.pdf");
using IronPdf;
// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);
// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");
// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");
ImportsIronPdf' Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the applicationDimMyTempPathAsString = "C:\Safe\Path\"Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process)Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process)' Set IronPDF Temp PathIronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf")' Your PDF Generation and editing codeDimRendererAs New IronPdf.ChromePdfRenderer()UsingDoc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")Doc.SaveAs("example.pdf")EndUsing
Imports IronPdf
' Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
Dim MyTempPath As String = "C:\Safe\Path\"
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process)
' Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf")
' Your PDF Generation and editing code
Dim Renderer As New IronPdf.ChromePdfRenderer()
Using Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
Doc.SaveAs("example.pdf")
End Using
Consejos: En un servidor bloqueado, otorgue al usuario de IIS (IUSER) permisos de lectura y escritura en su carpeta de ruta de instalación, así como también en su carpeta de Windows y Temp.
[Remote IronPDFEngine] Después de instalar el paquete IronPdf.Slim, conéctese al contenedor del motor y configure la conexión al iniciar la aplicación o antes de llamar a cualquier método IronPDF.
[Docker] Pre-inicializa el motor Chrome para cargar prerrequisitos y acelerar el uso en Docker.
[Linux] Habilita IronPDF para instalar automáticamente todas las dependencias necesarias en Linux. La primera operación de HTML a PDF puede tardar más de lo habitual.
¿Cómo puedo configurar IronPDFEngine para la generación remota de PDF?
Para configurar IronPDFEngine para la generación remota de PDF, instala el paquete IronPdf.Slim desde NuGet y configura las configuraciones de conexión usando la clase IronPDFConnectionConfiguration. Esta configuración te permite conectar tu aplicación a la instancia de IronPDFEngine remotamente.
¿Cuáles son los principales beneficios de usar IronPDFEngine con mi aplicación?
Usar IronPDFEngine con tu aplicación permite la ejecución remota de tareas PDF, ayudando a evitar problemas de compatibilidad específicos de la plataforma, especialmente en sistemas más antiguos y plataformas móviles. También elimina la necesidad del tiempo de ejecución de .NET durante la ejecución.
¿Por qué podría elegir usar IronPDFEngine en lugar de la biblioteca PDF nativa?
Podrías elegir IronPDFEngine para ejecutar funciones PDF intensivas en rendimiento de forma remota, reduciendo problemas de compatibilidad con diferentes sistemas operativos y mejorando el rendimiento al aprovechar un renderizador idéntico a Chrome para la conversión de HTML a PDF.
¿Es compatible el escalado horizontal en IronPDFEngine?
No, IronPDFEngine actualmente no admite el escalado horizontal, lo que significa que no puede ser equilibrado en carga entre múltiples instancias debido a la forma en que se manejan los archivos binarios de PDF en la memoria del servidor.
¿Puede ejecutarse IronPDFEngine en diferentes sistemas operativos?
IronPDFEngine está diseñado para ejecutarse en sistemas Linux usando contenedores Docker. Sin embargo, los archivos binarios son específicos de la plataforma, por lo que necesitas asegurarte de usar la versión correcta para tu sistema operativo.
¿Qué debo hacer si mis salidas de PDF son diferentes al usar IronPDFEngine?
Las salidas de PDF pueden variar ligeramente debido a comportamientos diferentes del sistema operativo. Para minimizar diferencias, asegúrate de estar usando la imagen Docker correcta y verifica cualquier configuración específica del sistema operativo que pueda afectar el renderizado.
¿Cómo aseguro que mi aplicación esté usando la versión correcta de IronPDFEngine?
Para asegurar la compatibilidad, cada versión de IronPDF requiere una versión correspondiente de IronPDFEngine. Asegúrate de actualizar ambos componentes simultáneamente para evitar problemas de versiones cruzadas.
¿Cuáles son las limitaciones al usar IronPDFEngine en Windows?
Al usar IronPDFEngine en Windows, necesitas contenedores de Linux para Docker y debes asegurarte de que el puerto del servidor sea accesible. Los binarios son específicos de la plataforma y se requiere cambiar a contenedores de Linux.
¿Cómo configuro IronPDF para conectar a un servidor remoto de IronPDFEngine?
Para configurar IronPDF para un servidor remoto, usa Installation.ConnectTo IronPDFHost con el método IronPdf.GrpcLayer.IronPDFConnectionConfiguration.RemoteServer, especificando los detalles de IP y puerto del servidor.
¿Qué paquete debo usar para minimizar el tamaño de la aplicación al usar IronPDFEngine?
Deberías usar el paquete IronPdf.Slim de NuGet, ya que incluye solo los componentes necesarios para ejecutar IronPDF con IronPDFEngine, reduciendo así el tamaño de la aplicación.
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 estructurados y visualmente atractivos.