IRONSOFTWAREHOME
产品比较

在ASP.NET MVC中生成PDF:iTextSharp vs. IronPDF指南

Curtis Chau
Curtis Chau
Updated: 2026年7月5日

交互地图、3D仪表板和使用WebGL构建的模型查看器在浏览器中看起来很棒,但利害关系者通常需要一个固定的、可共享的版本:报告中的地图快照、审批包中的3D设计、存档中的模拟结果。IronPDF在C#中将GPU加速的WebGL内容捕获为静态PDF,保留场景在渲染时的视觉状态。

业务问题

一个物流工具在Mapbox地图上显示路线,一个房地产应用程序显示3D地形,一个工程应用程序在浏览器中渲染CAD模型。 每个都需要一个PDF版本作为报告、记录或对无法访问实时应用程序的收件人的文档。 普通截图质量低并且需要手动操作,而标准的HTML到PDF渲染无法捕获依赖于GPU的WebGL。

配置渲染

WebGL捕获需要三个设置:单进程模式、硬件GPU模式和延迟,以便场景在捕获前完成渲染。

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");
C#

结果捕获地图、图表或模型的确切外观,适用于文档、报告和存档。

需要计划的要点

此功能具有真实环境要求,它们决定是否适合特定部署。

  • 需要真实GPU: 硬件GPU模式是必需的。 软件渲染无法处理着色器、纹理和3D转换,因此主机需要兼容的GPU和当前的驱动程序。
  • 不支持Docker: 标准Docker容器中无法进行WebGL渲染,因为它们无头且GPU访问有限。 解决方法是使用启用GPU的VM或专用服务器,在GPU主机上运行的微服务,或将场景预渲染为静态图像。
  • 输出是快照: PDF保存了渲染时的视觉状态。平移、缩放和其他交互性未保留,这使其更适合文档和存档,而不是交互式传递。
  • 调整渲染延迟: 复杂场景需要时间加载。 测试3000至10000毫秒之间的值是合理的范围,因为太短会截断渲染,太长会浪费时间。
  • 单进程模式是全局的: 这是必需的,但会影响并发性,这在高负载服务中值得权衡。

结果

启用GPU模式和适当的主机后,团队可以将实时WebGL地图、仪表板和3D模型转换为静态PDF,以供报告和存档。 完整的配置和故障排除步骤请参见WebGL渲染指南

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户