如何呈現 WebGL 網站

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

查克尼思·賓

WebGL 是一個強大的工具,用於在網頁瀏覽器中創建互動式 3D 圖形,但將這些動態、高度互動的體驗轉換為靜態 PDF 格式可能具有挑戰性。將 WebGL 網站渲染為 PDF 涉及捕捉由 WebGL 上下文生成的視覺內容,並將其轉換為適合 PDF 文檔的格式。

IronPDF 提供了捕捉和渲染具有 WebGL 的網站所需的工具,例如 MapboxWebGL範例集 .


C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

渲染 WebGL 網站

要啟用 WebGL 渲染,您需要配置一些 IronPDF 設置:

  • SingleProcess = true。這會強制 Chrome 將所有操作在當前進程中進行,而不是使用子進程。
  • ChromeGpuMode = Hardware 模式。

此外,如果網站在渲染前需要一些延遲才能正確顯示,您可以使用 WaitFor.RenderDelay 方法。讓我們來渲染一個 取樣自 Mapbox 舉例來說。

: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 容器通常是無頭環境,這意味著它們沒有圖形用戶界面,這使得在 Docker 上渲染 WebGL 變得具有挑戰性。 (圖形用戶介面)WebGL 依賴圖形處理單元 (GPU) 來渲染圖形,但在無頭環境中,GPU 的使用受到限制或不存在。我們的開發人員仍在研究這一可能性。如果您想在得出結論後收到通知,請聯繫 support@ironsoftware.com

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。