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 lo que se puede convertir a PDF, también puede convertir HTML con CSS y JavaScript personalizados. El uso de JavaScript dentro del contenido HTML, por ejemplo, permite que activos como imágenes se incrusten directamente dentro de la cadena HTML en lugar de cargarlos como activos externos. Todo lo que necesitas para lograr esto es la clase ChromePdfRenderer
y su propiedad RenderingOptions
.
5 Steps to Rendering HTML with JavaScript to PDF in C#
const string htmlWithJavaScript = "...."
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript();
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 utilizará para crear nuestro PDF. El uso de la etiqueta de script significa que hemos indicado qué sección de la cadena es JavaScript, la cual se habilitará más adelante utilizando 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 de contenido HTML a PDF. Con esta clase, puede estar seguro de que sus archivos PDF renderizados saldrán perfectos píxel a píxel, junto con cualquier contenido personalizado de JavaScript o CSS mantenido en el resultado final.
A continuación, utilice la propiedad RenderingOptions
dentro de la clase ChromePdfRenderer para habilitar la ejecución de JavaScript antes de que se renderice el nuevo PDF. La línea RenderingOptions.WaitFor
asegura que el programa espere a que JavaScript termine de ejecutarse antes de continuar con el proceso de renderizado. La representación comenzará una vez que el código JavaScript ejecute el método window.ironpdf.notifyRender()
. La propiedad RenderingOptions se asigna a la instancia de ChromePdfRenderer que creamos, de modo que las opciones se utilizarán para cualquier PDF creado con este renderizador.
El método renderer.RenderHtmlAsPdf(...)
se encarga del renderizado real del documento PDF. Al pasar la cadena HTML con JavaScript a este método, podemos renderizarla 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 recién renderizado, que en este caso se llama pdfJavaScript. Finalmente, podemos guardar este nuevo PDF usando el método SaveAs
.
Haga clic aquí para ver la Guía de Cómo Hacerlo, incluidos ejemplos, código de muestra y archivos.