Altbilgi içeriğine atla
ÜRüN KARşıLAşTıRMALARı

ASP.NET MVC'de PDF oluştur: iTextSharp vs. IronPDF Rehberi

WebGL ile oluşturulan interaktif haritalar, 3D panolar ve model görüntüleyiciler tarayıcıda harika görünür, ancak paydaşlar genellikle sabit, paylaşılabilir bir sürüme ihtiyaç duyar: bir raporda harita anlık görüntüsü, onay paketinde 3D tasarım, arşivde bir simülasyon sonucu. IronPDF, GPU hızlandırmalı WebGL içeriğini C#'ta statik bir PDF olarak yakalayarak sahnenin görsel durumunu o anda korur.

İş Problemi

Bir lojistik aracı, Mapbox haritasında rotaları gösterir, bir gayrimenkul uygulaması 3D araziyi görüntüler, bir mühendislik uygulaması tarayıcıda CAD modelini render yapar. Her biri rapor için, kayıt için veya canlı uygulamaya erişimi olmayan bir alıcı için bir PDF sürümüne ihtiyaç duyar. Normal bir ekran görüntüsü düşük kalitededir ve manuel olarak yapılır ve standart HTML'den PDF'e dönüştürme, GPU'ya bağlı olan WebGL'yi yakalamaz.

Render'ı Yapılandırma

WebGL yakalama üç ayar gerektirir: tek işlem modu, donanım GPU modu ve sahne yakalanmadan önce render işleminin bitmesi için bir gecikme.

using IronPdf;

// Required for WebGL: GPU operations must complete in one process
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Give the 3D scene time to load and render
renderer.RenderingOptions.WaitFor.RenderDelay(5000);

PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");
pdf.SaveAs("webgl.pdf");
using IronPdf;

// Required for WebGL: GPU operations must complete in one process
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Give the 3D scene time to load and render
renderer.RenderingOptions.WaitFor.RenderDelay(5000);

PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");
pdf.SaveAs("webgl.pdf");
Imports IronPdf

' Required for WebGL: GPU operations must complete in one process
IronPdf.Installation.SingleProcess = True
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware

Dim renderer As New ChromePdfRenderer()

' Give the 3D scene time to load and render
renderer.RenderingOptions.WaitFor.RenderDelay(5000)

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/")
pdf.SaveAs("webgl.pdf")
$vbLabelText   $csharpLabel

Sonuç, harita, grafik veya modeli tam olarak göründüğü gibi yakalar, belgeler, raporlar ve arşivleme için uygundur.

Planlanması Gereken Noktalar

Bu özellik gerçek ortam gereksinimlerini taşır ve belirli bir dağıtım için uygun olup olmadığını onlar belirler.

  • Gerçek bir GPU gereklidir: Donanım GPU modu zorunludur. Yazılım render'ı, shader'ları, dokuları ve 3D dönüşümleri işleyemez, bu yüzden ana bilgisayarın güncel sürücülerle uyumlu bir GPU'ya ihtiyacı vardır.
  • Docker desteklenmez: WebGL render'ı, başsız ve sınırlı GPU erişimine sahip standart Docker konteynerlerinde çalışmaz. Çözüm yolları, VM veya özel GPU desteğine sahip sunucu, GPU ana bilgisayarında çalışan bir mikro hizmet veya sahneleri statik görüntülere önceden render etmektir.
  • Çıktı bir anlık görüntüdür: PDF, render zamanı görsel durumunu korur. Panoramik gezinti, yakınlaştırma ve diğer etkileşimler tutulmaz, bu nedenle etkileşimli teslimattan ziyade dokümantasyon ve arşivleme için uygundur.
  • Render gecikmesini ayarlayın: Karmaşık sahnelerin yüklenmesi zaman alır. 3000 ile 10000 milisaniye arasındaki değerler, test için makul bir aralığı temsil eder çünkü çok kısa olan render'ı keser ve çok uzun olan süre israf eder.
  • Tek işlem modu küreseldir: Burada gereklidir ancak eşzamanlılığı etkiler, yüksek hacimli bir hizmette değerlendirilmesi gerektiğine değer.

Sonuç

GPU modu etkinleştirilmiş ve uygun bir ana bilgisayarla, ekipler canlı WebGL haritalarını, panolarını ve 3D modelleri, raporlar ve arşivlerinde kullanılacak statik PDF'lere dönüştürür. Tam yapılandırma ve sorun giderme adımları WebGL render kılavuzunda yer almaktadır.

Sıkça Sorulan Sorular

IronPDF'i WebGL içeriğini render etmek için kullanmanın amacı nedir?

IronPDF, C# içinde GPU hızlandırmalı WebGL haritalarını, 3D panelleri ve model görüntüleyicilerini statik PDF'ler olarak yakalamak için kullanılır. Bu, raporlar, onaylar ve arşivler için paylaşılabilir sabit sürümler oluşturmak için gereklidir.

WebGL içeriği için standart HTML-to-PDF render'ı neden kullanılamaz?

Standart HTML-to-PDF render'ı, işlem için GPU'ya güvendiğinden WebGL içeriğini yakalayamaz. IronPDF'in çözümü, bu karmaşık sahneleri doğru bir şekilde yakalamak için GPU hızlandırmalı render'ı içerir.

IronPDF ile WebGL render için gerekli yapılandırmalar nelerdir?

IronPDF ile WebGL içeriğini render etmek için tek-işlemci modu ve donanım GPU modunu etkinleştirmeniz ve sahnenin tamamen yüklenmesi için bir render gecikmesi eklemeniz gerekir.

WebGL içeriğini IronPDF ile render etmek için neden gerçek bir GPU gereklidir?

Donanım GPU modu, gölgeleyiciler, dokular ve 3D dönüşümleri işlemek için gerektiği için gerçek bir GPU gereklidir. Yazılım render'ı bu elementleri etkili bir şekilde işleyemez.

Docker kullanarak IronPDF ile WebGL içeriğini render edebilir miyim?

Hayır, Docker başsız ve sınırlı GPU erişimine sahip olduğundan desteklenmez. Alternatifleri bir VM, özel GPU özellikli bir sunucu veya sahneleri statik görüntülere önceden render etmeyi içerir.

WebGL içeriğinin IronPDF ile render edilmesi sonucu nasıl görünür?

Çıktı, render anındaki WebGL sahnesinin görsel durumunu koruyan statik bir PDF anlık görüntüsüdür. Belgelendirme ve arşivleme için uygundur, ancak kaydırma veya yakınlaştırma gibi interaktif özellikler taşımaz.

WebGL içeriği için render gecikmesini nasıl ayarlamalıyım?

Render gecikmesi, sahnenin karmaşıklığına bağlı olarak 3000 ile 10000 milisaniye arasında ayarlanmalıdır. Bu, sahnenin yavaşlamadan yüklenmesi için yeterli süre sağlar.

Tek-işlemci modunu etkinleştirmek ne gibi bir etki yapar?

Tek-işlemci modunun etkinleştirilmesi, WebGL render için gereklidir ancak eşzamanlılık üzerinde etkili olabilir. Bu, özellikle yüksek hacimli servislerde dikkate alınmalıdır.

IronPDF'i WebGL render için yapılandırma hakkında daha fazla bilgiyi nerede bulabilirim?

Tam yapılandırma ve sorun giderme adımları, IronPDF web sitesinde mevcut olan WebGL render rehberinde bulunabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara