JavaScript en HTML a PDF
IronPDF permite a los usuarios crear archivos PDF a partir de contenido HTML, pero no solo es contenido HTML puro el que puede convertirse a PDF; también puede convertir HTML con CSS personalizado y JavaScript. Usar JavaScript dentro del contenido HTML, por ejemplo, permite que los recursos como imágenes se incrusten directamente dentro de una cadena HTML en lugar de cargarlos como recursos externos. Todo lo que necesitas para lograr esto es la clase ChromePdfRenderer y su propiedad RenderingOptions.
5 pasos para convertir HTML con JavaScript a PDF en C#
const string htmlWithJavaScript = "....";var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;renderer.RenderingOptions.WaitForJavaScript();var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);
Dentro de la variable de cadena, hemos creado una cadena HTML que incluye la etiqueta <script> de JavaScript, que contendrá el código JavaScript que se usará para crear nuestro PDF. Usar la etiqueta script significa que hemos indicado qué sección de la cadena es JavaScript, que posteriormente se activará usando la propiedad RenderingOptions. Con esto, puedes incrustar imágenes, mantener la interactividad en el PDF renderizado, y más.
Con new ChromePdfRenderer();, instanciamos una nueva instancia de la clase ChromePdfRenderer, que controla el renderizado del contenido HTML a PDF. Con esta clase, puedes estar seguro de que tus archivos PDF renderizados saldrán perfectos píxel a píxel, junto con cualquier contenido JavaScript o CSS personalizado mantenido en el resultado final.
A continuación, utiliza la propiedad RenderingOptions dentro de la clase ChromePdfRenderer para habilitar la ejecución de JavaScript antes de que se renderice el nuevo PDF. El método RenderingOptions.WaitForJavaScript() asegura que el programa espere a que el JavaScript termine de ejecutarse antes de continuar con el proceso de renderizado. El renderizado comenzará una vez que el código JavaScript ejecute el método window.ironpdf.notifyRender(). La propiedad RenderingOptions se asigna a la instancia ChromePdfRenderer que creamos, para que las opciones se utilicen para cualquier PDF creado con este renderizador.
El método renderer.RenderHtmlAsPdf(...) maneja el renderizado real del documento PDF. Al pasar la cadena HTML con el JavaScript a este método, podemos renderizarlo como un PDF de alta calidad que contiene todos los elementos HTML y JavaScript. Esto se guarda en un nuevo objeto PdfDocument que almacenará el PDF recientemente renderizado, que en este caso se llama pdfJavaScript. Finalmente, podemos guardar este nuevo PDF usando el método SaveAs.





