Przejdź do treści stopki
PORóWNANIA PRODUKTóW

iTextSharp: Dodaj obraz do PDF

RenderHtmlFileAsPdf robi jedno: pobiera plik HTML z dysku i renderuje go do PDF-a za pomocą silnika Chrome. Co wyświetla się poprawnie w Chrome, trafia poprawnie do dokumentu, z pełnym wsparciem dla CSS3, JavaScript, obrazów i czcionek. Jedynym liczącym się rozroznieniem jest wejście. Ta metoda czyta plik, wiec względne ścieżki do zasobów (logotypy, arkusze stylów, czcionki) rozwiazuja się z lokalizacji samego pliku, nie potrzeba bazowego URL-a. To decyduje, gdzie to najlepiej pasuje.

Tworzenie dokumentów oparte na szablonach

Przechowuj szablon HTML w swoim projekcie (faktura, oferta, certyfikat, kontrakt), uzupełniaj go, zapisz na dysku i renderuj:

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
        .SaveAs("invoice-1042.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
        .SaveAs("invoice-1042.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html").SaveAs("invoice-1042.pdf")
$vbLabelText   $csharpLabel

Ponieważ źródłem jest prawdziwy plik, ./logo.png i styles.css rozwiązują się naturalnie razem z nim.

Renderowanie wyjściowego i statycznie ulozonego serwisu

Generatory stron statycznych, potoki Markdown i narzędzia do tworzenia dokumentacji wszyscy produkują pliki HTML. Wskaz IronPDF na wyjście, aby zamienić opublikowaną stronę w archiwalny plik PDF, bez potrzeby ponownego pobierania go przez HTTP.

Układy autorskie projektu

Projektant przekazuje kompletny plik HTML i CSS; renderujesz go takim jaki jest. Chrome napedza konwersje, wiec przeglad interfejsu projektanta w przegladarce odpowiada PDF-owi, co eliminuje calą klase sporów "wygladało dobrze przy projekcie".

Przetwarzanie wsadowe folderu

Metoda jest jedno wywolanie na plik, wiec konwersja katalogu z raportami lub materiałami do rozdania to krotka petla:

var renderer = new ChromePdfRenderer();

foreach (string file in Directory.GetFiles("reports", "*.html"))
{
    string output = Path.ChangeExtension(file, ".pdf");
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}
var renderer = new ChromePdfRenderer();

foreach (string file in Directory.GetFiles("reports", "*.html"))
{
    string output = Path.ChangeExtension(file, ".pdf");
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}
Imports System.IO
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

For Each file As String In Directory.GetFiles("reports", "*.html")
    Dim output As String = Path.ChangeExtension(file, ".pdf")
    renderer.RenderHtmlFileAsPdf(file).SaveAs(output)
Next
$vbLabelText   $csharpLabel

Offline i odizolwane renderowanie

Ponieważ odczytuje z lokalnego systemu plików, a nie z URL-a, dziala tam, gdzie nie ma uslug sieciowych: bezpieczne back-endy, CI runners, wdrozenia on-premise. HTML i jego zasoby muszą być dostępne tylko na maszynie.

Sprawdzanie szablonów emaili

Zespoły przechowujące szablony powiadomień lub wiadomości e-mail jako pliki HTML mogą renderować je do PDF do przeglądu, zatwierdzenia lub archiwizacji, bez konieczności uruchamiania serwera, aby je zobaczyć.

Praktyczna zasada

IronPDF oferuje trzy punkty wejściowe, a wybór niewłaściwego jest najczęstszym źródłem zepsutych zasobów:

  • RenderHtmlFileAsPdf odczytuje plik z dysku; relatywne zasoby rozwiązują się z lokalizacji pliku.
  • RenderHtmlAsPdf pobiera łańcuch HTML z pamięci; zwykle ustawiasz podstawowy adres URL, aby rozwiązać zasoby.
  • RenderUrlAsPdf pobiera przez HTTP, i w tym miejscu stosuje się uwierzytelnianie, ciasteczka i loginy.

Sięgnij po metodę plikową, kiedy Twój HTML już istnieje jako plik. Skonfiguruj dane wyjściowe za pomocą RenderingOptions przed renderowaniem i najpierw zweryfikuj stronę w Chrome; jeśli tam się renderuje, to renderuje się w PDF-ie.

Często Zadawane Pytania

Jaka jest różnica między RenderHtmlFileAsPdf, RenderHtmlAsPdf i RenderUrlAsPdf?

RenderHtmlFileAsPdf odczytuje plik HTML z dysku; względne ścieżki do zasobów są rozwiązywane z lokalizacji samego pliku. RenderHtmlAsPdf przyjmuje łańcuch HTML w pamięci i zazwyczaj wymaga podstawowego URL-a dla zasobów. RenderUrlAsPdf pobiera aktywny URL przez HTTP i tutaj stosowane są autoryzacja i ciasteczka.

Czy muszę ustawić podstawowy URL przy używaniu RenderHtmlFileAsPdf?

Nie. Ponieważ metoda odczytuje rzeczywisty plik z dysku, względne ścieżki takie jak ./logo.png i styles.css są automatycznie rozwiązywane z katalogu pliku HTML. Nie jest wymagana konfiguracja podstawowego URL-a.

Czy mogę użyć RenderHtmlFileAsPdf w środowisku offline lub odizolowanym?

Tak. Metoda odczytuje z lokalnego systemu plików zamiast pobierać przez HTTP, więc działa w środowiskach bez dostępu do sieci, w tym w zabezpieczonych backendach, CI runnerach i wdrożeniach na miejscu.

Jak wsadowo przekonwertować folder plików HTML na PDF za pomocą IronPDF?

Iteruj pliki za pomocą Directory.GetFiles i wywołaj RenderHtmlFileAsPdf raz na plik. Ponownie użyj pojedynczej instancji ChromePdfRenderer w pętli, aby współdzielić kontekst przeglądarki.

Czy PDF wygląda dokładnie tak, jak w Chrome?

IronPDF używa pełnego silnika Chromium do renderowania, więc wynik będzie zgodny z podglądem przeglądarki Chrome dla tego samego pliku HTML. Zweryfikuj stronę w Chrome najpierw — jeśli renderuje się poprawnie, to PDF również będzie się poprawnie renderował.

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ę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie