IRONSOFTWAREHOME
產品比較

Ghostscript GPL vs IronPDF:技術比較指南

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

企業應用程式從HTML生成PDF通常在封閉的網路中運行,沒有直接的網路連接。 問題出現在呈現時:發票或報告範本引用了託管在外部CDN上的logo、網頁字體或樣式表,而在公司網路中,這些請求會默默失敗。 文件呈現出沒有樣式,圖像損壞且字體丟失。 透過公司代理路由渲染引擎可以解決這個問題,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");

對於需要身份驗證的代理,憑證會放在代理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);

在代理後面渲染內部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");

需要計劃的要點

  • 代理身份驗證不是頁面身份驗證:代理URL中的憑證用於代理身份驗證,這與網站登入憑證不同。
  • 協議指的是代理跳躍:一個https://資源,因此協議選擇是關於應用程式到代理連接是否需要TLS。
  • 容器和管道: Docker部署和CI構建代理通常沒有出口,因此相同的代理配置適用於此。

結果

通過一個參數,團隊就可以從運行在公司代理後面的應用程式中獲得完全風格化和品牌化的PDF,包括需要身份驗證的環境和容器。 完整的配置詳情請參見代理指南。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。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的客戶標誌
獲取您的無義務諮詢
您的詳細資訊將始終保密。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
受到全球數百萬工程師的信任
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.10

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起