如何渲染 WebGL 网站

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

查克尼特·宾

Webgl Logo related to 如何渲染 WebGL 网站

WebGL 是一个强大的工具,用于在网页浏览器中创建交互式 3D 图形,但将这些动态的、高度交互式的体验转换成静态的 PDF 格式可能具有挑战性。 将 WebGL 网站渲染为 PDF 涉及捕获 WebGL 上下文生成的视觉内容,并将其转换为适合 PDF 文档的格式。

IronPDF提供了捕获和渲染使用WebGL的网站所需的工具地图盒WebGL 示例集.

开始使用IronPDF

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



渲染 WebGL 网站

要启用 WebGL 渲染,您需要配置一些 IronPDF 设置:

  • SingleProcess = true. 这迫使Chrome在当前进程中执行所有操作,而不是使用子进程。
  • ChromeGpuMode = 硬件 模式。

    此外,如果网站在正确显示之前需要一些延迟,您可以使用WaitFor.RenderDelay方法。 让我们渲染一个来自 Mapbox GeoJSON 层的样本为例。

: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#

输出 PDF

目前还无法在 Docker 设置中渲染 WebGL。在 Docker 上渲染 WebGL 可能具有挑战性,因为 Docker 容器通常是无头环境,这意味着它们没有图形用户界面(图形用户界面). WebGL 依赖于访问 GPU 来渲染图形,在无头环境中,对 GPU 的访问有限或不存在。 我们的开发者仍在调查这一可能性。 如果您希望在得出结论后收到通知,请联系support@ironsoftware.com

Chaknith related to 输出 PDF

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。