IRONSOFTWAREHOME
产品比较

Ghostscript GPL 与 IronPDF:技术比较指南

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

企业应用程序通过HTML生成PDF通常在内部网络中运行,而没有直接连接互联网的路径。 问题出现在呈现时:发票或报告模板引用托管在外部CDN上的徽标、网络字体或样式表,而在内部网络中,这些请求会默默失败。 文档出来时没有样式,图像损坏且字体缺失。 通过公司代理路由渲染引擎可以解决此问题,而IronPDF在其渲染调用中直接接受代理。

业务问题

金融、医疗或保险应用程序从网络模板生成客户文档。 这些模板提取外部资产,但服务器位于防火墙和代理之后。 如果没有代理配置,渲染引擎无法访问这些资产,因此输出看起来是损坏的。 许多这样的环境还运行经过身份验证的代理,这为需求增加了凭据。

解决方案

代理是RenderHtmlAsPdf方法中的参数,而不是渲染选项的属性。 传递代理字符串通过该代理路由引擎的所有资产请求。

using IronPdf;

var renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf(
    htmlContent,
    baseUrlOrPath: @"C:\templates\assets\",
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("report.pdf");
C#

对于认证代理,凭据放在代理URL中。 密码中的特殊字符必须进行百分比编码。

string encoded = Uri.EscapeDataString("P@ssw0rd!");
string proxy = $"http://svc-account:{encoded}@proxy.co/rp.local:8080";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent, baseUrlOrPath: null, proxy: proxy);
C#

在代理后渲染内部URL

URL渲染方法不接受代理参数。 实际模式是使用为代理配置的HttpClient来获取HTML,然后渲染该HTML,这样引用的资产也通过代理路由。

using System.Net;
using System.Net.Http;

var webProxy = new WebProxy("http://proxy.co/rp.local:8080")
{
    Credentials = new NetworkCredential("svc-account", "P@ssw0rd!")
};
var handler = new HttpClientHandler { Proxy = webProxy, UseProxy = true };
using var httpClient = new HttpClient(handler);

string html = await httpClient.GetStringAsync("https://dashboard.internal.co/rp/report");
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, baseUrlOrPath: null, proxy: "http://proxy.co/rp.local:8080");
C#

需要计划的要点

  • **代理认证不是页面认证:**代理URL中的凭据是针对代理进行认证的,这与网站登录凭据不同。
  • 方案指的是代理跳跃:https://资源,因此方案选择是关于应用程序到代理连接是否需要TLS。
  • **容器和管道:**Docker部署和CI构建代理通常没有出口,因此同样的代理配置也适用于这些情况。

结果

通过一个参数,团队可以从运行在公司代理后的应用程序中获得完全样式化的品牌PDF,包括经过认证的环境和容器。 完整的配置细节可以在代理指南中找到。

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 天试用密钥
无需信用卡或创建账户