WebGLサイトをレンダリングする方法

Chaknith related to WebGLサイトをレンダリングする方法
チャクニット・ビン
2024年7月4日
更新済み 2024年12月10日
共有:
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は、MapboxWebGL Samples collectionなど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");

PDFを出力

現在、DockerセットアップでWebGLをレンダリングすることはできません。DockerでWebGLをレンダリングするのは難しい場合があります。なぜなら、Dockerコンテナは通常GUIがないヘッドレス環境だからです。 WebGLはグラフィックスをレンダリングするためにGPUへのアクセスに依存していますが、ヘッドレス環境ではGPUへのアクセスが制限されているか、存在しません。 私たちの開発者は、現在この可能性を調査中です。 結論が出たら通知を受け取りたい場合は、support@ironsoftware.comまでご連絡ください。

Chaknith related to PDFを出力
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。