Cómo renderizar sitios WebGL

This article was translated from English: Does it need improvement?
Translated
View the article in English

por Chaknith Bin

WebGL es una potente herramienta para crear gráficos 3D interactivos en navegadores web, pero convertir estas experiencias dinámicas y altamente interactivas en un formato PDF estático puede ser todo un reto. Renderizar un sitio web WebGL a PDF implica capturar el contenido visual generado por el contexto WebGL y convertirlo a un formato adecuado para un documento PDF.

IronPDF proporciona las herramientas necesarias para capturar y renderizar sitios web con WebGL, tales como Mapbox y Colección de muestras WebGL .


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Renderizar sitios web WebGL

Para habilitar el renderizado WebGL, es necesario configurar algunos parámetros de IronPDF:

  • SingleProcess = true. Esto obliga a Chrome a realizar todo en el proceso actual en lugar de utilizar subprocesos.
  • ChromeGpuMode = Modo Hardware.

    Además, si el sitio web requiere cierto retraso antes de renderizarse para mostrarse correctamente, puede utilizar el método WaitFor.RenderDelay. Rendericemos un muestra de mapbox para nuestro ejemplo.

:path=/static-assets/pdf/content-code-examples/how-to/render-webgl-render-webgl.cs
using IronPdf;

// Configure IronPdf settings
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000);

// Render from URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");

pdf.SaveAs("webGL.pdf");
Imports IronPdf

' Configure IronPdf settings
IronPdf.Installation.SingleProcess = True
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware

Dim renderer As New ChromePdfRenderer()

' Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000)

' Render from URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/")

pdf.SaveAs("webGL.pdf")
VB   C#

Salida PDF

Actualmente no es posible renderizar WebGL en una configuración Docker. La renderización de WebGL en Docker puede ser un reto porque los contenedores Docker son típicamente entornos sin cabeza, lo que significa que no tienen una interfaz gráfica de usuario (GUI). WebGL depende del acceso a la GPU para renderizar los gráficos y, en un entorno headless, el acceso a la GPU es limitado o inexistente. Nuestros desarrolladores siguen investigando esta posibilidad. Si desea que se le notifique una vez que se haya llegado a una conclusión, póngase en contacto con support@ironsoftware.com.

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.