IRONSOFTWAREHOME
PORÓWNANIA PRODUKTÓW

Ghostscript GPL vs IronPDF: Techniczne porównanie przewodnika

Curtis Chau
Curtis Chau
Updated: 5 lipca 2026

Aplikacje Enterprise, które generują pliki PDF z HTML, często działają w izolowanych sieciach bez bezpośredniego dostępu do internetu. Problem pojawia się w momencie renderowania: szablon faktury lub raportu odwołuje się do logo, czcionki sieciowej lub arkusza stylów hostowanego na zewnętrznym CDN, a wewnątrz sieci korporacyjnej te żądania kończą się niepowodzeniem w sposób niejawny. Dokument zostaje wygenerowany bez stylu, z uszkodzonymi obrazami i brakującymi czcionkami. Przekierowanie silnika renderowania przez firmowy serwer proxy rozwiązuje ten problem, a IronPDF akceptuje proxy bezpośrednio w swoim wywołaniu renderowania.

Problem biznesowy

Aplikacja finansowa, zdrowotna lub ubezpieczeniowa tworzy dokumenty klienckie z szablonów internetowych. Te szablony pobierają zasoby zewnętrzne, ale serwer znajduje się za zaporą ogniową i proxy. Bez konfiguracji proxy, silnik nie może sięgnąć zasobów, więc wynik wygląda na uszkodzony. Wiele z tych środowisk działa również z uwierzytelnionymi serwerami proxy, co dodaje do wymagań kredencje.

Rozwiązanie

Proxy to parametr w metodzie RenderHtmlAsPdf, a nie właściwość opcji renderowania. Przekazanie ciągu proxy kieruje wszystkie żądania zasobów z silnika przez to proxy.

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#

Dla uwierzytelnionego proxy, dane uwierzytelniające znajdują się w URL proxy. Specjalne znaki w haśle muszą być zakodowane procentowo.

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#

Renderowanie wewnętrznych adresów URL za proxy

Metoda renderowania URL nie akceptuje parametru proxy. Praktycznym wzorcem jest pobranie HTML przy użyciu HttpClient skonfigurowanego dla proxy, a następnie renderowanie tego HTML, aby zasoby referencyjne również były kierowane przez proxy.

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#

Punkty do zaplanowania

  • Autoryzacja proxy to nie autoryzacja strony: Dane uwierzytelniające w URL proxy uwierzytelniają się w proxy, co różni się od danych logowania do strony internetowej.
  • Schemat odnosi się do przeskoku przez proxy: Proxy http:// nadal może pobrać zasoby https://, więc wybór schematu dotyczy tego, czy połączenie aplikacja-proxy wymaga TLS.
  • Kontenery i potoki: Wdrożenia Dockera i agenci budowania CI zazwyczaj nie mają wyjścia, więc taka sama konfiguracja proxy obowiązuje w tym przypadku.

Wynik

Za pomocą jednego parametru zespoły mogą uzyskać w pełni stylizowane, markowe pliki PDF z aplikacji działających za firmowym proxy, wliczając uwierzytelnione środowiska i kontenery. Pełne szczegóły konfiguracji znajdują się w przewodniku proxy.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta